From gerrit-no-reply at lists.osmocom.org Wed Apr 1 07:30:17 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 1 Apr 2020 07:30:17 +0000 Subject: Change in pysim[master]: Move parsing of PLMNwAcT to generic Card class In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17661 ) Change subject: Move parsing of PLMNwAcT to generic Card class ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17661/1/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/17661/1/pySim/cards.py at 101 PS1, Line 101: if sw == '9000': > I think many of these methods are very similar. See e.g. read_spn, read_git1, read_git2, etc. below. [?] for PLMNwAcT there is further processing required (the same for OPLMNwAcT, HPLMNwAcT), so is it still valid to use generic method? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I14d7c2dc51fac6d5cf4a708a77ad23d252ba6094 Gerrit-Change-Number: 17661 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 07:30:17 +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 Wed Apr 1 07:34:59 2020 From: gerrit-no-reply at lists.osmocom.org (miaoski) Date: Wed, 1 Apr 2020 07:34:59 +0000 Subject: Change in pysim[master]: pySim-prog.py: check whether IMSI and PLMN matches References: Message-ID: miaoski has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17694 ) Change subject: pySim-prog.py: check whether IMSI and PLMN matches ...................................................................... pySim-prog.py: check whether IMSI and PLMN matches PLMN derived with -x and -y should match the beginning of IMSI. Change-Id: Ic7e98b827f32f8d59d346ceac0d2d215e0180109 --- M pySim-prog.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/94/17694/1 diff --git a/pySim-prog.py b/pySim-prog.py index e3045a6..66fd1f8 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -324,6 +324,8 @@ imsi = opts.imsi if not _isnum(imsi): raise ValueError('IMSI must be digits only !') + if not imsi.startswith(plmn_digits): + raise ValueError('IMSI mismatches with PLMN !') else: if opts.num is None: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17694 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic7e98b827f32f8d59d346ceac0d2d215e0180109 Gerrit-Change-Number: 17694 Gerrit-PatchSet: 1 Gerrit-Owner: miaoski Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 07:37:20 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 1 Apr 2020 07:37:20 +0000 Subject: Change in pysim[master]: Use the generic method read_record of card class to read SMSP In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/17658 to look at the new patch set (#2). Change subject: Use the generic method read_record of card class to read SMSP ...................................................................... Use the generic method read_record of card class to read SMSP Change-Id: I911c5339a739fbdd9d41e61b63f2410c8358815b --- M pySim-read.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/58/17658/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17658 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I911c5339a739fbdd9d41e61b63f2410c8358815b Gerrit-Change-Number: 17658 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth 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 Apr 1 07:37:22 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 1 Apr 2020 07:37:22 +0000 Subject: Change in pysim[master]: cards.py: Add generic function to read EF record in card class References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17696 ) Change subject: cards.py: Add generic function to read EF record in card class ...................................................................... cards.py: Add generic function to read EF record in card class This is a generic function applicable for reading EF records which doesnt require further processing such EF.SMSP etc while decoding and also to avoid code duplication. Change-Id: Ic0b4aa11e962b4bb328447b11533136a29ff72d3 --- M pySim/cards.py 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/96/17696/1 diff --git a/pySim/cards.py b/pySim/cards.py index 7d3b7b4..c702608 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -149,6 +149,10 @@ ef_path = ef in EF and EF[ef] or ef return self._scc.read_binary(ef_path, length, offset) + def read_record(self, ef, rec_no): + ef_path = ef in EF and EF[ef] or ef + return self._scc.read_record(ef_path, rec_no) + def read_gid1(self): (res, sw) = self._scc.read_binary(EF['GID1']) if sw == '9000': -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17696 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic0b4aa11e962b4bb328447b11533136a29ff72d3 Gerrit-Change-Number: 17696 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 07:37:23 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 1 Apr 2020 07:37:23 +0000 Subject: Change in pysim[master]: Use read_binary function of card class to read GID2 and reduce code d... References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17697 ) Change subject: Use read_binary function of card class to read GID2 and reduce code duplication ...................................................................... Use read_binary function of card class to read GID2 and reduce code duplication Change-Id: I5d80fcc1446a6691b8e2a09bcec558148fa31ab2 --- M pySim-read.py M pySim/cards.py 2 files changed, 1 insertion(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/97/17697/1 diff --git a/pySim-read.py b/pySim-read.py index cd82498..f167bce 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -124,7 +124,7 @@ # EF.GID2 try: - (res, sw) = card.read_gid2() + (res, sw) = card.read_binary('GID2') if sw == '9000': print("GID2: %s" % (res,)) else: diff --git a/pySim/cards.py b/pySim/cards.py index c702608..d3b6262 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -160,13 +160,6 @@ else: return (None, sw) - def read_gid2(self): - (res, sw) = self._scc.read_binary(EF['GID2']) - if sw == '9000': - return (res, sw) - else: - return (None, sw) - # Read the (full) AID for either ISIM or USIM application def read_aid(self, isim = False): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17697 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5d80fcc1446a6691b8e2a09bcec558148fa31ab2 Gerrit-Change-Number: 17697 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 07:37:20 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 1 Apr 2020 07:37:20 +0000 Subject: Change in pysim[master]: Use the generic method read_binary of card class to read PLMNsel 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/+/17660 to look at the new patch set (#2). Change subject: Use the generic method read_binary of card class to read PLMNsel ...................................................................... Use the generic method read_binary of card class to read PLMNsel Change-Id: I0a683c479cd41ccc6a93c23434c73793cb5dc186 --- M pySim-read.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/60/17660/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0a683c479cd41ccc6a93c23434c73793cb5dc186 Gerrit-Change-Number: 17660 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth 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 Wed Apr 1 07:37:22 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 1 Apr 2020 07:37:22 +0000 Subject: Change in pysim[master]: cards.py: Add generic function to read EF binary to card class References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17695 ) Change subject: cards.py: Add generic function to read EF binary to card class ...................................................................... cards.py: Add generic function to read EF binary to card class This is a generic function applicable for reading EFs which doesnt require further processing such as GID1, GID2 etc while decoding and also to avoid code duplication. Change-Id: If3d8fdddb26f9776c89fd442d1d95b83e0d1476b --- M pySim/cards.py 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/95/17695/1 diff --git a/pySim/cards.py b/pySim/cards.py index 495d3ee..7d3b7b4 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -145,6 +145,10 @@ data, sw = self._scc.update_binary(EF['SPN'], rpad(content, 32)) return sw + def read_binary(self, ef, length=None, offset=0): + ef_path = ef in EF and EF[ef] or ef + return self._scc.read_binary(ef_path, length, offset) + def read_gid1(self): (res, sw) = self._scc.read_binary(EF['GID1']) if sw == '9000': -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17695 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If3d8fdddb26f9776c89fd442d1d95b83e0d1476b Gerrit-Change-Number: 17695 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 07:43:09 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 1 Apr 2020 07:43:09 +0000 Subject: Change in pysim[master]: Move parsing of GID2 to generic Card class In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17657 ) Change subject: Move parsing of GID2 to generic Card class ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17657/1/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/17657/1/pySim/cards.py at 155 PS1, Line 155: def read_gid2(self): > totally make sense. [?] I am addressing this in the commit "17697: Use read_binary function of card class to read GID2 and reduce code duplication". The reason for addressing this is another commit is because rebasing, splitting into multiple commits, re-ordering and then pushing to Gerrit caused some issues before. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3fe4b08c888a39cda7e7fce7a467f17908bdc3ad Gerrit-Change-Number: 17657 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 07:43:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: herlesupreeth Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 08:17:45 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 1 Apr 2020 08:17:45 +0000 Subject: Change in pysim[master]: pySim-prog.py: check whether IMSI and PLMN matches In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17694 ) Change subject: pySim-prog.py: check whether IMSI and PLMN matches ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17694 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic7e98b827f32f8d59d346ceac0d2d215e0180109 Gerrit-Change-Number: 17694 Gerrit-PatchSet: 1 Gerrit-Owner: miaoski Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 01 Apr 2020 08:17: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 Apr 1 08:52:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 08:52:11 +0000 Subject: Change in pysim[master]: Move parsing of PLMNwAcT to generic Card class In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17661 ) Change subject: Move parsing of PLMNwAcT to generic Card class ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17661/1/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/17661/1/pySim/cards.py at 101 PS1, Line 101: if sw == '9000': > for PLMNwAcT there is further processing required (the same for OPLMNwAcT, HPLMNwAcT), so is it stil [?] oh, sorry, I didin't see the format_xplmn_w_act() function. nevermind for this one then. If you like the idea, you mihgt want to implement a dictionary of 'transform' functions. So that you hav a generic methid like read('PLMNwAcT') which then does the _scc.read_binary(EF['PLMNwAcT]), contains the if-clause and in case of success (90000) checks if the dict has an entry for 'PLMNwAcT'. If yes, it could call the function reference in that dict, and return. That way we save all this copy+paste boilerplate code. But not required, this is just an idea... -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I14d7c2dc51fac6d5cf4a708a77ad23d252ba6094 Gerrit-Change-Number: 17661 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 08:52:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: herlesupreeth Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 08:52:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 08:52:38 +0000 Subject: Change in pysim[master]: Move parsing of GID2 to generic Card class In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17657 ) Change subject: Move parsing of GID2 to generic Card class ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3fe4b08c888a39cda7e7fce7a467f17908bdc3ad Gerrit-Change-Number: 17657 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 08:52: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 Apr 1 08:53:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 08:53:18 +0000 Subject: Change in pysim[master]: Use the generic method read_record of card class to read SMSP In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17658 ) Change subject: Use the generic method read_record of card class to read SMSP ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17658 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I911c5339a739fbdd9d41e61b63f2410c8358815b Gerrit-Change-Number: 17658 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 08:53: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 Apr 1 08:53:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 08:53:37 +0000 Subject: Change in pysim[master]: cards.py: Add generic function to read EF binary to card class In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17695 ) Change subject: cards.py: Add generic function to read EF binary to card class ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17695 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If3d8fdddb26f9776c89fd442d1d95b83e0d1476b Gerrit-Change-Number: 17695 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 08:53: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 Apr 1 08:53:47 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 1 Apr 2020 08:53:47 +0000 Subject: Change in osmo-gsm-tester[master]: Introduce support for AmarisoftEPC In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690 ) Change subject: Introduce support for AmarisoftEPC ...................................................................... Patch Set 1: Code-Review+1 (4 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690/1/example/defaults.conf File example/defaults.conf: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690/1/example/defaults.conf at 101 PS1, Line 101: rlc_drb_mode: UM I think this should be renamed to qci or default_bearer_qci and put up under epc, it's common to srsepc and amarisoft epc https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690/1/example/defaults.conf at 105 PS1, Line 105: license_server_addr: 10.12.1.139 see discussion around Amarisoft ENB and license server option, I guess it should be "" by default https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690/1/src/osmo_gsm_tester/amarisoft_epc.py File src/osmo_gsm_tester/amarisoft_epc.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690/1/src/osmo_gsm_tester/amarisoft_epc.py at 26 PS1, Line 26: #def rlc_drb_mode2qci(rlc_drb_mode): remove this lookup, user should provide the qci value in config, by default 9 can be used https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690/1/src/osmo_gsm_tester/amarisoft_epc.py at 152 PS1, Line 152: #rlc_drb_mode = values['epc'].get('rlc_drb_mode', None) remove -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690 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: Ia50ea6a74b63b2d688c8d683aea11416ad40a6d3 Gerrit-Change-Number: 17690 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 01 Apr 2020 08:53:47 +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 Apr 1 08:53:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 08:53:54 +0000 Subject: Change in pysim[master]: cards.py: Add generic function to read EF record in card class In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17696 ) Change subject: cards.py: Add generic function to read EF record in card class ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17696 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic0b4aa11e962b4bb328447b11533136a29ff72d3 Gerrit-Change-Number: 17696 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 08: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 Wed Apr 1 08:54:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 08:54:07 +0000 Subject: Change in pysim[master]: Use read_binary function of card class to read GID2 and reduce code d... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17697 ) Change subject: Use read_binary function of card class to read GID2 and reduce code duplication ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17697 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5d80fcc1446a6691b8e2a09bcec558148fa31ab2 Gerrit-Change-Number: 17697 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 08:54: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 Apr 1 08:54:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 08:54:49 +0000 Subject: Change in pysim[master]: Use the generic method read_binary of card class to read PLMNsel In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17660 ) Change subject: Use the generic method read_binary of card class to read PLMNsel ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0a683c479cd41ccc6a93c23434c73793cb5dc186 Gerrit-Change-Number: 17660 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 08:54: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 Apr 1 08:54:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 08:54:52 +0000 Subject: Change in pysim[master]: Move parsing of GID2 to generic Card class In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17657 ) Change subject: Move parsing of GID2 to generic Card class ...................................................................... Move parsing of GID2 to generic Card class Change-Id: I3fe4b08c888a39cda7e7fce7a467f17908bdc3ad --- M pySim-read.py M pySim/cards.py 2 files changed, 8 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index 083f91b..cd82498 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -124,7 +124,7 @@ # EF.GID2 try: - (res, sw) = scc.read_binary(EF['GID2']) + (res, sw) = card.read_gid2() if sw == '9000': print("GID2: %s" % (res,)) else: diff --git a/pySim/cards.py b/pySim/cards.py index 61a3707..495d3ee 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -152,6 +152,13 @@ else: return (None, sw) + def read_gid2(self): + (res, sw) = self._scc.read_binary(EF['GID2']) + if sw == '9000': + return (res, sw) + else: + return (None, sw) + # Read the (full) AID for either ISIM or USIM application def read_aid(self, isim = False): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3fe4b08c888a39cda7e7fce7a467f17908bdc3ad Gerrit-Change-Number: 17657 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 08:54:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 08:54:52 +0000 Subject: Change in pysim[master]: cards.py: Add generic function to read EF binary to card class In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17695 ) Change subject: cards.py: Add generic function to read EF binary to card class ...................................................................... cards.py: Add generic function to read EF binary to card class This is a generic function applicable for reading EFs which doesnt require further processing such as GID1, GID2 etc while decoding and also to avoid code duplication. Change-Id: If3d8fdddb26f9776c89fd442d1d95b83e0d1476b --- M pySim/cards.py 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/cards.py b/pySim/cards.py index 495d3ee..7d3b7b4 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -145,6 +145,10 @@ data, sw = self._scc.update_binary(EF['SPN'], rpad(content, 32)) return sw + def read_binary(self, ef, length=None, offset=0): + ef_path = ef in EF and EF[ef] or ef + return self._scc.read_binary(ef_path, length, offset) + def read_gid1(self): (res, sw) = self._scc.read_binary(EF['GID1']) if sw == '9000': -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17695 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If3d8fdddb26f9776c89fd442d1d95b83e0d1476b Gerrit-Change-Number: 17695 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth 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 Apr 1 08:54:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 08:54:52 +0000 Subject: Change in pysim[master]: cards.py: Add generic function to read EF record in card class In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17696 ) Change subject: cards.py: Add generic function to read EF record in card class ...................................................................... cards.py: Add generic function to read EF record in card class This is a generic function applicable for reading EF records which doesnt require further processing such EF.SMSP etc while decoding and also to avoid code duplication. Change-Id: Ic0b4aa11e962b4bb328447b11533136a29ff72d3 --- M pySim/cards.py 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/cards.py b/pySim/cards.py index 7d3b7b4..c702608 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -149,6 +149,10 @@ ef_path = ef in EF and EF[ef] or ef return self._scc.read_binary(ef_path, length, offset) + def read_record(self, ef, rec_no): + ef_path = ef in EF and EF[ef] or ef + return self._scc.read_record(ef_path, rec_no) + def read_gid1(self): (res, sw) = self._scc.read_binary(EF['GID1']) if sw == '9000': -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17696 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic0b4aa11e962b4bb328447b11533136a29ff72d3 Gerrit-Change-Number: 17696 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth 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 Apr 1 08:54:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 08:54:53 +0000 Subject: Change in pysim[master]: Use read_binary function of card class to read GID2 and reduce code d... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17697 ) Change subject: Use read_binary function of card class to read GID2 and reduce code duplication ...................................................................... Use read_binary function of card class to read GID2 and reduce code duplication Change-Id: I5d80fcc1446a6691b8e2a09bcec558148fa31ab2 --- M pySim-read.py M pySim/cards.py 2 files changed, 1 insertion(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index cd82498..f167bce 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -124,7 +124,7 @@ # EF.GID2 try: - (res, sw) = card.read_gid2() + (res, sw) = card.read_binary('GID2') if sw == '9000': print("GID2: %s" % (res,)) else: diff --git a/pySim/cards.py b/pySim/cards.py index c702608..d3b6262 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -160,13 +160,6 @@ else: return (None, sw) - def read_gid2(self): - (res, sw) = self._scc.read_binary(EF['GID2']) - if sw == '9000': - return (res, sw) - else: - return (None, sw) - # Read the (full) AID for either ISIM or USIM application def read_aid(self, isim = False): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17697 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5d80fcc1446a6691b8e2a09bcec558148fa31ab2 Gerrit-Change-Number: 17697 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth 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 Apr 1 08:54:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 08:54:53 +0000 Subject: Change in pysim[master]: Use the generic method read_record of card class to read SMSP In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17658 ) Change subject: Use the generic method read_record of card class to read SMSP ...................................................................... Use the generic method read_record of card class to read SMSP Change-Id: I911c5339a739fbdd9d41e61b63f2410c8358815b --- M pySim-read.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index f167bce..6d7cbbe 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -133,7 +133,7 @@ print("GID2: Can't read file -- %s" % (str(e),)) # EF.SMSP - (res, sw) = scc.read_record(['3f00', '7f10', '6f42'], 1) + (res, sw) = card.read_record('SMSP', 1) if sw == '9000': print("SMSP: %s" % (res,)) else: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17658 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I911c5339a739fbdd9d41e61b63f2410c8358815b Gerrit-Change-Number: 17658 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth 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 Apr 1 08:54:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 08:54:53 +0000 Subject: Change in pysim[master]: pySim-read.py: Use the method declared in cards.py to read SPN In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17659 ) Change subject: pySim-read.py: Use the method declared in cards.py to read SPN ...................................................................... pySim-read.py: Use the method declared in cards.py to read SPN Change-Id: I71c29e2d9d62c50d352556710e63ba398269a5c7 --- M pySim-read.py 1 file changed, 4 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index 6d7cbbe..1a4c1e7 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -141,12 +141,11 @@ # EF.SPN try: - (res, sw) = scc.read_binary(EF['SPN']) + (res, sw) = card.read_spn() if sw == '9000': - spn_res = dec_spn(res) - print("SPN: %s" % (spn_res[0] or "Not available")) - print("Display HPLMN: %s" % (spn_res[1],)) - print("Display OPLMN: %s" % (spn_res[2],)) + print("SPN: %s" % (res[0] or "Not available")) + print("Display HPLMN: %s" % (res[1],)) + print("Display OPLMN: %s" % (res[2],)) else: print("SPN: Can't read, response code = %s" % (sw,)) except Exception as e: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71c29e2d9d62c50d352556710e63ba398269a5c7 Gerrit-Change-Number: 17659 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth 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 Apr 1 08:54:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 08:54:53 +0000 Subject: Change in pysim[master]: Use the generic method read_binary of card class to read PLMNsel In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17660 ) Change subject: Use the generic method read_binary of card class to read PLMNsel ...................................................................... Use the generic method read_binary of card class to read PLMNsel Change-Id: I0a683c479cd41ccc6a93c23434c73793cb5dc186 --- M pySim-read.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index 1a4c1e7..d62cdd3 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -153,7 +153,7 @@ # EF.PLMNsel try: - (res, sw) = scc.read_binary(EF['PLMNsel']) + (res, sw) = card.read_binary('PLMNsel') if sw == '9000': print("PLMNsel: %s" % (res)) else: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0a683c479cd41ccc6a93c23434c73793cb5dc186 Gerrit-Change-Number: 17660 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth 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 Apr 1 08:58:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 08:58:34 +0000 Subject: Change in pysim[master]: pySim-prog.py: check whether IMSI and PLMN matches In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17694 ) Change subject: pySim-prog.py: check whether IMSI and PLMN matches ...................................................................... Patch Set 1: I think this doesn't really solve the problem, sorry. The point is basically: --mcc and --mnc are *only* used in gen_parameters(), which is only used for ICCID and/or IMSI generation if you don't specify either of those two. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17694 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic7e98b827f32f8d59d346ceac0d2d215e0180109 Gerrit-Change-Number: 17694 Gerrit-PatchSet: 1 Gerrit-Owner: miaoski Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 08:58: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 Wed Apr 1 09:09:01 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 1 Apr 2020 09:09:01 +0000 Subject: Change in pysim[master]: Move parsing of PLMNwAcT to generic Card class In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17661 ) Change subject: Move parsing of PLMNwAcT to generic Card class ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17661/1/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/17661/1/pySim/cards.py at 101 PS1, Line 101: if sw == '9000': > oh, sorry, I didin't see the format_xplmn_w_act() function. nevermind for this one then. [?] thats a good idea to have compact code. I will try to implement for future after I have pushed all the backlog commits which i have in my forked repo. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I14d7c2dc51fac6d5cf4a708a77ad23d252ba6094 Gerrit-Change-Number: 17661 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 09:09:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: herlesupreeth Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 09:10:14 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 1 Apr 2020 09:10:14 +0000 Subject: Change in pysim[master]: Use the generic method read_binary of card class to read ACC 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/+/17664 to look at the new patch set (#2). Change subject: Use the generic method read_binary of card class to read ACC ...................................................................... Use the generic method read_binary of card class to read ACC Change-Id: I92a02c74d64b3120055163548fc128ed6e0650a4 --- M pySim-read.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/64/17664/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17664 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I92a02c74d64b3120055163548fc128ed6e0650a4 Gerrit-Change-Number: 17664 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 09:10:14 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 1 Apr 2020 09:10:14 +0000 Subject: Change in pysim[master]: Move parsing of MSISDN to generic Card class 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/+/17665 to look at the new patch set (#2). Change subject: Move parsing of MSISDN to generic Card class ...................................................................... Move parsing of MSISDN to generic Card class Change-Id: I5b726bc0dc8c8e5eb42f209b1fe0f35a46ac91be --- M pySim-read.py M pySim/cards.py 2 files changed, 11 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/65/17665/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17665 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5b726bc0dc8c8e5eb42f209b1fe0f35a46ac91be Gerrit-Change-Number: 17665 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 09:10:14 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 1 Apr 2020 09:10:14 +0000 Subject: Change in pysim[master]: Use the generic method read_binary of card class to read AD 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/+/17666 to look at the new patch set (#2). Change subject: Use the generic method read_binary of card class to read AD ...................................................................... Use the generic method read_binary of card class to read AD Change-Id: Ie7f62913caed95f482445962954857bb69b58078 --- M pySim-read.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/66/17666/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie7f62913caed95f482445962954857bb69b58078 Gerrit-Change-Number: 17666 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 09:36:26 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 1 Apr 2020 09:36:26 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: add config to adjust the duration of the iperf run In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 ) Change subject: iperf3: add config to adjust the duration of the iperf run ...................................................................... Patch Set 6: (3 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/6/src/osmo_gsm_tester/iperf3.py File src/osmo_gsm_tester/iperf3.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/6/src/osmo_gsm_tester/iperf3.py at 158 PS6, Line 158: if time_sec is not None: > if time_sec is None: Ack https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/6/src/osmo_gsm_tester/iperf3.py at 159 PS6, Line 159: values = dict(iperf3cli=config.get_defaults('iperf3cli')) > You can really drop the iperf3cli dictionary here, since it's not really useful at all: [?] Ack https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/2/src/osmo_gsm_tester/resource.py File src/osmo_gsm_tester/resource.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/2/src/osmo_gsm_tester/resource.py at 117 PS2, Line 117: 'iperf3cli[].time': schema.STR, > schema.TIME_DURATION, [?] Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 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: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d Gerrit-Change-Number: 17651 Gerrit-PatchSet: 6 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 01 Apr 2020 09:36:26 +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 Apr 1 09:38:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:38:59 +0000 Subject: Change in pysim[master]: Move parsing of PLMNwAcT to generic Card class In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17661 ) Change subject: Move parsing of PLMNwAcT to generic Card class ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I14d7c2dc51fac6d5cf4a708a77ad23d252ba6094 Gerrit-Change-Number: 17661 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 09: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 Wed Apr 1 09:39:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:39:13 +0000 Subject: Change in pysim[master]: Move parsing of OPLMNwAcT to generic Card class In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17662 ) Change subject: Move parsing of OPLMNwAcT to generic Card class ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8050bd103a7085b2631ddc4e567d15e05f9428f2 Gerrit-Change-Number: 17662 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 09:39: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 Apr 1 09:39:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:39:26 +0000 Subject: Change in pysim[master]: Move parsing of HPLMNAcT to generic Card class In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17663 ) Change subject: Move parsing of HPLMNAcT to generic Card class ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17663 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I46c863c118dcbef89455c34289ed25e5a342f35b Gerrit-Change-Number: 17663 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 09:39: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 Apr 1 09:39:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:39:34 +0000 Subject: Change in pysim[master]: Use the generic method read_binary of card class to read ACC In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17664 ) Change subject: Use the generic method read_binary of card class to read ACC ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17664 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I92a02c74d64b3120055163548fc128ed6e0650a4 Gerrit-Change-Number: 17664 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 09:39: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 Apr 1 09:39:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:39:49 +0000 Subject: Change in pysim[master]: Move parsing of MSISDN to generic Card class In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17665 ) Change subject: Move parsing of MSISDN to generic Card class ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17665 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5b726bc0dc8c8e5eb42f209b1fe0f35a46ac91be Gerrit-Change-Number: 17665 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 09: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 Wed Apr 1 09:39:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:39:58 +0000 Subject: Change in pysim[master]: Use the generic method read_binary of card class to read AD In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17666 ) Change subject: Use the generic method read_binary of card class to read AD ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie7f62913caed95f482445962954857bb69b58078 Gerrit-Change-Number: 17666 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 09:39: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 Wed Apr 1 09:40:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:40:06 +0000 Subject: Change in pysim[master]: Define mapping between SIM Service Number and its description In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17667 ) Change subject: Define mapping between SIM Service Number and its description ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4a416bd8bff563ae08b1b3c053d2047da91667b4 Gerrit-Change-Number: 17667 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 09:40: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 Apr 1 09:40:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:40:21 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse Service Table In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17668 ) Change subject: utils.py: Add helper method to parse Service Table ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9b72efdb84ba7be4a40928a008a59c67f6fb71d4 Gerrit-Change-Number: 17668 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 09:40: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 Wed Apr 1 09:40:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:40:24 +0000 Subject: Change in pysim[master]: Move parsing of PLMNwAcT to generic Card class In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17661 ) Change subject: Move parsing of PLMNwAcT to generic Card class ...................................................................... Move parsing of PLMNwAcT to generic Card class Change-Id: I14d7c2dc51fac6d5cf4a708a77ad23d252ba6094 --- M pySim-read.py M pySim/cards.py 2 files changed, 9 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index d62cdd3..5229dda 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -163,9 +163,9 @@ # EF.PLMNwAcT try: - (res, sw) = scc.read_binary(EF['PLMNwAcT']) + (res, sw) = card.read_plmn_act() if sw == '9000': - print("PLMNwAcT:\n%s" % (format_xplmn_w_act(res))) + print("PLMNwAcT:\n%s" % (res)) else: print("PLMNwAcT: Can't read, response code = %s" % (sw,)) except Exception as e: diff --git a/pySim/cards.py b/pySim/cards.py index d3b6262..16f6881 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -96,6 +96,13 @@ data, sw = self._scc.update_binary(EF['OPLMNwAcT'], content + 'ffffff0000' * (size // 5 - 1)) return sw + def read_plmn_act(self): + (res, sw) = self._scc.read_binary(EF['PLMNwAcT']) + if sw == '9000': + return (format_xplmn_w_act(res), sw) + else: + return (None, sw) + def update_plmn_act(self, mcc, mnc, access_tech='FFFF'): """ See note in update_hplmn_act() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I14d7c2dc51fac6d5cf4a708a77ad23d252ba6094 Gerrit-Change-Number: 17661 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 09:40:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:40:24 +0000 Subject: Change in pysim[master]: Move parsing of OPLMNwAcT to generic Card class In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17662 ) Change subject: Move parsing of OPLMNwAcT to generic Card class ...................................................................... Move parsing of OPLMNwAcT to generic Card class Change-Id: I8050bd103a7085b2631ddc4e567d15e05f9428f2 --- M pySim-read.py M pySim/cards.py 2 files changed, 9 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index 5229dda..4446987 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -173,9 +173,9 @@ # EF.OPLMNwAcT try: - (res, sw) = scc.read_binary(EF['OPLMNwAcT']) + (res, sw) = card.read_oplmn_act() if sw == '9000': - print("OPLMNwAcT:\n%s" % (format_xplmn_w_act(res))) + print("OPLMNwAcT:\n%s" % (res)) else: print("OPLMNwAcT: Can't read, response code = %s" % (sw,)) except Exception as e: diff --git a/pySim/cards.py b/pySim/cards.py index 16f6881..55d1979 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -84,6 +84,13 @@ data, sw = self._scc.update_binary(EF['HPLMNwAcT'], content + 'ffffff0000' * (size // 5 - 1)) return sw + def read_oplmn_act(self): + (res, sw) = self._scc.read_binary(EF['OPLMNwAcT']) + if sw == '9000': + return (format_xplmn_w_act(res), sw) + else: + return (None, sw) + def update_oplmn_act(self, mcc, mnc, access_tech='FFFF'): """ See note in update_hplmn_act() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8050bd103a7085b2631ddc4e567d15e05f9428f2 Gerrit-Change-Number: 17662 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth 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 Apr 1 09:40:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:40:25 +0000 Subject: Change in pysim[master]: Move parsing of HPLMNAcT to generic Card class In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17663 ) Change subject: Move parsing of HPLMNAcT to generic Card class ...................................................................... Move parsing of HPLMNAcT to generic Card class Change-Id: I46c863c118dcbef89455c34289ed25e5a342f35b --- M pySim-read.py M pySim/cards.py 2 files changed, 9 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index 4446987..f54045b 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -183,9 +183,9 @@ # EF.HPLMNAcT try: - (res, sw) = scc.read_binary(EF['HPLMNAcT']) + (res, sw) = card.read_hplmn_act() if sw == '9000': - print("HPLMNAcT:\n%s" % (format_xplmn_w_act(res))) + print("HPLMNAcT:\n%s" % (res)) else: print("HPLMNAcT: Can't read, response code = %s" % (sw,)) except Exception as e: diff --git a/pySim/cards.py b/pySim/cards.py index 55d1979..8081f87 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -66,6 +66,13 @@ data, sw = self._scc.update_binary(EF['ACC'], lpad(acc, 4)) return sw + def read_hplmn_act(self): + (res, sw) = self._scc.read_binary(EF['HPLMNAcT']) + if sw == '9000': + return (format_xplmn_w_act(res), sw) + else: + return (None, sw) + def update_hplmn_act(self, mcc, mnc, access_tech='FFFF'): """ Update Home PLMN with access technology bit-field -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17663 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I46c863c118dcbef89455c34289ed25e5a342f35b Gerrit-Change-Number: 17663 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth 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 Apr 1 09:40:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:40:25 +0000 Subject: Change in pysim[master]: Use the generic method read_binary of card class to read ACC In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17664 ) Change subject: Use the generic method read_binary of card class to read ACC ...................................................................... Use the generic method read_binary of card class to read ACC Change-Id: I92a02c74d64b3120055163548fc128ed6e0650a4 --- M pySim-read.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index f54045b..1e1d39a 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -192,7 +192,7 @@ print("HPLMNAcT: Can't read file -- " + str(e)) # EF.ACC - (res, sw) = scc.read_binary(['3f00', '7f20', '6f78']) + (res, sw) = card.read_binary('ACC') if sw == '9000': print("ACC: %s" % (res,)) else: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17664 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I92a02c74d64b3120055163548fc128ed6e0650a4 Gerrit-Change-Number: 17664 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth 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 Apr 1 09:40:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:40:25 +0000 Subject: Change in pysim[master]: Move parsing of MSISDN to generic Card class In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17665 ) Change subject: Move parsing of MSISDN to generic Card class ...................................................................... Move parsing of MSISDN to generic Card class Change-Id: I5b726bc0dc8c8e5eb42f209b1fe0f35a46ac91be --- M pySim-read.py M pySim/cards.py 2 files changed, 11 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index 1e1d39a..c2e63a0 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -200,13 +200,11 @@ # EF.MSISDN try: - # print(scc.record_size(['3f00', '7f10', '6f40'])) - (res, sw) = scc.read_record(['3f00', '7f10', '6f40'], 1) + (res, sw) = card.read_msisdn() if sw == '9000': - res_dec = dec_msisdn(res) - if res_dec is not None: - # (npi, ton, msisdn) = res_dec - print("MSISDN (NPI=%d ToN=%d): %s" % res_dec) + # (npi, ton, msisdn) = res + if res is not None: + print("MSISDN (NPI=%d ToN=%d): %s" % res) else: print("MSISDN: Not available") else: diff --git a/pySim/cards.py b/pySim/cards.py index 8081f87..d27092d 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -181,6 +181,13 @@ else: return (None, sw) + def read_msisdn(self): + (res, sw) = self._scc.read_record(EF['MSISDN'], 1) + if sw == '9000': + return (dec_msisdn(res), sw) + else: + return (None, sw) + # Read the (full) AID for either ISIM or USIM application def read_aid(self, isim = False): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17665 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5b726bc0dc8c8e5eb42f209b1fe0f35a46ac91be Gerrit-Change-Number: 17665 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth 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 Apr 1 09:40:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:40:26 +0000 Subject: Change in pysim[master]: Use the generic method read_binary of card class to read AD In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17666 ) Change subject: Use the generic method read_binary of card class to read AD ...................................................................... Use the generic method read_binary of card class to read AD Change-Id: Ie7f62913caed95f482445962954857bb69b58078 --- M pySim-read.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index c2e63a0..98a2e81 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -213,7 +213,7 @@ print("MSISDN: Can't read file -- " + str(e)) # EF.AD - (res, sw) = scc.read_binary(['3f00', '7f20', '6fad']) + (res, sw) = card.read_binary('AD') if sw == '9000': print("AD: %s" % (res,)) else: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie7f62913caed95f482445962954857bb69b58078 Gerrit-Change-Number: 17666 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth 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 Apr 1 09:40:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:40:27 +0000 Subject: Change in pysim[master]: Define mapping between SIM Service Number and its description In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17667 ) Change subject: Define mapping between SIM Service Number and its description ...................................................................... Define mapping between SIM Service Number and its description This commit introduces a lookup table which maps SIM Service Number to its description. The mapping is defined in 3GPP TS 51.011 version 4.15.0 Release 4, 10.3.7 EF.SST (SIM Service Table) Change-Id: I4a416bd8bff563ae08b1b3c053d2047da91667b4 --- M pySim/ts_51_011.py 1 file changed, 63 insertions(+), 0 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 754d57f..1cec91f 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -249,3 +249,66 @@ 'MMSUP': DF['GSM']+[EF_num['MMSUP']], 'MMSUCP': DF['GSM']+[EF_num['MMSUCP']], } + +# Mapping between SIM Service Number and its description +EF_SST_map = { + 1: 'CHV1 disable function', + 2: 'Abbreviated Dialling Numbers (ADN)', + 3: 'Fixed Dialling Numbers (FDN)', + 4: 'Short Message Storage (SMS)', + 5: 'Advice of Charge (AoC)', + 6: 'Capability Configuration Parameters (CCP)', + 7: 'PLMN selector', + 8: 'RFU', + 9: 'MSISDN', + 10: 'Extension1', + 11: 'Extension2', + 12: 'SMS Parameters', + 13: 'Last Number Dialled (LND)', + 14: 'Cell Broadcast Message Identifier', + 15: 'Group Identifier Level 1', + 16: 'Group Identifier Level 2', + 17: 'Service Provider Name', + 18: 'Service Dialling Numbers (SDN)', + 19: 'Extension3', + 20: 'RFU', + 21: 'VGCS Group Identifier List (EFVGCS and EFVGCSS)', + 22: 'VBS Group Identifier List (EFVBS and EFVBSS)', + 23: 'enhanced Multi-Level Precedence and Pre-emption Service', + 24: 'Automatic Answer for eMLPP', + 25: 'Data download via SMS-CB', + 26: 'Data download via SMS-PP', + 27: 'Menu selection', + 28: 'Call control', + 29: 'Proactive SIM', + 30: 'Cell Broadcast Message Identifier Ranges', + 31: 'Barred Dialling Numbers (BDN)', + 32: 'Extension4', + 33: 'De-personalization Control Keys', + 34: 'Co-operative Network List', + 35: 'Short Message Status Reports', + 36: 'Network\'s indication of alerting in the MS', + 37: 'Mobile Originated Short Message control by SIM', + 38: 'GPRS', + 39: 'Image (IMG)', + 40: 'SoLSA (Support of Local Service Area)', + 41: 'USSD string data object supported in Call Control', + 42: 'RUN AT COMMAND command', + 43: 'User controlled PLMN Selector with Access Technology', + 44: 'Operator controlled PLMN Selector with Access Technology', + 45: 'HPLMN Selector with Access Technology', + 46: 'CPBCCH Information', + 47: 'Investigation Scan', + 48: 'Extended Capability Configuration Parameters', + 49: 'MExE', + 50: 'Reserved and shall be ignored', + 51: 'PLMN Network Name', + 52: 'Operator PLMN List', + 53: 'Mailbox Dialling Numbers', + 54: 'Message Waiting Indication Status', + 55: 'Call Forwarding Indication Status', + 56: 'Service Provider Display Information', + 57: 'Multimedia Messaging Service (MMS)', + 58: 'Extension 8', + 59: 'MMS User Connectivity Parameters', +} \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4a416bd8bff563ae08b1b3c053d2047da91667b4 Gerrit-Change-Number: 17667 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth 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 Apr 1 09:40:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:40:28 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse Service Table In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17668 ) Change subject: utils.py: Add helper method to parse Service Table ...................................................................... utils.py: Add helper method to parse Service Table This method helps in parsing Service Tables in EF.SST, EF.UST, EF.EST, EF.IST. Takes hex string as input and output a list of available/enabled services. Change-Id: I9b72efdb84ba7be4a40928a008a59c67f6fb71d4 --- M pySim/utils.py 1 file changed, 22 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/utils.py b/pySim/utils.py index c098384..51f2954 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -325,3 +325,25 @@ bcd = rpad(swap_nibbles(msisdn), 10 * 2) # pad to 10 octets return ('%02x' % bcd_len) + ('%02x' % npi_ton) + bcd + +def parse_st(st): + """ + Parses the EF S/U/IST and returns available/supported services + """ + st_bytes = [st[i:i+2] for i in range(0, len(st), 2) ] + avail_srvc = [] + # Get each byte and check for available services + for i in range(0, len(st_bytes)): + # Byte i contains info about Services num (8i+1) to num (8i+8) + byte = int(st_bytes[i], 16) + # Services in each byte are in order MSB to LSB + # MSB - Service (8i+8) + # LSB - Service (8i+1) + for j in range(1, 9): + if byte&0x01 == 0x01: + # Byte X contains info about Services num (8X-7) to num (8X) + # bit = 1: service available + # bit = 0: service not available + avail_srvc.append((8*i) + j) + byte = byte >> 1 + return avail_srvc -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9b72efdb84ba7be4a40928a008a59c67f6fb71d4 Gerrit-Change-Number: 17668 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth 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 Apr 1 09:40:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:40:58 +0000 Subject: Change in libosmocore[master]: tests/coding: check return value of encoding / decoding functions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17670 ) Change subject: tests/coding: check return value of encoding / decoding functions ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I78850a4ab2fb7cd63bb4a3789f934634b6fb2cb7 Gerrit-Change-Number: 17670 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 09:40: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 Wed Apr 1 09:41:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:41:15 +0000 Subject: Change in libosmocore[master]: tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17671 ) Change subject: tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0d5ed90cb0a2b3007d665520a73b0fa0b86a4099 Gerrit-Change-Number: 17671 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 09:41: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 Wed Apr 1 09:41:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:41:27 +0000 Subject: Change in libosmocore[master]: tests/coding: cosmetic: use ARRAY_SIZE() macro from utils.h In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17684 ) Change subject: tests/coding: cosmetic: use ARRAY_SIZE() macro from utils.h ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17684 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie6278d84d405f073669e607f978ca5b187bcf78e Gerrit-Change-Number: 17684 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 09:41: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 Apr 1 09:41:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:41:48 +0000 Subject: Change in libosmocore[master]: coding: fix documentation of PDTCH encoding functions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17672 ) Change subject: coding: fix documentation of PDTCH encoding functions ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia38723fb9424551eaf5747d736ae73ab20873def Gerrit-Change-Number: 17672 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 09:41: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 Apr 1 09:42:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:42:40 +0000 Subject: Change in libosmocore[master]: tests/coding: add 11-bit Access Burst samples from a real phone In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17692 ) Change subject: tests/coding: add 11-bit Access Burst samples from a real phone ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17692 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id80e471d252b9416217b56f4c8c0a8f5f1289fee Gerrit-Change-Number: 17692 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 09:42: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 Wed Apr 1 09:43:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:43:15 +0000 Subject: Change in libosmocore[master]: coding: fix bit ordering in 11-bit RACH coding functions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17693 ) Change subject: coding: fix bit ordering in 11-bit RACH coding functions ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17693 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I43d30611dd69f77f2b3b46f4b56056a8891d3c24 Gerrit-Change-Number: 17693 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 09:43: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 Wed Apr 1 09:43:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:43:17 +0000 Subject: Change in libosmocore[master]: tests/coding: check return value of encoding / decoding functions In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17670 ) Change subject: tests/coding: check return value of encoding / decoding functions ...................................................................... tests/coding: check return value of encoding / decoding functions Change-Id: I78850a4ab2fb7cd63bb4a3789f934634b6fb2cb7 --- M tests/coding/coding_test.c 1 file changed, 39 insertions(+), 14 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/coding/coding_test.c b/tests/coding/coding_test.c index 2b0830f..94e404a 100644 --- a/tests/coding/coding_test.c +++ b/tests/coding/coding_test.c @@ -44,6 +44,13 @@ return; \ } while(0) +/* Similar to OSMO_ASSERT, but does not panic() */ +#define CHECK_RC_OR_RET(exp, action) \ + if (!(exp)) { \ + printf("%s(%s): assert %s failed\n", __func__, action, #exp); \ + return; \ + } + static inline void dump_ubits(ubit_t *bursts_u, unsigned until) { printf("U-Bits:\n"); @@ -76,10 +83,12 @@ ubit_t bursts_u[116 * 4]; sbit_t bursts_s[116 * 4]; int n_errors, n_bits_total; + int rc; /* Encode L2 message */ printf("Encoding: %s\n", osmo_hexdump(l2, 23)); - gsm0503_xcch_encode(bursts_u, l2); + rc = gsm0503_xcch_encode(bursts_u, l2); + CHECK_RC_OR_RET(rc == 0, "encoding"); /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 116 * 4); @@ -91,7 +100,9 @@ memset(bursts_s + 116, 0, 30); /* Decode, correcting errors */ - gsm0503_xcch_decode(result, bursts_s, &n_errors, &n_bits_total); + rc = gsm0503_xcch_decode(result, bursts_s, &n_errors, &n_bits_total); + CHECK_RC_OR_RET(rc == 0, "decoding"); + printf("Decoded: %s\n", osmo_hexdump(result, 23)); printf("xcch_decode: n_errors=%d n_bits_total=%d ber=%.2f\n", n_errors, n_bits_total, (float) n_errors / n_bits_total); @@ -110,8 +121,9 @@ sbit_t bursts_s[36]; /* Encode L2 message */ + printf("Encoding: %02x\n", ra); rc = gsm0503_rach_ext_encode(bursts_u, ra, bsic, false); - printf("Encoding: %02x%s\n", ra, (rc != 0) ? " FAIL" : ""); + CHECK_RC_OR_RET(rc == 0, "encoding"); /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 36); @@ -125,8 +137,9 @@ /* Decode, correcting errors */ rc = gsm0503_rach_decode_ber(&result, bursts_s, bsic, NULL, NULL); - printf("Decoded: %02x%s\n", result, (rc != 0) ? " FAIL" : ""); + CHECK_RC_OR_RET(rc == 0, "decoding"); + printf("Decoded: %02x\n", result); if (ra != result) printf("FAIL [RACH]: encoded %u != %u decoded\n", ra, result); @@ -141,8 +154,9 @@ sbit_t bursts_s[36]; /* Encode L2 message */ + printf("Encoding: %02x\n", ra); rc = gsm0503_rach_ext_encode(bursts_u, ra, bsic, true); - printf("Encoding: %02x%s\n", ra, (rc != 0) ? " FAIL" : ""); + CHECK_RC_OR_RET(rc == 0, "encoding"); /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 36); @@ -156,8 +170,9 @@ /* Decode, correcting errors */ rc = gsm0503_rach_ext_decode_ber(&result, bursts_s, bsic, NULL, NULL); - printf("Decoded: %02x%s\n", result, (rc != 0) ? " FAIL" : ""); + CHECK_RC_OR_RET(rc == 0, "decoding"); + printf("Decoded: %02x\n", result); if (ra != result) printf("FAIL [RACH ext]: encoded %u != %u decoded\n", ra, result); @@ -169,6 +184,7 @@ uint8_t result[4]; ubit_t bursts_u[78]; sbit_t bursts_s[78]; + int rc; /* Zero bits 25 and above */ info[3] &= 1; @@ -176,7 +192,8 @@ /* Encode L2 message */ printf("Encoding: %s\n", osmo_hexdump(info, 4)); - gsm0503_sch_encode(bursts_u, info); + rc = gsm0503_sch_encode(bursts_u, info); + CHECK_RC_OR_RET(rc == 0, "encoding"); /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 78); @@ -189,7 +206,9 @@ memset(bursts_s + 6, 0, 10); /* Decode, correcting errors */ - gsm0503_sch_decode(result, bursts_s); + rc = gsm0503_sch_decode(result, bursts_s); + CHECK_RC_OR_RET(rc == 0, "decoding"); + printf("Decoded: %s\n", osmo_hexdump(result, 4)); OSMO_ASSERT(!memcmp(info, result, 4)); @@ -210,7 +229,8 @@ /* Encode L2 message */ printf("Encoding: %s\n", osmo_hexdump(speech, len)); - gsm0503_tch_fr_encode(bursts_u, speech, len, 1); + rc = gsm0503_tch_fr_encode(bursts_u, speech, len, 1); + CHECK_RC_OR_RET(rc == 0, "encoding"); /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 116 * 8); @@ -224,11 +244,12 @@ /* Decode, correcting errors */ rc = gsm0503_tch_fr_decode(result, bursts_s, 1, len == 31, &n_errors, &n_bits_total); + CHECK_RC_OR_RET(rc == len, "decoding"); + printf("Decoded: %s\n", osmo_hexdump(result, len)); printf("tch_fr_decode: n_errors=%d n_bits_total=%d ber=%.2f\n", n_errors, n_bits_total, (float)n_errors/n_bits_total); - OSMO_ASSERT(rc == len); OSMO_ASSERT(!memcmp(speech, result, len)); printf("\n"); @@ -247,7 +268,8 @@ /* Encode L2 message */ printf("Encoding: %s\n", osmo_hexdump(speech, len)); - gsm0503_tch_hr_encode(bursts_u, speech, len); + rc = gsm0503_tch_hr_encode(bursts_u, speech, len); + CHECK_RC_OR_RET(rc == 0, "encoding"); /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 116 * 6); @@ -261,11 +283,12 @@ /* Decode, correcting errors */ rc = gsm0503_tch_hr_decode(result, bursts_s, 0, &n_errors, &n_bits_total); + CHECK_RC_OR_RET(rc == len, "decoding"); + printf("Decoded: %s\n", osmo_hexdump(result, len)); printf("tch_hr_decode: n_errors=%d n_bits_total=%d ber=%.2f\n", n_errors, n_bits_total, (float)n_errors/n_bits_total); - OSMO_ASSERT(rc == len); OSMO_ASSERT(!memcmp(speech, result, len)); printf("\n"); @@ -294,7 +317,8 @@ /* Encode L2 message */ printf("Encoding: %s\n", osmo_hexdump(l2, len)); - gsm0503_pdtch_encode(bursts_u, l2, len); + rc = gsm0503_pdtch_encode(bursts_u, l2, len); + CHECK_RC_OR_RET(rc == GSM0503_GPRS_BURSTS_NBITS, "encoding"); /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 116 * 4); @@ -305,11 +329,12 @@ /* Decode */ rc = gsm0503_pdtch_decode(result, bursts_s, NULL, &n_errors, &n_bits_total); + CHECK_RC_OR_RET(rc == len, "decoding"); + printf("Decoded: %s\n", osmo_hexdump(result, len)); printf("pdtch_decode: n_errors=%d n_bits_total=%d ber=%.2f\n", n_errors, n_bits_total, (float)n_errors/n_bits_total); - OSMO_ASSERT(rc == len); OSMO_ASSERT(!memcmp(l2, result, len)); printf("\n"); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I78850a4ab2fb7cd63bb4a3789f934634b6fb2cb7 Gerrit-Change-Number: 17670 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 Wed Apr 1 09:43:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:43:18 +0000 Subject: Change in libosmocore[master]: tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17671 ) Change subject: tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests ...................................................................... tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests We don't really need additional 1.4M of debug output, given that we test every possible 8-bit and 11-bit RA value. It's enough to print error message if the resulting value does not match. Otherwise it's hard to read the expected output without commenting the related log statements out. Note that it's still possible to re-enable verbose debug output by defining DEBUG. Change-Id: I0d5ed90cb0a2b3007d665520a73b0fa0b86a4099 --- M tests/coding/coding_test.c M tests/coding/coding_test.ok 2 files changed, 16 insertions(+), 34,570 deletions(-) Approvals: pespin: Looks good to me, approved laforge: Looks good to me, approved Jenkins Builder: Verified -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0d5ed90cb0a2b3007d665520a73b0fa0b86a4099 Gerrit-Change-Number: 17671 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 Wed Apr 1 09:43:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:43:18 +0000 Subject: Change in libosmocore[master]: tests/coding: cosmetic: use ARRAY_SIZE() macro from utils.h In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17684 ) Change subject: tests/coding: cosmetic: use ARRAY_SIZE() macro from utils.h ...................................................................... tests/coding: cosmetic: use ARRAY_SIZE() macro from utils.h Change-Id: Ie6278d84d405f073669e607f978ca5b187bcf78e --- M tests/coding/coding_test.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, approved diff --git a/tests/coding/coding_test.c b/tests/coding/coding_test.c index 087a593..2ae95f8 100644 --- a/tests/coding/coding_test.c +++ b/tests/coding/coding_test.c @@ -384,8 +384,8 @@ { int i, len_l2, len_mb; - len_l2 = sizeof(test_l2) / sizeof(test_l2[0]); - len_mb = sizeof(test_macblock) / sizeof(test_macblock[0]); + len_l2 = ARRAY_SIZE(test_l2); + len_mb = ARRAY_SIZE(test_macblock); for (i = 0; i < len_l2; i++) test_xcch(test_l2[i]); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17684 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie6278d84d405f073669e607f978ca5b187bcf78e Gerrit-Change-Number: 17684 Gerrit-PatchSet: 3 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 Wed Apr 1 09:43:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:43:18 +0000 Subject: Change in libosmocore[master]: coding: fix documentation of PDTCH encoding functions In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17672 ) Change subject: coding: fix documentation of PDTCH encoding functions ...................................................................... coding: fix documentation of PDTCH encoding functions Change-Id: Ia38723fb9424551eaf5747d736ae73ab20873def --- M src/coding/gsm0503_coding.c 1 file changed, 2 insertions(+), 2 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/coding/gsm0503_coding.c b/src/coding/gsm0503_coding.c index 7385d23..163ce21 100644 --- a/src/coding/gsm0503_coding.c +++ b/src/coding/gsm0503_coding.c @@ -1332,7 +1332,7 @@ * \param[out] bursts caller-allocated buffer for unpacked burst bits * \param[in] l2_data L2 (MAC) block to be encoded * \param[in] l2_len length of l2_data in bytes, used to determine MCS - * \returns 0 on success; negative on error */ + * \returns number of bits encoded; negative on error */ int gsm0503_pdtch_egprs_encode(ubit_t *bursts, const uint8_t *l2_data, uint8_t l2_len) { @@ -1427,7 +1427,7 @@ * \param[out] bursts caller-allocated buffer for unpacked burst bits * \param[in] l2_data L2 (MAC) block to be encoded * \param[in] l2_len length of l2_data in bytes, used to determine CS - * \returns 0 on success; negative on error */ + * \returns number of bits encoded; negative on error */ int gsm0503_pdtch_encode(ubit_t *bursts, const uint8_t *l2_data, uint8_t l2_len) { ubit_t iB[456], cB[676]; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia38723fb9424551eaf5747d736ae73ab20873def Gerrit-Change-Number: 17672 Gerrit-PatchSet: 4 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 Apr 1 09:43:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:43:19 +0000 Subject: Change in libosmocore[master]: tests/coding: add 11-bit Access Burst samples from a real phone In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17692 ) Change subject: tests/coding: add 11-bit Access Burst samples from a real phone ...................................................................... tests/coding: add 11-bit Access Burst samples from a real phone This change adds several soft-bit (-127 .. 127) sequences containing EGPRS Packet Channel Request message (11-bit, payload only) sent by an EGPRS capable phone, and captured on the BTS/PCU side using a tool from the TRX Toolkit - trx_sniff.py. As can be seen from the test output, none of decoded RA11 values looks like a valid EGPRS Packet Channel Request message (see table 11.2.5a.2 of 3GPP TS 44.060). All test sequences contain the same message with several random bits: < EGPRS Packet channel request message content > ::= < Signalling : 110011 < RandomBits : bit (5) > >; since the phone was trying to perform Attach Request. It seems the bit order of decoded messages is somehow wrong. Change-Id: Id80e471d252b9416217b56f4c8c0a8f5f1289fee Related: OS#1548 --- M tests/coding/coding_test.c M tests/coding/coding_test.ok 2 files changed, 60 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/tests/coding/coding_test.c b/tests/coding/coding_test.c index 2ae95f8..17ddfaa 100644 --- a/tests/coding/coding_test.c +++ b/tests/coding/coding_test.c @@ -185,6 +185,22 @@ printd("\n"); } +static void test_rach_11bit_sample(uint8_t bsic, const sbit_t *payload) +{ + int n_errors, n_bits_total; + uint16_t ra11; + int rc; + + /* Decode, correcting errors */ + rc = gsm0503_rach_ext_decode_ber(&ra11, payload, bsic, &n_errors, &n_bits_total); + if (rc) { + printf("%s(): decoding failed (rc=%d)\n", __func__, rc); + return; + } + + printf("Decoded RA11: 0x%03x\n", ra11); +} + static void test_sch(uint8_t *info) { uint8_t result[4]; @@ -376,6 +392,39 @@ 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17 }, }; +/* 11-bit Access Burst soft-bits (payload only) from an EGPRS capable phone (BSIC 63) */ +static const sbit_t test_rach_11bit[6][36] = { + { 103, 109, -108, -110, 107, 108, -106, -120, -121, + -120, -105, 122, -104, -109, 108, 109, -109, -111, + 107, 111, -105, -119, -121, -104, 122, -120, 121, + -99, -121, -120, -122, -106, 109, 109, -108, -111 }, + + { 103, 109, -109, -109, 106, 107, -106, -121, -121, + -120, -106, 121, -120, 117, -122, 101, 109, -122, + 120, -120, 101, 118, 120, 102, -125, 101, 110, + -120, 121, -101, -121, -118, -121, -106, 108, 121 }, + + { -121, -122, -104, 123, -104, -108, 122, -104, -121, + -121, -102, 124, -105, -110, 107, 109, -108, -109, + 121, -122, 101, 107, -121, 105, 108, -110, -107, + 124, -104, -109, 120, -122, 100, 122, 104, -123 }, + + { -122, -123, -103, 123, -105, -109, 122, -105, -121, + -120, -104, 122, -120, 121, -101, -122, -120, -120, + -119, -105, 120, -106, -108, 123, -104, -113, 105, + 122, 101, -122, 119, -122, 117, -121, 119, -122 }, + + { 105, 110, -109, -109, 107, 108, -108, -120, -120, + -121, -106, 121, -104, -107, 106, 108, -108, -108, + 108, 107, -105, -120, -122, -104, 122, -119, 121, + -103, -122, -118, -120, -106, 108, 108, -110, -111 }, + + { 120, -103, -123, -104, 119, -121, 100, 123, 106, + -109, -107, 121, -122, 118, -121, 103, 108, -122, + 120, -119, 121, -103, -121, -119, -121, -103, 124, + -106, -108, 122, -103, -106, 121, -120, 119, -121 }, +}; + uint8_t test_speech_fr[33]; uint8_t test_speech_efr[31]; uint8_t test_speech_hr[15]; @@ -402,6 +451,10 @@ test_rach_ext(0x1a, i); } + for (i = 0; i < ARRAY_SIZE(test_rach_11bit); i++) + test_rach_11bit_sample(0x3f, test_rach_11bit[i]); + printf("\n"); + for (i = 0; i < len_l2; i++) test_sch(test_l2[i]); diff --git a/tests/coding/coding_test.ok b/tests/coding/coding_test.ok index 2005f6e..496ce89 100644 --- a/tests/coding/coding_test.ok +++ b/tests/coding/coding_test.ok @@ -40,6 +40,13 @@ Decoded: 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 xcch_decode: n_errors=60 n_bits_total=456 ber=0.13 +Decoded RA11: 0x7cc +Decoded RA11: 0x6cc +Decoded RA11: 0x7cd +Decoded RA11: 0x4cd +Decoded RA11: 0x7cc +Decoded RA11: 0x6ce + Encoding: 03 03 01 00 U-Bits: 111001110011000011100111001100001101001111000000000011010000011010110111111100 S-Bits: 81 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 81 7f 81 81 7f 81 81 81 81 81 81 81 7f 7f -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17692 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id80e471d252b9416217b56f4c8c0a8f5f1289fee Gerrit-Change-Number: 17692 Gerrit-PatchSet: 1 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 Apr 1 09:43:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:43:19 +0000 Subject: Change in libosmocore[master]: coding: fix bit ordering in 11-bit RACH coding functions In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17693 ) Change subject: coding: fix bit ordering in 11-bit RACH coding functions ...................................................................... coding: fix bit ordering in 11-bit RACH coding functions According to 3GPP TS 44.004, figure 7.4a.b, the format of 11-bit RACH uplink / Uplink access burst block is as defined follows: <--------------------------------------------------- 8 7 6 5 4 3 2 1 +--------------------------------------------------+ | 11 bit RACH uplink / Uplink access burst block | OCT1 +--------------------------------------------------+ | | OCT2 +-------------------+ As was (correctly) assumed in [1], the bit ordering in 11-bit RACH coding functions is wrong. The problem is that neither of generic functions from bit16gen.h can be used to load / store the RA11 value (regardless of the endianness), because they assume that the payload is 16 bit long. With this patch applied, RA11 values from [1] look correct: < EGPRS Packet channel request message content > ::= < Signalling : 110011 < RandomBits : 00111 > > | < Signalling : 110011 < RandomBits : 00110 > > | < Signalling : 110011 < RandomBits : 01111 > > | < Signalling : 110011 < RandomBits : 01100 > > | < Signalling : 110011 < RandomBits : 00111 > > | < Signalling : 110011 < RandomBits : 10110 > > ; [1] Id80e471d252b9416217b56f4c8c0a8f5f1289fee Change-Id: I43d30611dd69f77f2b3b46f4b56056a8891d3c24 Related: OS#1548 --- M src/coding/gsm0503_coding.c M tests/coding/coding_test.ok 2 files changed, 9 insertions(+), 8 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/coding/gsm0503_coding.c b/src/coding/gsm0503_coding.c index 163ce21..8480240 100644 --- a/src/coding/gsm0503_coding.c +++ b/src/coding/gsm0503_coding.c @@ -2879,7 +2879,7 @@ osmo_ubit2pbit_ext(ra, 0, conv, 0, nbits, 1); - return is_11bit ? osmo_load16le(ra) : ra[0]; + return is_11bit ? ((ra[0] << 3) | (ra[1] & 0x07)) : ra[0]; } /*! Decode the Extended (11-bit) RACH according to 3GPP TS 45.003 @@ -2974,7 +2974,8 @@ uint8_t ra[2] = { 0 }, nbits = 8; if (is_11bit) { - osmo_store16le(ra11, ra); + ra[0] = (uint8_t) (ra11 >> 3); + ra[1] = (uint8_t) (ra11 & 0x07); nbits = 11; } else ra[0] = (uint8_t)ra11; diff --git a/tests/coding/coding_test.ok b/tests/coding/coding_test.ok index 496ce89..3a4fbf2 100644 --- a/tests/coding/coding_test.ok +++ b/tests/coding/coding_test.ok @@ -40,12 +40,12 @@ Decoded: 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 xcch_decode: n_errors=60 n_bits_total=456 ber=0.13 -Decoded RA11: 0x7cc -Decoded RA11: 0x6cc -Decoded RA11: 0x7cd -Decoded RA11: 0x4cd -Decoded RA11: 0x7cc -Decoded RA11: 0x6ce +Decoded RA11: 0x667 +Decoded RA11: 0x666 +Decoded RA11: 0x66f +Decoded RA11: 0x66c +Decoded RA11: 0x667 +Decoded RA11: 0x676 Encoding: 03 03 01 00 U-Bits: 111001110011000011100111001100001101001111000000000011010000011010110111111100 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17693 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I43d30611dd69f77f2b3b46f4b56056a8891d3c24 Gerrit-Change-Number: 17693 Gerrit-PatchSet: 3 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 Wed Apr 1 09:43:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:43:33 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Require debian-stretch-jenkins as Dockerfile suggests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17691 ) Change subject: osmo-gsm-tester: Require debian-stretch-jenkins as Dockerfile suggests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17691 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If33aab60e04da7beb4cd0715d5cb3145c001823a Gerrit-Change-Number: 17691 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 09:43: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 Apr 1 09:44:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:44:18 +0000 Subject: Change in osmo-bts[master]: l1sap: fix gsmtap_ph_rach(): properly pack 8-bit and 11-bit RA In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17653 ) Change subject: l1sap: fix gsmtap_ph_rach(): properly pack 8-bit and 11-bit RA ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0e91d825bb2e1897647dd5403c311d833a89ff2e Gerrit-Change-Number: 17653 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 09:44: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 Apr 1 09:44:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:44:23 +0000 Subject: Change in osmo-bts[master]: l1sap: fix gsmtap_ph_rach(): properly pack 8-bit and 11-bit RA In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17653 ) Change subject: l1sap: fix gsmtap_ph_rach(): properly pack 8-bit and 11-bit RA ...................................................................... l1sap: fix gsmtap_ph_rach(): properly pack 8-bit and 11-bit RA According to 3GPP TS 44.004, section 7.4a, two alternative RACH block formats are specified: 8 bit (1 octet) and 11 bit. The bit order is little-endian (right to left). In L1SAP PH-RACH.ind structure (see ph_rach_ind_param) we use a field of type uint16_t to store RA values regardles of the block format. Thus when packing it to bytes, we cannot just cast uint16_t* to uint8_t*, we need to do some bit shifting. Change-Id: I0e91d825bb2e1897647dd5403c311d833a89ff2e --- M src/common/l1sap.c 1 file changed, 12 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 673430d..99aa11b 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -434,6 +434,7 @@ uint8_t *tn, uint8_t *ss, uint32_t *fn, uint8_t **data, unsigned int *len) { uint8_t chan_nr = l1sap->u.rach_ind.chan_nr; + static uint8_t ra_buf[2]; *chan_type = GSMTAP_CHANNEL_RACH; *fn = l1sap->u.rach_ind.fn; @@ -454,8 +455,17 @@ } } - *data = (uint8_t *)&l1sap->u.rach_ind.ra; - *len = (l1sap->u.rach_ind.is_11bit) ? 2 : 1; + if (l1sap->u.rach_ind.is_11bit) { + /* Pack as described in 3GPP TS 44.004, figure 7.4a.b */ + ra_buf[0] = (uint8_t) (l1sap->u.rach_ind.ra >> 3); + ra_buf[1] = (uint8_t) (l1sap->u.rach_ind.ra & 0x07); + *len = sizeof(ra_buf); + *data = ra_buf; + } else { + ra_buf[0] = (uint8_t) (l1sap->u.rach_ind.ra & 0xff); + *len = sizeof(ra_buf[0]); + *data = ra_buf; + } return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0e91d825bb2e1897647dd5403c311d833a89ff2e Gerrit-Change-Number: 17653 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 Wed Apr 1 09:48:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:48:35 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when not loglevel is set In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17604 ) Change subject: logging: use LOGL_NOTICE when not loglevel is set ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17604/2/src/logging.c File src/logging.c: https://gerrit.osmocom.org/c/libosmocore/+/17604/2/src/logging.c at 1064 PS2, Line 1064: *(uint8_t*) (& > AFAIU, this is needed because struct log_info_cat *cat is marked as const. [?] oh, this is actually a problem. I think many of our programs allocate the arrays as 'const', i.e. they are in 'rodata' and hence memory that cannot be modified. We cannot change the function notation as it will result in breakage all over the place. I think the only proper way t osolve it is to copy the entire 'const' array of 'cat' into dynamically allocated memory, and then make modifications there. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Gerrit-Change-Number: 17604 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 01 Apr 2020 09:48:35 +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 Wed Apr 1 09:50:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:50:42 +0000 Subject: Change in openbsc[master]: debug: use only LOGL_NOTICE as default loglevel In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/17605 ) Change subject: debug: use only LOGL_NOTICE as default loglevel ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/openbsc/+/17605/1/openbsc/src/libcommon/debug.c File openbsc/src/libcommon/debug.c: https://gerrit.osmocom.org/c/openbsc/+/17605/1/openbsc/src/libcommon/debug.c at 123 PS1, Line 123: [DGPRS] = { : .name = "DGPRS", : .description = "GPRS Packet Service", : .enabled = 1, .loglevel = LOGL_NOTICE, : }, : [DNS] = { : .name = "DNS", : .description = "GPRS Network Service (NS)", : .enabled = 1, .loglevel = LOGL_NOTICE, : }, : [DBSSGP] = { : .name = "DBSSGP", : .description = "GPRS BSS Gateway Protocol (BSSGP)", : .enabled = 1, .loglevel = LOGL_NOTICE, : }, : [DLLC] = { : .name = "DLLC", : .description = "GPRS Logical Link Control Protocol (LLC)", : .enabled = 1, .loglevel = LOGL_NOTICE, : }, : [DSNDCP] = { : .name = "DSNDCP", : .description = "GPRS Sub-Network Dependent Control Protocol (SNDCP)", : .enabled = 1, .loglevel = LOGL_NOTICE, : }, those subsystems don't exist in the BSC, and hence they should be removed completely. This dates back to a time where the SGSN + gbproxy were part of the same git repo as openbsc, and they shared this debug.c file. https://gerrit.osmocom.org/c/openbsc/+/17605/1/openbsc/src/libcommon/debug.c at 158 PS1, Line 158: [DSMPP] = { : .name = "DSMPP", : .description = "SMPP interface for external SMS apps", : .enabled = 1, .loglevel = LOGL_NOTICE, : }, same here. There is no SMPP, and also no RANAP (below) in the BSC. I will send a patch to clean this up. -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/17605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Id2bca6ec3d29a3d10e84f9b3067be09b64a6b587 Gerrit-Change-Number: 17605 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 09:50: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 Apr 1 09:57:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:57:21 +0000 Subject: Change in openbsc[master]: debug: use only LOGL_NOTICE as default loglevel In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/17605 ) Change subject: debug: use only LOGL_NOTICE as default loglevel ...................................................................... Patch Set 1: Code-Review-1 oh, nevermind. this is about osmo-nitb. I think the patch should be abandoned completely, we don't maintain it anymore. -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/17605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Id2bca6ec3d29a3d10e84f9b3067be09b64a6b587 Gerrit-Change-Number: 17605 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 09:57: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 Wed Apr 1 09:58:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 09:58:27 +0000 Subject: Change in osmo-bsc[master]: remove 'NAT' log category References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17698 ) Change subject: remove 'NAT' log category ...................................................................... remove 'NAT' log category This dates back to a time where osmo-bsc_nat was in the same repository, which is a long time ago. Change-Id: Id965295dfe04f8bd5ce831db70c86f67b8dc290b --- M include/osmocom/bsc/debug.h M src/libfilter/bsc_msg_acc.c M src/osmo-bsc/osmo_bsc_main.c M tests/bsc/bsc_test.c 4 files changed, 2 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/98/17698/1 diff --git a/include/osmocom/bsc/debug.h b/include/osmocom/bsc/debug.h index adc6abb..82c0703 100644 --- a/include/osmocom/bsc/debug.h +++ b/include/osmocom/bsc/debug.h @@ -19,7 +19,6 @@ DHO, DHODEC, DREF, - DNAT, DCTRL, DFILTER, DPCU, diff --git a/src/libfilter/bsc_msg_acc.c b/src/libfilter/bsc_msg_acc.c index de6c4d9..8853dbb 100644 --- a/src/libfilter/bsc_msg_acc.c +++ b/src/libfilter/bsc_msg_acc.c @@ -96,7 +96,7 @@ lst = talloc_zero(ctx, struct bsc_msg_acc_lst); if (!lst) { - LOGP(DNAT, LOGL_ERROR, "Failed to allocate access list\n"); + LOGP(DFILTER, LOGL_ERROR, "Failed to allocate access list\n"); return NULL; } diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index bf68c9b..de84060 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -748,11 +748,6 @@ .description = "Reference Counting", .enabled = 0, .loglevel = LOGL_NOTICE, }, - [DNAT] = { - .name = "DNAT", - .description = "GSM 08.08 NAT/Multiplexer", - .enabled = 1, .loglevel = LOGL_NOTICE, - }, [DCTRL] = { .name = "DCTRL", .description = "Control interface", @@ -915,7 +910,7 @@ llist_for_each_entry(msc, &bsc_gsmnet->bsc_data->mscs, entry) { if (osmo_bsc_msc_init(msc) != 0) { - LOGP(DNAT, LOGL_ERROR, "Failed to start up. Exiting.\n"); + LOGP(DMSC, LOGL_ERROR, "Failed to start up. Exiting.\n"); exit(1); } } diff --git a/tests/bsc/bsc_test.c b/tests/bsc/bsc_test.c index 86b7282..6079ec5 100644 --- a/tests/bsc/bsc_test.c +++ b/tests/bsc/bsc_test.c @@ -192,11 +192,6 @@ .color = "\033[1;36m", .enabled = 1, .loglevel = LOGL_INFO, }, - [DNAT] = { - .name = "DNAT", - .description = "GSM 08.08 NAT/Multiplexer", - .enabled = 1, .loglevel = LOGL_NOTICE, - }, [DMSC] = { .name = "DMSC", .description = "Mobile Switching Center", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17698 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id965295dfe04f8bd5ce831db70c86f67b8dc290b Gerrit-Change-Number: 17698 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 Wed Apr 1 10:06:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:06:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: fix as_l1_count_paging(): do not count PCH filling messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17683 ) Change subject: BTS: fix as_l1_count_paging(): do not count PCH filling messages ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17683 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: I420f36ed000b1c2488fbe500c33a8161e27d20e3 Gerrit-Change-Number: 17683 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 10: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 Wed Apr 1 10:06:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:06:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: fix as_l1_count_paging(): do not count PCH filling messages In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17683 ) Change subject: BTS: fix as_l1_count_paging(): do not count PCH filling messages ...................................................................... BTS: fix as_l1_count_paging(): do not count PCH filling messages Since build #842, both TC_paging_{i|t}msi_80percent started to fail: "BTS_Tests.ttcn:3051 : Expected 271 pagings but have 284" BTS_Tests.ttcn:6414 BTS_Tests control part BTS_Tests.ttcn:3051 TC_paging_imsi_80percent testcase "BTS_Tests.ttcn:3075 : Expected 543 pagings but have 553" BTS_Tests.ttcn:6415 BTS_Tests control part BTS_Tests.ttcn:3075 TC_paging_tmsi_80percent testcase As it turns out, since If5339c7a91b4e0188194f1cd935798f153974e01 TITAN can decode PCH filling messages with no Mobile Identity. We should not count them in as_l1_count_paging(), as they're sent by osmo-bts itself. Change-Id: I420f36ed000b1c2488fbe500c33a8161e27d20e3 Fixes: OS#4475 --- M bts/BTS_Tests.ttcn 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/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index a2b4af7..794d604 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -2866,7 +2866,10 @@ check_pch_fn(dl.dl_info.frame_nr, cfg.bs_ag_blks_res); - if (match(rr, tr_PAGING_REQ1)) { + if (match(rr, tr_PAGING_REQ1(tr_MI_LV(t_MI_NoIdentity(?))))) { + /* Ignore empty RR Paging Request (PCH filling) messages. + * TODO: does it make sense to count them? */ + } else if (match(rr, tr_PAGING_REQ1)) { num_paging_rcv_msgs := num_paging_rcv_msgs + 1; num_paging_rcv_ids := num_paging_rcv_ids + 1; if (ispresent(rr.msgs.rrm.pagingReq_Type1.mobileIdentity2)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17683 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: I420f36ed000b1c2488fbe500c33a8161e27d20e3 Gerrit-Change-Number: 17683 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 Wed Apr 1 10:07:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:07:04 +0000 Subject: Change in openbsc[master]: debug: use only LOGL_NOTICE as default loglevel In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/openbsc/+/17605 ) Change subject: debug: use only LOGL_NOTICE as default loglevel ...................................................................... Abandoned not maintaining openbsc.git anymore -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/17605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Id2bca6ec3d29a3d10e84f9b3067be09b64a6b587 Gerrit-Change-Number: 17605 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 Wed Apr 1 10:07:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:07:19 +0000 Subject: Change in osmo-trx[master]: debug: use LOGL_NOTICE for log category DDEV In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17610 ) Change subject: debug: use LOGL_NOTICE for log category DDEV ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I56d45ce5c3f55574491ffa6e4d902d6ba7499d46 Gerrit-Change-Number: 17610 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 10:07: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 Apr 1 10:07:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:07:22 +0000 Subject: Change in osmo-trx[master]: debug: use LOGL_NOTICE for log category DDEV In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17610 ) Change subject: debug: use LOGL_NOTICE for log category DDEV ...................................................................... debug: use LOGL_NOTICE for log category DDEV The log category DDEV ueses LOGL_INFO as debug level. This is too verbose, lets use LOGL_NOTICE instead Change-Id: I56d45ce5c3f55574491ffa6e4d902d6ba7499d46 Related: OS#2577 --- M CommonLibs/debug.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/CommonLibs/debug.c b/CommonLibs/debug.c index 5e09079..b33476e 100644 --- a/CommonLibs/debug.c +++ b/CommonLibs/debug.c @@ -73,7 +73,7 @@ .name = "DDEV", .description = "Device/Driver specific code", .color = NULL, - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DDEVDRV] = { .name = "DDEVDRV", -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I56d45ce5c3f55574491ffa6e4d902d6ba7499d46 Gerrit-Change-Number: 17610 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 Wed Apr 1 10:08:46 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 1 Apr 2020 10:08:46 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{ue, enb}: change UHD stream args and buffer size as function of c... In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 to look at the new patch set (#5). Change subject: srs_{ue,enb}: change UHD stream args and buffer size as function of cell width for B2XX ...................................................................... srs_{ue,enb}: change UHD stream args and buffer size as function of cell width for B2XX Change-Id: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc --- M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 2 files changed, 47 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/50/17650/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 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: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc Gerrit-Change-Number: 17650 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 Wed Apr 1 10:08:46 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 1 Apr 2020 10:08:46 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: add config to adjust the duration of the iperf run In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 to look at the new patch set (#7). Change subject: iperf3: add config to adjust the duration of the iperf run ...................................................................... iperf3: add config to adjust the duration of the iperf run the time is passed as a string param and is then converted into seconds when literals "h" or "m" are found. So it would accept 2m and would convert it to 120s, for example. Example: +cfg-iperf3-time at 15+ Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d --- M example/defaults.conf A example/scenarios/cfg-iperf3-time at .conf M src/osmo_gsm_tester/iperf3.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/schema.py M suites/4g/iperf3_dl.py M suites/4g/iperf3_ul.py 7 files changed, 38 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/51/17651/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 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: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d Gerrit-Change-Number: 17651 Gerrit-PatchSet: 7 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 10:09:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:09:04 +0000 Subject: Change in osmo-sgsn[master]: gsup: send RAT type on LU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/16745 ) Change subject: gsup: send RAT type on LU ...................................................................... Patch Set 1: > Patch Set 1: > > That's weird -- in my memory I looked for anything in 29.002 reflecting the RAT type in the MAP_UPDATE_LOCATION, and only found the list of supported RAT types. I don't recall that we actually also added a current_rat_type, but it is listed in the libosmocore log as authored by me. I am certain that I wouldn't have bothered with the weird list of supported RAT types if there had been a simple current-RAT-type indicator in the MAP protocol. Was my patch amended by someone else ... or did I come here from an alternate timeline? (would explain the weird worldwide curfew, too) It could very well be that I amended the related patch at the time. For sure you first had the array of types and then I commented on the fact that the list of RAT types != the current RAT type. I also needed that distinction for the osmo_dia2gsup code to work -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/16745 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I5dbe610738aed7ea1edf6b33543b1c03818cc274 Gerrit-Change-Number: 16745 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 01 Apr 2020 10:09: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 Wed Apr 1 10:11:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:11:13 +0000 Subject: Change in osmo-msc[master]: manual: link to new common cs7-config.adoc, remove some dup of that In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17580 ) Change subject: manual: link to new common cs7-config.adoc, remove some dup of that ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/17580/2/doc/manuals/chapters/running.adoc File doc/manuals/chapters/running.adoc: https://gerrit.osmocom.org/c/osmo-msc/+/17580/2/doc/manuals/chapters/running.adoc at 104 PS2, Line 104: sctp-role client > it's not necessary; that's explained in <> ;) I think it is confusing to the user. If I have read anything about SIGTRAN, then I would assume both an AS and an ASP needs to be configured. Having only either of the two just seems odd... -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie88dd2c7f7318a31ae04fbd6930346d92141fde5 Gerrit-Change-Number: 17580 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 10:11:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 10:11:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:11:18 +0000 Subject: Change in osmo-msc[master]: manual: add missing mention of MGCP in "Multiple instances" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17579 ) Change subject: manual: add missing mention of MGCP in "Multiple instances" ...................................................................... manual: add missing mention of MGCP in "Multiple instances" Change-Id: I91d06921e4dca08428bf45fc1a3fd6e124599371 --- M doc/manuals/chapters/running.adoc 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve neels: Looks good to me, approved diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index 03dade6..4bd3913 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -84,6 +84,7 @@ - The SCCP/M3UA links are established by OsmoMSC contacting an STP. - The GSUP link is established by OsmoMSC contacting an HLR. +- The MGCP link is established by OsmoMSC contacting an MGW. === Configure primary links -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I91d06921e4dca08428bf45fc1a3fd6e124599371 Gerrit-Change-Number: 17579 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Wed Apr 1 10:12:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:12:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Ensure osmo-bsc.fg + BSC_Tests_CBSP.ttcn defaults match In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17682 ) Change subject: bsc: Ensure osmo-bsc.fg + BSC_Tests_CBSP.ttcn defaults match ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17682 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: I9d6ed0aed34bb983c8db225c7762ceffa642decd Gerrit-Change-Number: 17682 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 10: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 Wed Apr 1 10:12:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:12:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Ensure osmo-bsc.fg + BSC_Tests_CBSP.ttcn defaults match In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17682 ) Change subject: bsc: Ensure osmo-bsc.fg + BSC_Tests_CBSP.ttcn defaults match ...................................................................... bsc: Ensure osmo-bsc.fg + BSC_Tests_CBSP.ttcn defaults match We want to make sure that the tests + config match Change-Id: I9d6ed0aed34bb983c8db225c7762ceffa642decd --- M bsc/BSC_Tests_CBSP.ttcn M bsc/osmo-bsc.cfg 2 files changed, 16 insertions(+), 12 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index bf1d99e..ff054fe 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -42,14 +42,14 @@ integer mp_cbc_port := 48049; integer mp_bsc_cbsp_port := 48050; - /* BTS 0: 262-42-1-0 with CBCH - * BTS 1: 262-42-1-1 with CBCH - * BTS 2: 262-42-2-1 with CBCH - * BTS 3: 262-42-2-3 without CBCH */ - GsmCgiAbstract mp_cgi_bts0 := { '262'H, '42'H, 1, 0 }; - GsmCgiAbstract mp_cgi_bts1 := { '262'H, '42'H, 1, 1 }; - GsmCgiAbstract mp_cgi_bts2 := { '262'H, '42'H, 2, 1 }; - GsmCgiAbstract mp_cgi_bts3 := { '262'H, '42'H, 2, 3 }; + /* BTS 0: 001-01-1-0 with CBCH + * BTS 1: 001-01-1-1 with CBCH + * BTS 2: 001-01-2-1 with CBCH + * BTS 3: 001-01-2-3 without CBCH */ + GsmCgiAbstract mp_cgi_bts0 := { '001'H, '01'H, 1, 0 }; + GsmCgiAbstract mp_cgi_bts1 := { '001'H, '01'H, 1, 1 }; + GsmCgiAbstract mp_cgi_bts2 := { '001'H, '01'H, 2, 1 }; + GsmCgiAbstract mp_cgi_bts3 := { '001'H, '01'H, 2, 3 }; } private type record GsmCgiAbstract { diff --git a/bsc/osmo-bsc.cfg b/bsc/osmo-bsc.cfg index 74fe255..f490433 100644 --- a/bsc/osmo-bsc.cfg +++ b/bsc/osmo-bsc.cfg @@ -134,7 +134,7 @@ max_power_red 20 rsl e1 tei 0 timeslot 0 - phys_chan_config CCCH+SDCCH4 + phys_chan_config CCCH+SDCCH4+CBCH hopping enabled 0 timeslot 1 phys_chan_config TCH/F @@ -224,7 +224,7 @@ max_power_red 20 rsl e1 tei 0 timeslot 0 - phys_chan_config CCCH+SDCCH4 + phys_chan_config CCCH+SDCCH4+CBCH hopping enabled 0 timeslot 1 phys_chan_config TCH/F @@ -314,7 +314,7 @@ max_power_red 20 rsl e1 tei 0 timeslot 0 - phys_chan_config CCCH+SDCCH4 + phys_chan_config CCCH+SDCCH4+CBCH hopping enabled 0 timeslot 1 phys_chan_config TCH/F @@ -341,7 +341,7 @@ type sysmobts band DCS1800 cell_identity 3 - location_area_code 3 + location_area_code 2 # re-use bts 2's ARFCN 871 and BSIC 12 (to test handover config) base_station_id_code 12 trx 0 @@ -387,3 +387,7 @@ mid-call-timeout 0 no missing-msc-text access-list-name bsc-list +cbc + remote-ip 127.0.0.1 + remote-port 48049 + listen-port 48050 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17682 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: I9d6ed0aed34bb983c8db225c7762ceffa642decd Gerrit-Change-Number: 17682 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 gerrit-no-reply at lists.osmocom.org Wed Apr 1 10:13:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:13:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: mgw: use library version of RTP_CodecPort_CtrlFunct In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17680 ) Change subject: mgw: use library version of RTP_CodecPort_CtrlFunct ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17680 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: I14f80051f6a168b7a8155c6e523c085e974b62b5 Gerrit-Change-Number: 17680 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 10:13: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 Apr 1 10:14:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:14:27 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback voice frames In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17381 ) Change subject: mobile: loopback voice frames ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Icd0b8d00c855db1a6ff5e35e10c8ff67b7ad5c83 Gerrit-Change-Number: 17381 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 01 Apr 2020 10:14: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 Apr 1 10:16:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:16:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Initial SIMTRACE testsuite In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17676 ) Change subject: Initial SIMTRACE testsuite ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17676 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: If9fa66b6c5fbddd742ff61fa2c1345736d07accd Gerrit-Change-Number: 17676 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 10:16: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 Wed Apr 1 10:16:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:16:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Initial SIMTRACE testsuite In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17676 ) Change subject: Initial SIMTRACE testsuite ...................................................................... Initial SIMTRACE testsuite This doesn't really do much yet in terms of test coverage, but it adds all related infrastructure Change-Id: If9fa66b6c5fbddd742ff61fa2c1345736d07accd --- M Makefile M library/General_Types.ttcn A simtrace/SIMTRACE_CARDEM_Tests.ttcn A simtrace/SIMTRACE_Emulation.ttcn A simtrace/SIMTRACE_Templates.ttcn A simtrace/SIMTRACE_Tests.ttcn A simtrace/SIMTRACE_Types.ttcn A simtrace/gen_links.sh A simtrace/regen_makefile.sh 9 files changed, 1,068 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/Makefile b/Makefile index 4ceacf3..90b54b3 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -SUBDIRS=bsc bsc-nat bts ggsn_tests hlr mgw msc pcu remsim sccp selftest sgsn sip stp sysinfo +SUBDIRS=bsc bsc-nat bts ggsn_tests hlr mgw msc pcu remsim sccp selftest sgsn \ + simtrace sip stp sysinfo NPROC=$(shell nproc 2>/dev/null) ifeq ($(NPROC),) diff --git a/library/General_Types.ttcn b/library/General_Types.ttcn index 924f28b..da396b7 100644 --- a/library/General_Types.ttcn +++ b/library/General_Types.ttcn @@ -75,6 +75,7 @@ type bitstring BIT15 length(15) with { variant "FIELDLENGTH(15)" }; type bitstring BIT16 length(16) with { variant "FIELDLENGTH(16)" }; type bitstring BIT24 length(24) with { variant "FIELDLENGTH(24)" }; + type bitstring BIT27 length(27) with { variant "FIELDLENGTH(27)" }; type bitstring BIT28 length(28) with { variant "FIELDLENGTH(28)" }; type bitstring BIT29 length(29) with { variant "FIELDLENGTH(29)" }; type bitstring BIT30 length(30) with { variant "FIELDLENGTH(30)" }; diff --git a/simtrace/SIMTRACE_CARDEM_Tests.ttcn b/simtrace/SIMTRACE_CARDEM_Tests.ttcn new file mode 100644 index 0000000..0f7a31f --- /dev/null +++ b/simtrace/SIMTRACE_CARDEM_Tests.ttcn @@ -0,0 +1,10 @@ +module SIMTRACE_CARDEM_Tests { + +import from General_Types all; +import from Osmocom_Types all; + +import from SIMTRACE_Tests all; +import from SIMTRACE_Types all; +import from SIMTRACE_Templates all; + +} diff --git a/simtrace/SIMTRACE_Emulation.ttcn b/simtrace/SIMTRACE_Emulation.ttcn new file mode 100644 index 0000000..c907608 --- /dev/null +++ b/simtrace/SIMTRACE_Emulation.ttcn @@ -0,0 +1,175 @@ +module SIMTRACE_Emulation { + +import from General_Types all; +import from Osmocom_Types all; +import from Misc_Helpers all; + +import from USB_PortType all; +import from USB_Types all; +import from USB_Templates all; +import from USB_Component all; +import from USB_PortTypes all; + +import from SIMTRACE_Types all; +import from SIMTRACE_Templates all; + +/* one USB interface */ +type component ST_Emulation_CT extends USB_CT { + var integer g_ep_in; + var integer g_ep_out; + var integer g_ep_irq; + var USB_IF_Params g_pars; + + port ST_USER_PT INOUT; + port ST_USER_PT IRQ; +}; + +type port ST_USER_PT message { + inout SIMTRACE_PDU; +} with { extension "internal" }; + +/* configuration for a ST_Emulation_CT */ +type record USB_IF_Params { + USB_Device_Match usb_dev_match, + integer usb_if_nr +}; + +private const octetstring c_oct261 := '000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'O; + +private function f_usb_submit_xfer(USB_endpoint ep, octetstring data := c_oct261, + USB_transfer_type ttype := USB_TRANSFER_TYPE_BULK, + integer tout_ms := 30000) runs on USB_CT +{ + var integer req_hdl := f_usb_get_req_hdl(); + var USB_transfer xfer := { + device_hdl := g_dev_hdl, + transfer_hdl := req_hdl, + endpoint := ep, + ttype := ttype, + data := data, + timeout_msec := tout_ms + }; + USB.send(xfer); +} + +/* open libusb device; claim interface; resolve endpoints; submit IN/IRQ transfers */ +function main(USB_IF_Params pars) runs on ST_Emulation_CT { + var USB_Descriptor_Node root; + var integer i_config; + var integer i; + + g_pars := pars; + + f_usb_init(g_pars.usb_dev_match); + + i_config := f_usb_get_config(); + log("USB Configuration: ", i_config); + + root := f_usb_get_desc_tree(); + log(root); + + /* iterate over list of interfaces in current configuration */ + for (i := 0; i < lengthof(root.children[i_config].children); i:=i+1) { + var USB_Descriptor_Node ifn := root.children[i_config].children[i]; + var USB_InterfaceDescriptor ifd := ifn.desc.interface; + var integer j; + if (ifd.bInterfaceNumber != g_pars.usb_if_nr) { + continue; + } + /* determine endpoints inside interface */ + for (j := 0; j < lengthof(ifn.children); j:=j+1) { + if (ischosen(ifn.children[j].desc.endpoint)) { + var USB_EndpointDescriptor epd := ifn.children[j].desc.endpoint; + select (epd.bmAttributes.TranferType) { + case (USB_EpTransfer_BULK) { + if (epd.bEndpointAddress and4b '80'O == '80'O) { + g_ep_in := oct2int(epd.bEndpointAddress); + } else { + g_ep_out := oct2int(epd.bEndpointAddress); + } + } + case (USB_EpTransfer_INTERRUPT) { + g_ep_irq := oct2int(epd.bEndpointAddress); + } + } + } + } + } + + log("USB Endpoints found: IN: ", int2oct(g_ep_in, 1), ", OUT: ", int2oct(g_ep_out, 1), + " IRQ: ", int2oct(g_ep_irq, 1)); + + f_usb_claim_interface(g_dev_hdl, g_pars.usb_if_nr); + + /* submit xfer fro IN and IRQ endpoints */ + f_usb_submit_xfer(g_ep_in); + f_usb_submit_xfer(g_ep_irq, ttype := USB_TRANSFER_TYPE_INTERRUPT); + + var USB_transfer_compl tc; + var SIMTRACE_PDU stpdu_out, stpdu_in; + while (true) { + alt { + [] USB.receive(tr_UsbXfer_compl(g_ep_out, USB_TRANSFER_TYPE_BULK, + USB_TRANSFER_COMPLETED, g_dev_hdl, ?)) { + /* do nothing; normal completion of OUT transfer */ + } + [] USB.receive(tr_UsbXfer_compl(g_ep_in, USB_TRANSFER_TYPE_BULK, + USB_TRANSFER_COMPLETED, g_dev_hdl, ?)) -> value tc { + /* Submit another IN transfer */ + f_usb_submit_xfer(g_ep_in); + stpdu_in := dec_SIMTRACE_PDU(tc.data); + INOUT.send(stpdu_in); + } + [] USB.receive(tr_UsbXfer_compl(g_ep_irq, USB_TRANSFER_TYPE_INTERRUPT, + USB_TRANSFER_COMPLETED, g_dev_hdl, ?))-> value tc { + /* Submit another IRQ transfer */ + f_usb_submit_xfer(g_ep_irq, ttype := USB_TRANSFER_TYPE_INTERRUPT); + stpdu_in := dec_SIMTRACE_PDU(tc.data); + IRQ.send(stpdu_in); + } + [] USB.receive(tr_UsbXfer_compl(g_ep_irq, USB_TRANSFER_TYPE_INTERRUPT, + USB_TRANSFER_TIMED_OUT, g_dev_hdl, ?)) -> value tc { + /* Submit another IRQ transfer */ + f_usb_submit_xfer(g_ep_irq, ttype := USB_TRANSFER_TYPE_INTERRUPT); + } + [] USB.receive(tr_UsbXfer_compl(?, ?, USB_TRANSFER_STALL, g_dev_hdl, ?)) -> value tc { + setverdict(fail, "Unexpected USB_TRANSFER_STALL on EP ", int2hex(tc.endpoint, 2)); + //mtc.stop; + /* Submit another IN transfer */ + f_usb_submit_xfer(tc.endpoint); + } + [] USB.receive(tr_UsbXfer_compl(?, ?, USB_TRANSFER_ERROR, g_dev_hdl, ?)) -> value tc { + setverdict(fail, "Unexpected USB_TRANSFER_ERROR on EP ", int2hex(tc.endpoint, 2)); + mtc.stop; + } + [] USB.receive(tr_UsbXfer_compl(?, ?, USB_TRANSFER_TIMED_OUT, g_dev_hdl, ?)) -> value tc { + setverdict(fail, "Unexpected USB_TRANSFER_TIMED_OUT on EP ", int2hex(tc.endpoint, 2)); + mtc.stop; + } + [] USB.receive(tr_UsbXfer_compl(?, ?, USB_TRANSFER_OVERFLOW, g_dev_hdl, ?)) -> value tc { + setverdict(fail, "Unexpected USB_TRANSFER_OVERFLOW on EP ", int2hex(tc.endpoint, 2)); + mtc.stop; + } + [] USB.receive(tr_UsbXfer_compl(?, ?, ?, g_dev_hdl, ?)) -> value tc { + setverdict(fail, "Unexpected USB Endpoint ", int2hex(tc.endpoint, 2)); + mtc.stop; + } + [] USB.receive(tr_UsbXfer_compl(?, ?, ?, ?, ?)) -> value tc { + setverdict(fail, "Unexpected USB Device ", tc.device_hdl); + mtc.stop; + } + [] USB.receive { + setverdict(fail, "Unexpected Message from USB"); + mtc.stop; + } + + + [] INOUT.receive(SIMTRACE_PDU:?) -> value stpdu_out { + f_usb_submit_xfer(g_ep_out, enc_SIMTRACE_PDU(stpdu_out), tout_ms := 3000); + } + } + } +} + + +} diff --git a/simtrace/SIMTRACE_Templates.ttcn b/simtrace/SIMTRACE_Templates.ttcn new file mode 100644 index 0000000..934253e --- /dev/null +++ b/simtrace/SIMTRACE_Templates.ttcn @@ -0,0 +1,333 @@ +module SIMTRACE_Templates { + +import from SIMTRACE_Types all; +import from General_Types all; +import from Osmocom_Types all; + +/* TTCN-3 templates Osmocom SIMTRACE2 + * as found in simtrace2.git/host/include/osmocom/simtrace2/simtrace_prot.h + * + * (C) 2020 by Harald Welte + */ + + +/*********************************************************************** + * GENERAL + ***********************************************************************/ + +template (value) SIMTRACE_PDU +ts_SIMTRACE(template (value) SIMTRACE_MsgClassType msg_type, + template (value) SIMTRACE_Payload payload) := { + msg_type := msg_type, + seq_nr := 0, + slot_nr := 0, + reserved := '0000'O, + msg_len := 0, /* overwritten */ + payload := payload +} +template (present) SIMTRACE_PDU +tr_SIMTRACE(template (present) SIMTRACE_MsgClassType msg_type, + template (present) SIMTRACE_Payload payload) := { + msg_type := msg_type, + seq_nr := ?, + slot_nr := ?, + reserved := '0000'O, + msg_len := ?, + payload := payload +} + +template (value) SIMTRACE_PDU ts_SIMTRACE_BOARD_INFO := + ts_SIMTRACE(SIMTRACE_CMD_BD_BOARD_INFO, + { gen_bd_board_info := { + hardware := { + manufacturer := "", + model := "", + version := "" + }, + software := { + provider := "", + name := "", + version := "", + buildhost := "", + crc := '00000000'O + }, + max_baud_rate := 0, + cap_generic_bytes := 0, + cap_vendor_bytes := 0, + cap_generic := omit, + cap_vendor := omit + } + }); +template (present) SIMTRACE_PDU +tr_SIMTRACE_BOARD_INFO(template (present) Board_Info_Hardware hw := ?, + template (present) Board_Info_Software sw := ?, + template Generic_Capability cap_gen := *, + template Generic_Capability_Vendor cap_vend := *) := + tr_SIMTRACE(SIMTRACE_CMD_BD_BOARD_INFO, + { gen_bd_board_info := { + hardware := hw, + software := sw, + max_baud_rate := ?, + cap_generic_bytes := ?, + cap_vendor_bytes := ?, + cap_generic := cap_gen, + cap_vendor := cap_vend + } + }); + + +/*********************************************************************** + * CARD EMULATION + ***********************************************************************/ + +/* dummy flags for BD_STATUS [request] */ +template (value) CardEmu_StatusFlags ts_CardEmu_StatusFlags := { + reserved := '000'B, + reset_active := false, + card_insert := false, + rcemu_active := false, + clk_active := false, + vcc_present := false, + reserved2 := '000000000000000000000000'B +}; +template (present) CardEmu_StatusFlags +tr_CardEmu_StatusFlags(template (present) boolean reset_active := ?, + template (present) boolean card_insert := ?, + template (present) boolean clk_active := ?, + template (present) boolean vcc_present := ?, + template (present) boolean rcemu_active := ?) := { + reserved := ?, + reset_active := reset_active, + card_insert := card_insert, + rcemu_active := rcemu_active, + clk_active := clk_active, + vcc_present := vcc_present, + reserved2 := ? +}; + +template (value) CardEmu_DataFlags +ts_CardEmu_DataFlags(template (value) boolean pb_and_rx := false, + template (value) boolean pb_and_tx := false, + template (value) boolean final := false, + template (value) boolean tpdu_hdr := false) := { + reserved := '0000'B, + pb_and_rx := pb_and_rx, + pb_and_tx := pb_and_tx, + final := final, + tpdu_hdr := tpdu_hdr, + reserved2 := '000000000000000000000000'B +}; +template (present) CardEmu_DataFlags +tr_CardEmu_DataFlags(template (present) boolean pb_and_rx := ?, + template (present) boolean pb_and_tx := ?, + template (present) boolean final := ?, + template (present) boolean tpdu_hdr := ?) := { + reserved := ?, + pb_and_rx := pb_and_rx, + pb_and_tx := pb_and_tx, + final := final, + tpdu_hdr := tpdu_hdr, + reserved2 := ? +}; + + +template (value) SIMTRACE_PDU + ts_SIMTRACE_CEMU_TX_DATA(template (value) CardEmu_DataFlags flags, + template (value) octetstring data) := +ts_SIMTRACE(SIMTRACE_MSGT_DT_CEMU_TX_DATA, + { cardem_dt_txdata := { + flags := flags, + data_len := 0, /* overwritten */ + data := data } + }); + + +template (value) SIMTRACE_PDU +ts_SIMTRACE_CEMU_SET_ATR(template (value) octetstring atr) := + ts_SIMTRACE(SIMTRACE_MSGT_DT_CEMU_SET_ATR, + { cardem_dt_setatr := { atr_len := 0 /* overwritten */, atr := atr } }); + + +template (value) SIMTRACE_PDU +ts_SIMTRACE_CEMU_STATUS := + ts_SIMTRACE(SIMTRACE_MSGT_BD_CEMU_STATUS, + { cardem_bd_status := { + flags := ts_CardEmu_StatusFlags, + voltage_mv := 0, fi := 0, di := 0, wi := 0, waiting_time := 0 + } + }); + +template (present) SIMTRACE_PDU +tr_SIMTRACE_CEMU_STATUS(template (present) CardEmu_StatusFlags flags := ?, + template (present) uint16_t voltage_mv := ?, + template (present) uint8_t fi := ?, + template (present) uint8_t di := ?, + template (present) uint8_t wi := ?, + template (present) uint32_t waiting_time := ?) := + tr_SIMTRACE(SIMTRACE_MSGT_BD_CEMU_STATUS, + { cardem_bd_status := { + flags := flags, + voltage_mv := voltage_mv, + fi := fi, + di := di, + wi := wi, + waiting_time := waiting_time + }}); + + +template (value) SIMTRACE_PDU +ts_SIMTRACE_CEMU_CARDINSERT(uint8_t insert) := + ts_SIMTRACE(SIMTRACE_MSGT_DT_CEMU_CARDINSERT, + { cardem_dt_cardinsert := { card_insert := insert } }); + + +template (present) SIMTRACE_PDU +tr_SIMTRACE_CEMU_RX_DATA(template (present) CardEmu_DataFlags flags, + template (present) octetstring data) := + tr_SIMTRACE(SIMTRACE_MSGT_DO_CEMU_RX_DATA, + { cardem_do_rxdata := { + flags := flags, + data_len := ?, + data := data + } + }); + +template (present) SIMTRACE_PDU +tr_SIMTRACE_CEMU_PTS(template (present) octetstring req, template (present) octetstring resp) := + tr_SIMTRACE(SIMTRACE_MSGT_DO_CEMU_PTS, + { cardem_do_pts := { + pts_len := ?, + req := req, + resp := resp + } + }); + +template (value) CardEmu_FeatureFlags ts_FeatureFlags(boolean status_irq) := { + reserved := '0000000'B, + status_irq := status_irq, + reserved2 := '000000000000000000000000'B +} +template (present) CardEmu_FeatureFlags tr_FeatureFlags(template (present) boolean status_irq := ?) := { + reserved := '0000000'B, + status_irq := status_irq, + reserved2 := '000000000000000000000000'B +} + + +template (value) SIMTRACE_PDU +ts_SIMTRACE_CEMU_CONFIG(template (value) CardEmu_FeatureFlags flags) := + ts_SIMTRACE(SIMTRACE_MSGT_BD_CEMU_CONFIG, { cardem_bd_config := { features := flags } }); + +template (present) SIMTRACE_PDU +tr_SIMTRACE_CEMU_CONFIG(template (present) CardEmu_FeatureFlags flags) := + tr_SIMTRACE(SIMTRACE_MSGT_BD_CEMU_CONFIG, { cardem_bd_config := { features := flags } }); + + +/*********************************************************************** + * MODEM CONTROL + ***********************************************************************/ + +template (value) Modem_Status ts_ModemStatus(boolean card_inserted, boolean wwan_led) := { + reserved := '000000'B, + card_inserted := card_inserted, + wwan_led := wwan_led +} +template (present) Modem_Status tr_ModemStatus(template (present) boolean card_inserted, + template (present) boolean wwan_led) := { + reserved := ?, + card_inserted := card_inserted, + wwan_led := wwan_led +} + + + +template (value) SIMTRACE_PDU +ts_SIMTRACE_MODEM_RESET(ModemResetType rst_type := MODEM_RESET_PULSE, + uint16_t duration_msec := 400) := + ts_SIMTRACE(SIMTRACE_MSGT_DT_MODEM_RESET, + { modem_dt_reset := { + asserted := rst_type, + pulse_duration_msec := duration_msec + } + }); + +template (value) SIMTRACE_PDU +ts_SIMTRACE_MODEM_SIM_SELECT(SimSelect sim_sel) := + ts_SIMTRACE(SIMTRACE_MSGT_DT_MODEM_SIM_SELECT, + { modem_dt_sim_select := { + sim_select := sim_sel + } + }); + +template (value) SIMTRACE_PDU +ts_SIMTRACE_MODEM_STATUS := + ts_SIMTRACE(SIMTRACE_MSGT_BD_MODEM_STATUS, + { modem_bd_status := { + supported := ts_ModemStatus(false, false), + status := ts_ModemStatus(false, false), + changed := ts_ModemStatus(false, false) + } + }); +template (present) SIMTRACE_PDU +tr_SIMTRACE_MODEM_STATUS(template (present) Modem_Status supported := ?, + template (present) Modem_Status status := ?, + template (present) Modem_Status changed := ?) := + tr_SIMTRACE(SIMTRACE_MSGT_BD_MODEM_STATUS, + { modem_bd_status := { + supported := supported, + status := status, + changed := changed + } + }); + + +/*********************************************************************** + * SNIFFER + ***********************************************************************/ + +template (present) SIMTRACE_PDU +tr_SIMTRACE_SNIFF_CHANGE(template (present) Sniff_Flags flags) := + tr_SIMTRACE(SIMTRACE_MSGT_SNIFF_CHANGE, + { sniff_do_change := { flags := flags } }); + +template (present) SIMTRACE_PDU +tr_SIMTRACE_SNIFF_FIDI(template (present) uint8_t fidi := ?) := + tr_SIMTRACE(SIMTRACE_MSGT_SNIFF_FIDI, + { sniff_do_fidi := { fidi := fidi } }); + +template (present) SIMTRACE_PDU +tr_SIMTRACE_SNIFF_ATR(template (present) octetstring data, + template (present) Sniff_Flags flags := ?) := + tr_SIMTRACE(SIMTRACE_MSGT_SNIFF_FIDI, + { sniff_do_atr := { + flags := flags, + data_len := ?, + data := data + } + }); + +template (present) SIMTRACE_PDU +tr_SIMTRACE_SNIFF_PPS(template (present) octetstring data, + template (present) Sniff_Flags flags := ?) := + tr_SIMTRACE(SIMTRACE_MSGT_SNIFF_PPS, + { sniff_do_atr := { + flags := flags, + data_len := ?, + data := data + } + }); + +template (present) SIMTRACE_PDU +tr_SIMTRACE_SNIFF_TPDU(template (present) octetstring data, + template (present) Sniff_Flags flags := ?) := + tr_SIMTRACE(SIMTRACE_MSGT_SNIFF_TPDU, + { sniff_do_atr := { + flags := flags, + data_len := ?, + data := data + } + }); + + + +} diff --git a/simtrace/SIMTRACE_Tests.ttcn b/simtrace/SIMTRACE_Tests.ttcn new file mode 100644 index 0000000..90ac986 --- /dev/null +++ b/simtrace/SIMTRACE_Tests.ttcn @@ -0,0 +1,162 @@ +module SIMTRACE_Tests { + +import from General_Types all; +import from Osmocom_Types all; +import from Misc_Helpers all; + +import from USB_PortType all; +import from USB_Types all; +import from USB_Templates all; +import from USB_Component all; +import from USB_PortTypes all; + +import from SIMTRACE_Types all; +import from SIMTRACE_Templates all; +import from SIMTRACE_Emulation all; + +modulepar { + //USB_Device_Match mp_usb_dev_match := { vid_pid := { vid := '1d50'H, pid := '60e3'H} }; + USB_Device_Match mp_usb_dev_match := { vid_pid := { vid := '1d50'H, pid := '4004'H} }; + charstring mp_usb_path := "1-2.4.4"; + integer mp_usb_interface := 0; +} + +//private const integer NR_IF := 2; + +type component Test_CT { + var ST_Emulation_CT vc_ST; + port ST_USER_PT ST; + port ST_USER_PT ST_IRQ; +}; + +private template (value) USB_IF_Params ts_UsbPars_path(charstring path, uint8_t if_nr) := { + usb_dev_match := { + path := { + path := path + } + }, + usb_if_nr := if_nr +} + +function f_init(USB_IF_Params pars) runs on Test_CT { + vc_ST := ST_Emulation_CT.create("ST"); + map(vc_ST:USB, system:USB); + connect(vc_ST:INOUT, self:ST); + connect(vc_ST:IRQ, self:ST_IRQ); + vc_ST.start(SIMTRACE_Emulation.main(pars)); +} + +function f_drain() runs on Test_CT { + timer T := 0.1; + T.start; + alt { + [] ST.receive { + log("Drained msg from INOUT"); + repeat; + } + [] ST_IRQ.receive { + log("Drained msg from IRQ"); + repeat; + } + [] T.timeout { } + } +} + + +function f_xceive(template (value) SIMTRACE_PDU tx, template (present) SIMTRACE_PDU exp_rx) +runs on Test_CT return SIMTRACE_PDU { + var SIMTRACE_PDU rx; + timer T := 5.0; + + ST.send(tx); + T.start; + alt { + [] ST.receive(exp_rx) -> value rx { + T.stop; + } + [] T.timeout { + setverdict(fail, "Timeout waiting for ", exp_rx); + mtc.stop; + } + } + return rx; +} + +testcase TC_test() runs on Test_CT { + + var USB_IF_Params pars := valueof(ts_UsbPars_path(mp_usb_path, mp_usb_interface)); + f_init(pars); + f_drain(); + + /* Enable the use of the IRQ endpoint to report status updates */ + f_xceive(ts_SIMTRACE_CEMU_CONFIG(ts_FeatureFlags(true)), + tr_SIMTRACE_CEMU_CONFIG(tr_FeatureFlags(true))) + + /* Choose "remote" SIM */ + ST.send(ts_SIMTRACE_MODEM_SIM_SELECT(SIM_SELECT_REMOTE)); + /* Trigger modem reset pulse */ + ST.send(ts_SIMTRACE_MODEM_RESET); + + f_drain(); + + var SIMTRACE_PDU rx; + while (true) { + /* receive TPDU header */ + ST.receive(tr_SIMTRACE_CEMU_RX_DATA(tr_CardEmu_DataFlags(tpdu_hdr:=true), ?)) -> value rx; + var octetstring apdu_hdr := rx.payload.cardem_do_rxdata.data; + /* send PB and request further Rx (command bytes) */ + ST.send(ts_SIMTRACE_CEMU_TX_DATA(ts_CardEmu_DataFlags(pb_and_rx:=true), apdu_hdr[1])); + /* receive remaining data from reader */ + ST.receive(tr_SIMTRACE_CEMU_RX_DATA(tr_CardEmu_DataFlags(final:=true), ?)); + ST.send(ts_SIMTRACE_CEMU_TX_DATA(ts_CardEmu_DataFlags(pb_and_tx:=true), '9000'O)); + } + + f_sleep(100.0); + + +} + +/* Test how firmware reacts on overly-long message (OS#4429, OS#4428) */ +testcase TC_long_out() runs on Test_CT { + var USB_IF_Params pars := valueof(ts_UsbPars_path(mp_usb_path, mp_usb_interface)); + f_init(pars); + f_drain(); + + ST.send(ts_SIMTRACE_CEMU_TX_DATA(ts_CardEmu_DataFlags, f_rnd_octstring(300))); + f_sleep(5.0); + /* FIXME: how to verify the device did not reset itself? */ +} + + +/* flood the OUT endpoint with 1000 messages; much more than the firmware can handle */ +testcase TC_flood_out() runs on Test_CT { + var USB_IF_Params pars := valueof(ts_UsbPars_path(mp_usb_path, mp_usb_interface)); + f_init(pars); + f_drain(); + + var integer i; + for (i := 0; i < 1000; i := i+1) { + ST.send(ts_SIMTRACE_CEMU_TX_DATA(ts_CardEmu_DataFlags, f_rnd_octstring(10))); + } + f_sleep(5.0); + /* FIXME: how to verify the device is still responsive? */ +} + + +testcase TC_selftest() runs on Test_CT { + const octetstring c_cemu_sim_rem := '020200000000090001'O; + const octetstring c_cemu_rx := '010600000000130001000000050000A4000402'O; + /* 0106000000001300 + 01000000 + 0500 + 00A4000402 + */ + log(dec_SIMTRACE_PDU(c_cemu_rx)); +} + + + + + + +} diff --git a/simtrace/SIMTRACE_Types.ttcn b/simtrace/SIMTRACE_Types.ttcn new file mode 100644 index 0000000..7b1c857 --- /dev/null +++ b/simtrace/SIMTRACE_Types.ttcn @@ -0,0 +1,356 @@ +module SIMTRACE_Types { + +/* TTCN-3 data types with TITAN RAW codec annotations for Osmocom SIMTRACE2 + * as found in simtrace2.git/host/include/osmocom/simtrace2/simtrace_prot.h + * + * (C) 2020 by Harald Welte + */ + +import from General_Types all; +import from Osmocom_Types all; + +type integer u16le_t (0..65535) with { variant "unsigned 16 bit" variant "BYTEORDER(first)" }; +type integer u32le_t (0..4294967295) with { variant "unsigned 32 bit" variant "BYTEORDER(first)" }; +type charstring CHAR32 length (0..32) with { variant "FIELDLENGTH(32)" }; + +type enumerated SIMTRACE_MsgClassType { + /* SIMTRACE_MSGC_GENERIC */ + SIMTRACE_CMD_DO_ERROR ('0000'H), + SIMTRACE_CMD_BD_BOARD_INFO ('0001'H), + + /* SIMTRACE_MSGC_CARDEM */ + SIMTRACE_MSGT_DT_CEMU_TX_DATA ('0101'H), + SIMTRACE_MSGT_DT_CEMU_SET_ATR ('0102'H), + SIMTRACE_MSGT_BD_CEMU_STATS ('0103'H), + SIMTRACE_MSGT_BD_CEMU_STATUS ('0104'H), + SIMTRACE_MSGT_DT_CEMU_CARDINSERT ('0105'H), + SIMTRACE_MSGT_DO_CEMU_RX_DATA ('0106'H), + SIMTRACE_MSGT_DO_CEMU_PTS ('0107'H), + SIMTRACE_MSGT_BD_CEMU_CONFIG ('0108'H), + + /* SIMTRACE_MSGC_MODEM */ + SIMTRACE_MSGT_DT_MODEM_RESET ('0201'H), + SIMTRACE_MSGT_DT_MODEM_SIM_SELECT ('0202'H), + SIMTRACE_MSGT_BD_MODEM_STATUS ('0203'H), + + /* SIMTRACE_MSGC_SNIFF */ + SIMTRACE_MSGT_SNIFF_CHANGE ('0300'H), + SIMTRACE_MSGT_SNIFF_FIDI ('0301'H), + SIMTRACE_MSGT_SNIFF_ATR ('0302'H), + SIMTRACE_MSGT_SNIFF_PPS ('0303'H), + SIMTRACE_MSGT_SNIFF_TPDU ('0304'H) +} with { variant "FIELDLENGTH(16)" variant "BYTEORDER(last)" }; + +type record SIMTRACE_PDU { + SIMTRACE_MsgClassType msg_type, + uint8_t seq_nr, + uint8_t slot_nr, + OCT2 reserved, + u16le_t msg_len, + SIMTRACE_Payload payload + /* payload */ +} with { + variant (msg_len) "LENGTHTO(msg_type,seq_nr,slot_nr,reserved,msg_len,payload)" + variant (payload) "CROSSTAG( + gen_do_error, msg_type = SIMTRACE_CMD_DO_ERROR; + gen_bd_board_info, msg_type = SIMTRACE_CMD_BD_BOARD_INFO; + + cardem_dt_txdata, msg_type = SIMTRACE_MSGT_DT_CEMU_TX_DATA; + cardem_dt_setatr, msg_type = SIMTRACE_MSGT_DT_CEMU_SET_ATR; + /* FIXME: stats */ + cardem_bd_status, msg_type = SIMTRACE_MSGT_BD_CEMU_STATUS; + cardem_dt_cardinsert, msg_type = SIMTRACE_MSGT_DT_CEMU_CARDINSERT; + cardem_do_rxdata, msg_type = SIMTRACE_MSGT_DO_CEMU_RX_DATA; + cardem_do_pts, msg_type = SIMTRACE_MSGT_DO_CEMU_PTS; + cardem_bd_config, msg_type = SIMTRACE_MSGT_BD_CEMU_CONFIG; + + modem_dt_reset, msg_type = SIMTRACE_MSGT_DT_MODEM_RESET; + modem_dt_sim_select, msg_type = SIMTRACE_MSGT_DT_MODEM_SIM_SELECT; + modem_bd_status, msg_type = SIMTRACE_MSGT_BD_MODEM_STATUS; + + sniff_do_change, msg_type = SIMTRACE_MSGT_SNIFF_CHANGE; + sniff_do_fidi, msg_type = SIMTRACE_MSGT_SNIFF_FIDI; + sniff_do_atr, msg_type = SIMTRACE_MSGT_SNIFF_ATR; + sniff_do_pps, msg_type = SIMTRACE_MSGT_SNIFF_PPS; + sniff_do_tpdu, msg_type = SIMTRACE_MSGT_SNIFF_TPDU; + other, OTHERWISE; + )" +}; + +external function enc_SIMTRACE_PDU(in SIMTRACE_PDU pdu) return octetstring +with { extension "prototype(convert)" extension "encode(RAW)" }; + +external function dec_SIMTRACE_PDU(in octetstring stream) return SIMTRACE_PDU +with { extension "prototype(convert)" extension "decode(RAW)" }; + +type union SIMTRACE_Payload { + Generic_DO_Error gen_do_error, + Generic_BD_BoardInfo gen_bd_board_info, + + CardEmu_DT_TxData cardem_dt_txdata, + CardEmu_DT_SetAtr cardem_dt_setatr, + CardEmu_BD_Status cardem_bd_status, + Cardemu_DT_CardInsert cardem_dt_cardinsert, + CardEmu_DO_RxData cardem_do_rxdata, + CardEmu_DO_Pts cardem_do_pts, + CardEmu_BD_Config cardem_bd_config, + + Modem_DT_Reset modem_dt_reset, + Modem_DT_SimSelect modem_dt_sim_select, + Modem_BD_Status modem_bd_status, + + Sniff_DO_Change sniff_do_change, + Sniff_DO_FiDi sniff_do_fidi, + Sniff_DO_Data sniff_do_atr, + Sniff_DO_Data sniff_do_pps, + Sniff_DO_Data sniff_do_tpdu, + + octetstring other +}; + +/*********************************************************************** + * GENERIC + ***********************************************************************/ + +/* SIMTRACE_CMD_DO_ERROR */ +type record Generic_DO_Error { + uint8_t severity, + uint8_t subsystem, + u16le_t code, + uint8_t msg_len, + charstring msg +} with { + variant (msg_len) "LENGTHTO(msg)" +}; + +type record Generic_Capability_Vendor { + /* Can erase a peer SAM3 controller */ + boolean sysmo_qmod_erase_peer, + /* Can read/write an attached EEPROM */ + boolean sysmo_qmod_rw_eeprom, + /* can reset an attached USB hub */ + boolean sysmo_qmod_reset_hub +}; + +type record Generic_Capability { + /* compatible with 5V SIM card interface */ + boolean cap_volt_5v, + /* compatible with 3V SIM card interface */ + boolean cap_volt_3v, + /* compatible with 1.8V SIM card interface */ + boolean cap_volt_1v8, + boolean cap_led_1, + boolean cap_led_2, + /* Has Single-Pole Dual-Throw (local/remote SIM) */ + boolean cap_spdt, + /* Has Bus-Switch (trace / MITM) */ + boolean cap_bus_switch, + /* Can read VSIM via ADC */ + boolean cap_vsim_adc, + /* Can read temperature via ADC */ + boolean cap_temp_adc, + /* Supports DFU for firmware update */ + boolean cap_dfu, + /* Supports Ctrl EP command for erasing flash / return to SAM-BA */ + boolean cap_erase_flash, + /* Can read the status of card insert contact */ + boolean cap_read_card_det, + /* Can control the status of a simulated card insert */ + boolean cap_assert_card_det, + /* Can toggle the hardware reset of an attached modem */ + boolean cap_assert_modem_rst +}; + +type record Board_Info_Hardware { + CHAR32 manufacturer, + CHAR32 model, + CHAR32 version +}; + +type record Board_Info_Software { + CHAR32 provider, + CHAR32 name, + CHAR32 version, + CHAR32 buildhost, + OCT4 crc +}; + +type record Generic_BD_BoardInfo { + Board_Info_Hardware hardware, + Board_Info_Software software, + u32le_t max_baud_rate, + uint8_t cap_generic_bytes, + uint8_t cap_vendor_bytes, + Generic_Capability cap_generic optional, + Generic_Capability_Vendor cap_vendor optional +} with { + variant (cap_generic_bytes) "LENGTHTO(cap_generic)" + variant (cap_vendor_bytes) "LENGTHTO(cap_vendor)" +}; + + +/*********************************************************************** + * CARD EMULATOR / FORWARDER + ***********************************************************************/ + +/* CEMU_USB_MSGT_DT_CARDINSERT */ +type record Cardemu_DT_CardInsert { + uint8_t card_insert +}; + +/* CEMU_USB_MSGT_DT_SET_ATR */ +type record CardEmu_DT_SetAtr { + uint8_t atr_len, + octetstring atr +} with { + variant (atr_len) "LENGTHTO(atr)" +}; + +type record CardEmu_DataFlags { + /* First octet here is last octet of little-endian encoded uint32_t */ + BIT4 reserved, + /* indicates a PB is present and we should continue with RX */ + boolean pb_and_rx, + /* indicates a PB is present and we should continue with TX */ + boolean pb_and_tx, + /* indicates last part of transmission in this direction */ + boolean final, + /* indicates a TPDU header is present in this message */ + boolean tpdu_hdr, + BIT24 reserved2 +} with { variant "BITORDER(msb)" }; + +/* CEMU_USB_MSGT_DT_TX_DATA */ +type record CardEmu_DT_TxData { + CardEmu_DataFlags flags, + u16le_t data_len, + octetstring data +} with { + variant (data_len) "LENGTHTO(data)" +}; + +/* CEMU_USB_MSGT_DO_RX_DATA */ +type record CardEmu_DO_RxData { + CardEmu_DataFlags flags, + u16le_t data_len, + octetstring data +} with { + variant (data_len) "LENGTHTO(data)" +}; + +type record CardEmu_StatusFlags { + /* First octet here is last octet of little-endian encoded uint32_t */ + BIT3 reserved, + boolean reset_active, + boolean card_insert, + boolean rcemu_active, + boolean clk_active, + boolean vcc_present, + BIT24 reserved2 +}; + +/* CEMU_USB_MSGT_BD_STATUS */ +type record CardEmu_BD_Status { + CardEmu_StatusFlags flags, + u16le_t voltage_mv, + uint8_t fi, + uint8_t di, + uint8_t wi, + u32le_t waiting_time +}; + +/* CEMU_USB_MSGT_DO_PTS */ +type record CardEmu_DO_Pts { + uint8_t pts_len, + OCT6 req, + OCT6 resp +}; + +type record CardEmu_FeatureFlags { + BIT7 reserved, + boolean status_irq, + BIT24 reserved2 +}; + +type record CardEmu_BD_Config { + CardEmu_FeatureFlags features +}; + +/*********************************************************************** + * MODEM CONTROL + ***********************************************************************/ + +type enumerated ModemResetType { + MODEM_RESET_RELEASE (0), + MODEM_RESET_ASSERT (1), + MODEM_RESET_PULSE (2) +} with { variant "FIELDLENGTH(8)" }; + +/* SIMTRACE_MSGT_DT_MODEM_RESET */ +type record Modem_DT_Reset { + ModemResetType asserted, + u16le_t pulse_duration_msec +}; + +type enumerated SimSelect { + SIM_SELECT_LOCAL (0), + SIM_SELECT_REMOTE (1) +} with { variant "FIELDLENGTH(8)" }; + +/* SIMTRACE_MSGT_DT_MODEM_SIM_SELECT */ +type record Modem_DT_SimSelect { + SimSelect sim_select +}; + +type record Modem_Status { + BIT6 reserved, + boolean card_inserted, + boolean wwan_led +}; + +/* SIMTRACE_MSGT_BD_MODEM_STATUS */ +type record Modem_BD_Status { + Modem_Status supported, + Modem_Status status, + Modem_Status changed +}; + +/*********************************************************************** + * SNIFF + ***********************************************************************/ + +type record Sniff_Flags { + /* First octet here is last octet of little-endian encoded uint32_t */ + boolean error_checksum, + boolean error_malformed, + boolean error_incomplete, + boolean timeout_wt, + boolean reset_deassert, + boolean reset_assert, + boolean card_eject, + boolean card_insert, + BIT24 reserved +}; + +/* SIMTRACE_MSGT_SNIFF_CHANGE */ +type record Sniff_DO_Change { + Sniff_Flags flags +}; + +/* SIMTRACE_MSGT_SNIFF_FIDI */ +type record Sniff_DO_FiDi { + uint8_t fidi +}; + +/* SIMTRACE_MSGT_SNIFF_ATR, PPS, TPDU */ +type record Sniff_DO_Data { + Sniff_Flags flags, + u16le_t data_len, + octetstring data +} with { + variant (data_len) "LENGTHTO(data)" +}; + + + +} with { encode "RAW"; variant "FIELDORDER(msb)" }; diff --git a/simtrace/gen_links.sh b/simtrace/gen_links.sh new file mode 100755 index 0000000..72787b9 --- /dev/null +++ b/simtrace/gen_links.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +BASEDIR=../deps + +. ../gen_links.sh.inc + +#DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src +#FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCInterface.cc TCCInterface_ip.h" +#gen_links $DIR $FILES + +DIR=$BASEDIR/titan.TestPorts.USB/src +FILES="USB_PT.cc USB_PT.hh USB_PortType.ttcn USB_PortTypes.ttcn USB_Templates.ttcn USB_Types.ttcn USB_Component.ttcn " +gen_links $DIR $FILES + +DIR=../library +FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn " +FILES+="Native_Functions.ttcn Native_FunctionDefs.cc " +gen_links $DIR $FILES + +ignore_pp_results diff --git a/simtrace/regen_makefile.sh b/simtrace/regen_makefile.sh new file mode 100755 index 0000000..3f2d472 --- /dev/null +++ b/simtrace/regen_makefile.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +FILES="*.ttcn USB_PT.cc Native_FunctionDefs.cc " + +../regen-makefile.sh SIMTRACE_Tests.ttcn $FILES + +#sed -i -e 's/^LINUX_LIBS = -lxml2/LINUX_LIBS = -lxml2 -lusb/' Makefile +sed -i -e '/^LINUX_LIBS/ s/$/ `pkg-config --libs libusb-1.0`/' Makefile +sed -i -e '/^CPPFLAGS/ s/$/ `pkg-config --cflags libusb-1.0`/' Makefile -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17676 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: If9fa66b6c5fbddd742ff61fa2c1345736d07accd Gerrit-Change-Number: 17676 Gerrit-PatchSet: 3 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 Apr 1 10:16:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:16:18 +0000 Subject: Change in osmo-iuh[master]: manual: add "Configuring Primary Links" and "Multiple instances" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17505 ) Change subject: manual: add "Configuring Primary Links" and "Multiple instances" ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I0919392b716e2812ff19d7efa5d1ba535b08eb91 Gerrit-Change-Number: 17505 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 10:16: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 Apr 1 10:16:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:16:50 +0000 Subject: Change in osmo-iuh[master]: manual: add "Configuring Primary Links" and "Multiple instances" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17505 ) Change subject: manual: add "Configuring Primary Links" and "Multiple instances" ...................................................................... manual: add "Configuring Primary Links" and "Multiple instances" Change-Id: I0919392b716e2812ff19d7efa5d1ba535b08eb91 --- M doc/manuals/chapters/running.adoc 1 file changed, 80 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index 41909e2..57b8231 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -35,3 +35,83 @@ Set the global log level for logging to stderr. This has mostly been deprecated by VTY based logging configuration, see <> for more information. + + +=== Multiple instances + +Running multiple instances of `osmo-hnbgw` on the same computer is possible if +all interfaces (VTY, CTRL, Iuh) are separated using the appropriate +configuration options. The IP based interfaces are binding to local host by +default. In order to separate the processes, the user has to bind those +services to specific but different IP addresses and/or ports. + +The VTY and the Control interface can be bound to IP addresses from the loopback +address range, for example: + +---- +line vty + bind 127.0.0.2 +ctrl + bind 127.0.0.2 +---- + +The Iuh interface can be bound to an individual port: + +---- +hnbgw + iuh + local-ip 0.0.0.0 + local-port 29169 +---- + +For the following links, OsmoHNBGW acts as a client and does not listen/bind to a +specific interface, and will hence not encounter conflicts for multiple instances +running on the same interface: + +- The SCCP/M3UA links are established by OsmoHNBGW contacting an STP. + +To run multiple OsmoHNBGW instances on the same SCCP routing, each HNBGW has to +configure a distinct point-code, see <>. + + +=== Configuring Primary Links + +[[configure_iucs_iups]] +==== Configure SCCP/M3UA to connect to an MSC's _IuCS_ and an SGSN's _IuPS_ interface + +OsmoHNBGW acts as client to contact an STP instance and establish an SCCP/M3UA +link. + +An example configuration of OsmoHNBGW's SCCP link: + +---- +cs7 instance 0 + point-code 0.23.5 + asp asp-clnt-OsmoHNBGW 2905 0 m3ua + remote-ip 127.0.0.1 + sctp-role client + sccp-address msc + routing-indicator PC + point-code 0.23.1 + sccp-address sgsn + routing-indicator PC + point-code 0.23.2 +hnbgw + iucs + remote-addr msc + iups + remote-addr sgsn +---- + +==== Configure RUA to accept Iuh connections from hNodeB + +OsmoHNBGW acts as server to accept Iuh connections from hNodeB devices. + +An example configuration for OsmoHNBGW's RUA server: + +---- +hnbgw + iuh + local-ip 10.9.8.7 + local-port 29169 +---- -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I0919392b716e2812ff19d7efa5d1ba535b08eb91 Gerrit-Change-Number: 17505 Gerrit-PatchSet: 3 Gerrit-Owner: neels 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 Wed Apr 1 10:16:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:16:50 +0000 Subject: Change in osmo-iuh[master]: manual: link to new common cs7-config.adoc In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17506 ) Change subject: manual: link to new common cs7-config.adoc ...................................................................... manual: link to new common cs7-config.adoc Related: OS#2767 Depends: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 (osmo-gsm-manuals) Change-Id: I531b272f49edcbf4194603e554b535b83a1e5780 --- M TODO-RELEASE M doc/manuals/chapters/running.adoc M doc/manuals/osmohnbgw-usermanual.adoc 3 files changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index d0852fc..dde4b72 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 +manual needs common chapter cs7-config.adoc from osmo-gsm-manuals > 0.3.0 diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index 57b8231..f40027a 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -103,6 +103,8 @@ remote-addr sgsn ---- +This configuration is explained in detail in <>. + ==== Configure RUA to accept Iuh connections from hNodeB OsmoHNBGW acts as server to accept Iuh connections from hNodeB devices. diff --git a/doc/manuals/osmohnbgw-usermanual.adoc b/doc/manuals/osmohnbgw-usermanual.adoc index 3f3c9c3..21faed7 100644 --- a/doc/manuals/osmohnbgw-usermanual.adoc +++ b/doc/manuals/osmohnbgw-usermanual.adoc @@ -22,6 +22,8 @@ include::./common/chapters/logging.adoc[] +include::./common/chapters/cs7-config.adoc[] + // include::{srcdir}/chapters/net.adoc[] // include::./common/chapters/control_if.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I531b272f49edcbf4194603e554b535b83a1e5780 Gerrit-Change-Number: 17506 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 Wed Apr 1 10:17:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:17:18 +0000 Subject: Change in osmo-sgsn[master]: manual: explain IuPS, add SCCP/M3UA section from common chapters In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17507 ) Change subject: manual: explain IuPS, add SCCP/M3UA section from common chapters ...................................................................... manual: explain IuPS, add SCCP/M3UA section from common chapters Add 'cs7' default configuration, link to the osmo-gsm-manuals/common/cs7-config.adoc chapter to fully explain the 'cs7' client configuration. Related: OS#2767 Depends: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 (osmo-gsm-manuals) Change-Id: If0f7c8fc4b94eb40b62570cf90999d5074dc00ee --- M TODO-RELEASE M doc/manuals/chapters/configuration.adoc M doc/manuals/osmosgsn-usermanual.adoc 3 files changed, 23 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index 1c5d61f..3096c4b 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -1 +1,2 @@ #component what description / commit summary line +manual needs common chapter cs7-config.adoc from osmo-gsm-manuals > 0.3.0 diff --git a/doc/manuals/chapters/configuration.adoc b/doc/manuals/chapters/configuration.adoc index fd2d7ed..7d3072e 100644 --- a/doc/manuals/chapters/configuration.adoc +++ b/doc/manuals/chapters/configuration.adoc @@ -356,3 +356,23 @@ sgsn encryption GEA0 ---- + +=== Configure SCCP/M3UA to accept _IuPS_ links + +OsmoSGSN acts as client to contact an STP instance and establish an SCCP/M3UA +link. + +An example configuration of OsmoSGSN's SCCP link: + +---- +cs7 instance 0 + point-code 0.23.4 + asp asp-clnt-OsmoSGSN 2905 0 m3ua + remote-ip 127.0.0.1 + sctp-role client + as as-clnt-OsmoSGSN m3ua + asp asp-clnt-OsmoSGSN + routing-key 0 0.23.4 +---- + +This configuration is explained in detail in <>. diff --git a/doc/manuals/osmosgsn-usermanual.adoc b/doc/manuals/osmosgsn-usermanual.adoc index dea91a9..610704a 100644 --- a/doc/manuals/osmosgsn-usermanual.adoc +++ b/doc/manuals/osmosgsn-usermanual.adoc @@ -19,6 +19,8 @@ include::{srcdir}/chapters/configuration.adoc[] +include::./common/chapters/cs7-config.adoc[] + include::./common/chapters/gb.adoc[] include::./common/chapters/control_if.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If0f7c8fc4b94eb40b62570cf90999d5074dc00ee Gerrit-Change-Number: 17507 Gerrit-PatchSet: 2 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 Wed Apr 1 10:18:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:18:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: mgw: use library version of RTP_CodecPort_CtrlFunct In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17680 ) Change subject: mgw: use library version of RTP_CodecPort_CtrlFunct ...................................................................... mgw: use library version of RTP_CodecPort_CtrlFunct The .cc and the .ttcn file of RTP_CodecPort_CtrlFunct is currently copied into the mgw directory and then used. However, those files do exist in the /library folder as well, lets just link them using gen_links.sh Change-Id: I14f80051f6a168b7a8155c6e523c085e974b62b5 --- D mgw/RTP_CodecPort_CtrlFunct.ttcn D mgw/RTP_CodecPort_CtrlFunctDef.cc M mgw/gen_links.sh 3 files changed, 1 insertion(+), 100 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/mgw/RTP_CodecPort_CtrlFunct.ttcn b/mgw/RTP_CodecPort_CtrlFunct.ttcn deleted file mode 100644 index 9f6cad2..0000000 --- a/mgw/RTP_CodecPort_CtrlFunct.ttcn +++ /dev/null @@ -1,44 +0,0 @@ -module RTP_CodecPort_CtrlFunct { - - import from RTP_CodecPort all; - import from IPL4asp_Types all; - - external function f_IPL4_listen( - inout RTP_CODEC_PT portRef, - in HostName locName, - in PortNumber locPort, - in ProtoTuple proto, - in OptionList options := {} - ) return Result; - - external function f_IPL4_connect( - inout RTP_CODEC_PT portRef, - in HostName remName, - in PortNumber remPort, - in HostName locName, - in PortNumber locPort, - in ConnectionId connId, - in ProtoTuple proto, - in OptionList options := {} - ) return Result; - - external function f_IPL4_close( - inout RTP_CODEC_PT portRef, - in ConnectionId id, - in ProtoTuple proto := { unspecified := {} } - ) return Result; - - external function f_IPL4_setUserData( - inout RTP_CODEC_PT portRef, - in ConnectionId id, - in UserData userData - ) return Result; - - external function f_IPL4_getUserData( - inout RTP_CODEC_PT portRef, - in ConnectionId id, - out UserData userData - ) return Result; - -} - diff --git a/mgw/RTP_CodecPort_CtrlFunctDef.cc b/mgw/RTP_CodecPort_CtrlFunctDef.cc deleted file mode 100644 index ce8e176..0000000 --- a/mgw/RTP_CodecPort_CtrlFunctDef.cc +++ /dev/null @@ -1,56 +0,0 @@ -#include "IPL4asp_PortType.hh" -#include "RTP_CodecPort.hh" -#include "IPL4asp_PT.hh" - -namespace RTP__CodecPort__CtrlFunct { - - IPL4asp__Types::Result f__IPL4__listen( - RTP__CodecPort::RTP__CODEC__PT& portRef, - const IPL4asp__Types::HostName& locName, - const IPL4asp__Types::PortNumber& locPort, - const IPL4asp__Types::ProtoTuple& proto, - const IPL4asp__Types::OptionList& options) - { - return f__IPL4__PROVIDER__listen(portRef, locName, locPort, proto, options); - } - - IPL4asp__Types::Result f__IPL4__connect( - RTP__CodecPort::RTP__CODEC__PT& portRef, - const IPL4asp__Types::HostName& remName, - const IPL4asp__Types::PortNumber& remPort, - const IPL4asp__Types::HostName& locName, - const IPL4asp__Types::PortNumber& locPort, - const IPL4asp__Types::ConnectionId& connId, - const IPL4asp__Types::ProtoTuple& proto, - const IPL4asp__Types::OptionList& options) - { - return f__IPL4__PROVIDER__connect(portRef, remName, remPort, - locName, locPort, connId, proto, options); - } - - IPL4asp__Types::Result f__IPL4__close( - RTP__CodecPort::RTP__CODEC__PT& portRef, - const IPL4asp__Types::ConnectionId& connId, - const IPL4asp__Types::ProtoTuple& proto) - { - return f__IPL4__PROVIDER__close(portRef, connId, proto); - } - - IPL4asp__Types::Result f__IPL4__setUserData( - RTP__CodecPort::RTP__CODEC__PT& portRef, - const IPL4asp__Types::ConnectionId& connId, - const IPL4asp__Types::UserData& userData) - { - return f__IPL4__PROVIDER__setUserData(portRef, connId, userData); - } - - IPL4asp__Types::Result f__IPL4__getUserData( - RTP__CodecPort::RTP__CODEC__PT& portRef, - const IPL4asp__Types::ConnectionId& connId, - IPL4asp__Types::UserData& userData) - { - return f__IPL4__PROVIDER__getUserData(portRef, connId, userData); - } - -} - diff --git a/mgw/gen_links.sh b/mgw/gen_links.sh index f919637..8893954 100755 --- a/mgw/gen_links.sh +++ b/mgw/gen_links.sh @@ -44,6 +44,7 @@ FILES+="OSMUX_CodecPort.ttcn OSMUX_Emulation.ttcn OSMUX_Types.ttcn OSMUX_CodecPort_CtrlFunct.ttcn OSMUX_CodecPort_CtrlFunctDef.cc " FILES+="Native_Functions.ttcn Native_FunctionDefs.cc IPCP_Types.ttcn " FILES+="Osmocom_VTY_Functions.ttcn " +FILES+="RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc " gen_links $DIR $FILES ignore_pp_results -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17680 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: I14f80051f6a168b7a8155c6e523c085e974b62b5 Gerrit-Change-Number: 17680 Gerrit-PatchSet: 3 Gerrit-Owner: dexter 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 Apr 1 10:18:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:18:51 +0000 Subject: Change in osmocom-bb[master]: firmware/layer1: introduce experimental PDCH support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17495 ) Change subject: firmware/layer1: introduce experimental PDCH support ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I44531bbe8743c188cc5d4a6ca2a63000e41d6189 Gerrit-Change-Number: 17495 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Wed, 01 Apr 2020 10:18: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 Apr 1 10:18:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:18:54 +0000 Subject: Change in osmocom-bb[master]: firmware/layer1: introduce experimental PDCH support In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17495 ) Change subject: firmware/layer1: introduce experimental PDCH support ...................................................................... firmware/layer1: introduce experimental PDCH support This change implements basic (receive only) support of the PDCH channels that are used in GPRS. Several coding schemes are defined by 3GPP TS 45.003, however we can only do CS-1 for now, since it's basically an equivalent of xCCH. In order to support the other schemes (CS2-4), we would need to know how to configure the DSP (look at Freecalypso code?). Change-Id: I44531bbe8743c188cc5d4a6ca2a63000e41d6189 --- M src/target/firmware/include/layer1/mframe_sched.h M src/target/firmware/include/layer1/sync.h M src/target/firmware/layer1/l23_api.c M src/target/firmware/layer1/mframe_sched.c M src/target/firmware/layer1/prim_rx_nb.c 5 files changed, 71 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/target/firmware/include/layer1/mframe_sched.h b/src/target/firmware/include/layer1/mframe_sched.h index 74e2d27..9434fc6 100644 --- a/src/target/firmware/include/layer1/mframe_sched.h +++ b/src/target/firmware/include/layer1/mframe_sched.h @@ -31,6 +31,9 @@ MF_TASK_TCH_H_0, MF_TASK_TCH_H_1, + MF_TASK_GPRS_PDTCH, + MF_TASK_GPRS_PTCCH, + MF_TASK_NEIGH_PM51_C0T0, MF_TASK_NEIGH_PM51, MF_TASK_NEIGH_PM26E, @@ -42,6 +45,7 @@ enum mf_sched_item_flag { MF_F_SACCH = (1 << 0), + MF_F_PTCCH = (1 << 1), }; /* The scheduler itself */ diff --git a/src/target/firmware/include/layer1/sync.h b/src/target/firmware/include/layer1/sync.h index daf998b..6ed3890 100644 --- a/src/target/firmware/include/layer1/sync.h +++ b/src/target/firmware/include/layer1/sync.h @@ -124,6 +124,7 @@ GSM_DCHAN_SDCCH_8_CBCH, GSM_DCHAN_TCH_H, GSM_DCHAN_TCH_F, + GSM_DCHAN_PDCH, GSM_DCHAN_UNKNOWN, } type; diff --git a/src/target/firmware/layer1/l23_api.c b/src/target/firmware/layer1/l23_api.c index f55e670..e0fee84 100644 --- a/src/target/firmware/layer1/l23_api.c +++ b/src/target/firmware/layer1/l23_api.c @@ -78,6 +78,7 @@ uint8_t tn = chan_nr & 0x7; uint8_t lch_idx; enum mframe_task master_task = 0; + enum mframe_task second_task = 0; uint32_t neigh_task = 0; enum mf_type multiframe = 0; @@ -97,6 +98,12 @@ lch_idx = cbits & 0x7; master_task = MF_TASK_SDCCH8_0 + lch_idx; multiframe = MF51; + } else if ((cbits & 0x1f) == 0x18) { + /* Osmocom specific extension for PDTCH and PTCCH */ + master_task = MF_TASK_GPRS_PDTCH; + second_task = MF_TASK_GPRS_PTCCH; + /* FIXME: PDCH has different multiframe structure */ + multiframe = MFNONE; } else if ((cbits & 0x1f) == 0x19) { /* Osmocom specific extension for CBCH on SDCCH/4 */ master_task = MF_TASK_SDCCH4_CBCH; @@ -129,7 +136,7 @@ } break; } - return (1 << master_task) | neigh_task; + return (1 << master_task) | (1 << second_task) | neigh_task; } static int chan_nr2dchan_type(uint8_t chan_nr) @@ -144,6 +151,9 @@ return GSM_DCHAN_SDCCH_4; } else if ((cbits & 0x18) == 0x08) { return GSM_DCHAN_SDCCH_8; + } else if ((cbits & 0x1f) == 0x18) { + /* Osmocom-specific extension for PDCH */ + return GSM_DCHAN_PDCH; } else if ((cbits & 0x1f) == 0x19) { /* Osmocom-specific extension for CBCH on SDCCH/4 */ return GSM_DCHAN_SDCCH_4_CBCH; diff --git a/src/target/firmware/layer1/mframe_sched.c b/src/target/firmware/layer1/mframe_sched.c index 9c2954c..fac84b4 100644 --- a/src/target/firmware/layer1/mframe_sched.c +++ b/src/target/firmware/layer1/mframe_sched.c @@ -311,6 +311,52 @@ { .sched_set = NULL } }; +/* See 3GPP TS 45.002, table 6 */ +static const struct mframe_sched_item mf_gprs_pdtch[] = { + { .sched_set = NB_QUAD_DL, .modulo = 13, .frame_nr = 0 }, + { .sched_set = NB_QUAD_DL, .modulo = 13, .frame_nr = 4 }, + { .sched_set = NB_QUAD_DL, .modulo = 13, .frame_nr = 8 }, + /* NOTE: receive only task */ + { .sched_set = NULL } +}; + +static const struct mframe_sched_item mf_gprs_ptcch[] = { + /* TODO: implement AB_PTCCH_UL for PTCCH/U */ + /* TODO: implement NB_PTCCH_DL for PTCCH/D */ +#if 0 + /* PTCCH/D */ + { .sched_set = NB_PTCCH_DL, .modulo = 104, .frame_nr = 12, .flags = MF_F_PTCCH }, + { .sched_set = NB_PTCCH_DL, .modulo = 104, .frame_nr = 38, .flags = MF_F_PTCCH }, + { .sched_set = NB_PTCCH_DL, .modulo = 104, .frame_nr = 64, .flags = MF_F_PTCCH }, + { .sched_set = NB_PTCCH_DL, .modulo = 104, .frame_nr = 90, .flags = MF_F_PTCCH }, + + /* PTCCH/U for TAI 0 .. 3 */ + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 12 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 38 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 64 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 90 }, + + /* PTCCH/U for TAI 4 .. 7 */ + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 116 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 142 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 168 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 194 }, + + /* PTCCH/U for TAI 8 .. 11 */ + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 220 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 246 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 272 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 298 }, + + /* PTCCH/U for TAI 12 .. 15 */ + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 324 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 350 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 376 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 402 }, +#endif + { .sched_set = NULL } +}; + /* Test TX */ static const struct mframe_sched_item mf_tx_all_nb[] = { { .sched_set = NB_QUAD_FH_UL, .modulo = 4, .frame_nr = 0 }, @@ -345,6 +391,9 @@ [MF_TASK_TCH_H_0] = mf_tch_h_0, [MF_TASK_TCH_H_1] = mf_tch_h_1, + [MF_TASK_GPRS_PDTCH] = mf_gprs_pdtch, + [MF_TASK_GPRS_PTCCH] = mf_gprs_ptcch, + [MF_TASK_NEIGH_PM51_C0T0] = mf_neigh_pm51_c0t0, [MF_TASK_NEIGH_PM51] = mf_neigh_pm51, [MF_TASK_NEIGH_PM26E] = mf_neigh_pm26_even, @@ -415,6 +464,10 @@ break; /* Osmocom specific extensions */ + case MF_TASK_GPRS_PDTCH: + case MF_TASK_GPRS_PTCCH: + cbits = 0x18; + break; case MF_TASK_SDCCH4_CBCH: cbits = 0x19; break; diff --git a/src/target/firmware/layer1/prim_rx_nb.c b/src/target/firmware/layer1/prim_rx_nb.c index 38c7b53..c90c98c 100644 --- a/src/target/firmware/layer1/prim_rx_nb.c +++ b/src/target/firmware/layer1/prim_rx_nb.c @@ -126,6 +126,8 @@ /* Set SACCH indication in Link IDentifier */ if (mf_task_flags & MF_F_SACCH) rxnb.dl->link_id = 0x40; + if (mf_task_flags & MF_F_PTCCH) + rxnb.dl->link_id = 0x80; else rxnb.dl->link_id = 0x00; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I44531bbe8743c188cc5d4a6ca2a63000e41d6189 Gerrit-Change-Number: 17495 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge 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 Wed Apr 1 10:19:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:19:19 +0000 Subject: Change in osmo-mgw[master]: doc: do not bind osmo-mgw to random ip-address In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17599 ) Change subject: doc: do not bind osmo-mgw to random ip-address ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iae52c671c48953ea6b52b18c5d77347343cde0df Gerrit-Change-Number: 17599 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 01 Apr 2020 10: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 Wed Apr 1 10:19:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:19:24 +0000 Subject: Change in osmo-mgw[master]: doc: do not bind osmo-mgw to random ip-address In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17599 ) Change subject: doc: do not bind osmo-mgw to random ip-address ...................................................................... doc: do not bind osmo-mgw to random ip-address The example config bind the MGW to a random ip-address, lets use the loopback address here, this will suit cases where osmo-bts runs on the same machine as the MGW (nitb). For all other cases were an external BTS is used the ip-address still needs to be changed. Change-Id: Iae52c671c48953ea6b52b18c5d77347343cde0df --- M doc/examples/osmo-mgw/osmo-mgw.cfg 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/examples/osmo-mgw/osmo-mgw.cfg b/doc/examples/osmo-mgw/osmo-mgw.cfg index 3057369..dca858e 100644 --- a/doc/examples/osmo-mgw/osmo-mgw.cfg +++ b/doc/examples/osmo-mgw/osmo-mgw.cfg @@ -4,7 +4,7 @@ mgcp bind ip 127.0.0.1 rtp port-range 4002 16000 - rtp bind-ip 10.9.1.122 + rtp bind-ip 127.0.0.1 rtp ip-probing rtp ip-tos 184 bind port 2427 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iae52c671c48953ea6b52b18c5d77347343cde0df Gerrit-Change-Number: 17599 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 Wed Apr 1 10:20:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:20:46 +0000 Subject: Change in osmo-ggsn[master]: doc: switch log levels to notice In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17584 ) Change subject: doc: switch log levels to notice ...................................................................... Patch Set 2: I'm also not entirely convinced, as I never thought the GGSN log is very verbose. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I91743c870d8084b1a106b41be92661c7674a8584 Gerrit-Change-Number: 17584 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 10:20: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 Wed Apr 1 10:20:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:20:58 +0000 Subject: Change in osmo-ggsn[master]: doc: do not use random ip address for dns in default conf In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17576 ) Change subject: doc: do not use random ip address for dns in default conf ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5876a806185bb3aea356fb6996d1925b8d0d1758 Gerrit-Change-Number: 17576 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 10:20: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 Wed Apr 1 10:21:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:21:34 +0000 Subject: Change in osmo-ggsn[master]: doc: do not use random ip address for dns in default conf In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17576 ) Change subject: doc: do not use random ip address for dns in default conf ...................................................................... doc: do not use random ip address for dns in default conf The default configuration has a random ip-address as first DNS server. This might cause unnedessary trouble for people who try osmo-ggsn the first time. Lets have some public DNS here, just to be sure. Change-Id: I5876a806185bb3aea356fb6996d1925b8d0d1758 --- M doc/examples/osmo-ggsn.cfg 1 file changed, 4 insertions(+), 4 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 laforge: Looks good to me, approved diff --git a/doc/examples/osmo-ggsn.cfg b/doc/examples/osmo-ggsn.cfg index 4000636..2bc7668 100644 --- a/doc/examples/osmo-ggsn.cfg +++ b/doc/examples/osmo-ggsn.cfg @@ -43,8 +43,8 @@ tun-device tun4 type-support v4 ip prefix dynamic 176.16.222.0/24 - ip dns 0 192.168.100.1 - ip dns 1 8.8.8.8 + ip dns 0 8.8.8.8 + ip dns 1 8.8.4.4 ip ifconfig 176.16.222.0/24 no shutdown apn inet6 @@ -61,8 +61,8 @@ tun-device tun46 type-support v4v6 ip prefix dynamic 176.16.46.0/24 - ip dns 0 192.168.100.1 - ip dns 1 8.8.8.8 + ip dns 0 8.8.8.8 + ip dns 1 8.8.4.4 ip ifconfig 176.16.46.0/24 ipv6 prefix dynamic 2001:780:44:2100:0:0:0:0/56 ipv6 dns 0 2001:4860:4860::8888 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5876a806185bb3aea356fb6996d1925b8d0d1758 Gerrit-Change-Number: 17576 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 Wed Apr 1 10:29:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 10:29:51 +0000 Subject: Change in osmo-bts[master]: cosmetic: remove dead code from loging.c References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17699 ) Change subject: cosmetic: remove dead code from loging.c ...................................................................... cosmetic: remove dead code from loging.c Change-Id: Ib70313d8f837ebac39ed8caaa80b01ffafe879d5 --- M src/common/logging.c 1 file changed, 0 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/99/17699/1 diff --git a/src/common/logging.c b/src/common/logging.c index 8340736..d4fb874 100644 --- a/src/common/logging.c +++ b/src/common/logging.c @@ -119,23 +119,6 @@ .color = "\033[0;34m", .enabled = 1, .loglevel = LOGL_NOTICE, }, -#if 0 - [DNS] = { - .name = "DNS", - .description = "GPRS Network Service (NS)", - .enabled = 1, .loglevel = LOGL_INFO, - }, - [DBSSGP] = { - .name = "DBSSGP", - .description = "GPRS BSS Gateway Protocol (BSSGP)", - .enabled = 1, .loglevel = LOGL_DEBUG, - }, - [DLLC] = { - .name = "DLLC", - .description = "GPRS Logical Link Control Protocol (LLC)", - .enabled = 1, .loglevel = LOGL_DEBUG, - }, -#endif [DSUM] = { .name = "DSUM", .description = "DSUM", -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17699 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib70313d8f837ebac39ed8caaa80b01ffafe879d5 Gerrit-Change-Number: 17699 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 Wed Apr 1 10:43:58 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 1 Apr 2020 10:43:58 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{ue, enb}: change UHD stream args and buffer size as function of c... In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 to look at the new patch set (#6). Change subject: srs_{ue,enb}: change UHD stream args and buffer size as function of cell width for B2XX ...................................................................... srs_{ue,enb}: change UHD stream args and buffer size as function of cell width for B2XX Change-Id: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc --- M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 2 files changed, 38 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/50/17650/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 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: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc Gerrit-Change-Number: 17650 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 Wed Apr 1 10:43:59 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 1 Apr 2020 10:43:59 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_rr.conf.temp: patch scheduler variables for 6 PRB cells References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17700 ) Change subject: srsenb_rr.conf.temp: patch scheduler variables for 6 PRB cells ...................................................................... srsenb_rr.conf.temp: patch scheduler variables for 6 PRB cells Change-Id: Ifdab42da8184cdf8367c5be1639a0faea3e68db1 --- M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl 1 file changed, 17 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/00/17700/1 diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl index cd9f4aa..bdbe741 100644 --- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl @@ -30,22 +30,32 @@ beta_offset_ri_idx = 6; beta_offset_cqi_idx = 6; }; - - // PUCCH-SR resources are scheduled on time-frequeny domain first, then multiplexed in the same resource. + + // PUCCH-SR resources are scheduled on time-frequeny domain first, then multiplexed in the same resource. sched_request_cnfg = { dsr_trans_max = 64; period = 20; // in ms - subframe = [1]; // vector of subframe indices allowed for SR transmissions - nof_prb = 2; // number of PRBs on each extreme used for SR (total prb is twice this number) + subframe = [1]; // vector of subframe indices allowed for SR transmissions + + // number of PRBs on each extreme used for SR (total prb is twice this number) +% if int(enb['num_prb']) <= 6: + nof_prb = 1; +% else: + nof_prb = 2; +% endif }; cqi_report_cnfg = - { + { mode = "periodic"; - simultaneousAckCQI = true; + simultaneousAckCQI = true; period = 40; // in ms subframe = [0]; - nof_prb = 2; +% if int(enb['num_prb']) <= 6: + nof_prb = 1; +% else: + nof_prb = 2; +% endif m_ri = 8; // RI period in CQI period }; }; -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17700 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: Ifdab42da8184cdf8367c5be1639a0faea3e68db1 Gerrit-Change-Number: 17700 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 Wed Apr 1 11:15:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 11:15:35 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Require debian-stretch-jenkins as Dockerfile suggests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17691 ) Change subject: osmo-gsm-tester: Require debian-stretch-jenkins as Dockerfile suggests ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17691 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If33aab60e04da7beb4cd0715d5cb3145c001823a Gerrit-Change-Number: 17691 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 11:15: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 Wed Apr 1 11:15:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 11:15:45 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Require debian-stretch-jenkins as Dockerfile suggests In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17691 ) Change subject: osmo-gsm-tester: Require debian-stretch-jenkins as Dockerfile suggests ...................................................................... osmo-gsm-tester: Require debian-stretch-jenkins as Dockerfile suggests Some days ago the Dockerfile was changed to pull from debian-stretch-jenkins instead of debian-stretch-build, since the first one has extra runtime dependencies required by osmo-gsm-tester. However, the jenkins script is still requiring the old dependency. Let's update it accordingly. Change-Id: If33aab60e04da7beb4cd0715d5cb3145c001823a --- M osmo-gsm-tester/jenkins.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 529ea3d..71ab0f4 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -55,7 +55,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ + "debian-stretch-jenkins" \ "osmo-gsm-tester" network_create 172.18.50.0/24 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17691 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If33aab60e04da7beb4cd0715d5cb3145c001823a Gerrit-Change-Number: 17691 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Apr 1 11:19:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 11:19:06 +0000 Subject: Change in osmo-bsc[master]: remove 'NAT' log category In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17698 ) Change subject: remove 'NAT' log category ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17698 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id965295dfe04f8bd5ce831db70c86f67b8dc290b Gerrit-Change-Number: 17698 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 11:19: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 Apr 1 11:21:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 11:21:45 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{ue, enb}: change UHD stream args and buffer size as function of c... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 ) Change subject: srs_{ue,enb}: change UHD stream args and buffer size as function of cell width for B2XX ...................................................................... Patch Set 6: You forgot to apply my last comment: Please also remove the recv_frame_size and send_frame_size from example/resources.conf.prod. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 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: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc Gerrit-Change-Number: 17650 Gerrit-PatchSet: 6 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 11:21: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 Wed Apr 1 11:26:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 11:26:12 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: add config to adjust the duration of the iperf run In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 ) Change subject: iperf3: add config to adjust the duration of the iperf run ...................................................................... Patch Set 8: Code-Review-1 (4 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/8/src/osmo_gsm_tester/iperf3.py File src/osmo_gsm_tester/iperf3.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/8/src/osmo_gsm_tester/iperf3.py at 159 PS8, Line 159: values = dict(iperf3cli=config.get_defaults('iperf3cli')) You acked my commit but didn't apply the change :) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/8/src/osmo_gsm_tester/iperf3.py at 171 PS8, Line 171: time_sec_final = int(time_sec) If coming from argument, then it should be an integer, so having time_sec_final = time_sec should be enough here. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/8/suites/4g/iperf3_dl.py File suites/4g/iperf3_dl.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/8/suites/4g/iperf3_dl.py at 35 PS8, Line 35: proc = iperf3cli.prepare_test_proc(True, ue.netns(), time_sec=None) simply remove the time_sec=None from here, default will apply. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/8/suites/4g/iperf3_ul.py File suites/4g/iperf3_ul.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/8/suites/4g/iperf3_ul.py at 35 PS8, Line 35: proc = iperf3cli.prepare_test_proc(False, ue.netns(), time_sec=None) simply remove the time_sec=None from here, default will apply. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 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: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d Gerrit-Change-Number: 17651 Gerrit-PatchSet: 8 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 01 Apr 2020 11:26: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 Apr 1 11:30:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 11:30:56 +0000 Subject: Change in osmo-bts[master]: cosmetic: remove dead code from loging.c In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17699 ) Change subject: cosmetic: remove dead code from loging.c ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17699/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/17699/1//COMMIT_MSG at 7 PS1, Line 7: cosmetic: remove dead code from loging.c is logging.c on sales today? do you get 2 "g" for the price of 1 in logging.c? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17699 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib70313d8f837ebac39ed8caaa80b01ffafe879d5 Gerrit-Change-Number: 17699 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 11:30: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 Wed Apr 1 11:32:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 11:32:11 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_rr.conf.temp: patch scheduler variables for 6 PRB cells In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17700 ) Change subject: srsenb_rr.conf.temp: patch scheduler variables for 6 PRB cells ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17700/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17700/1//COMMIT_MSG at 7 PS1, Line 7: srsenb_rr.conf.temp: patch scheduler variables for 6 PRB cells .tmpl -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17700 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: Ifdab42da8184cdf8367c5be1639a0faea3e68db1 Gerrit-Change-Number: 17700 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 11:32: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 Apr 1 11:36:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 11:36:49 +0000 Subject: Change in osmo-gsm-tester[master]: Introduce support for AmarisoftEPC In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690 ) Change subject: Introduce support for AmarisoftEPC ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690/1/example/defaults.conf File example/defaults.conf: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690/1/example/defaults.conf at 101 PS1, Line 101: rlc_drb_mode: UM > I think this should be renamed to qci or default_bearer_qci and put up under epc, it's common to srs [?] Doing that in a separate patch for both EPC types. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690/1/example/defaults.conf at 105 PS1, Line 105: license_server_addr: 10.12.1.139 > see discussion around Amarisoft ENB and license server option, I guess it should be "" by default Doing that in a separate patch for both EPC types. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690/1/src/osmo_gsm_tester/amarisoft_epc.py File src/osmo_gsm_tester/amarisoft_epc.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690/1/src/osmo_gsm_tester/amarisoft_epc.py at 26 PS1, Line 26: #def rlc_drb_mode2qci(rlc_drb_mode): > remove this lookup, user should provide the qci value in config, by default 9 can be used Doing that in a separate patch for both EPC types. So do we want to drope the rlc_drb_mode(AM, UM) attribute and simply use qci as an integer? or keep both? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690 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: Ia50ea6a74b63b2d688c8d683aea11416ad40a6d3 Gerrit-Change-Number: 17690 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 01 Apr 2020 11:36:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: srs_andre Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 11:36:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 11:36:56 +0000 Subject: Change in osmo-gsm-tester[master]: Introduce support for AmarisoftEPC In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690 ) Change subject: Introduce support for AmarisoftEPC ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690 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: Ia50ea6a74b63b2d688c8d683aea11416ad40a6d3 Gerrit-Change-Number: 17690 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 01 Apr 2020 11:36: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 Wed Apr 1 11:36:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 11:36:58 +0000 Subject: Change in osmo-gsm-tester[master]: Introduce support for AmarisoftEPC In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690 ) Change subject: Introduce support for AmarisoftEPC ...................................................................... Introduce support for AmarisoftEPC * A new abstract generic base class EPC is created * srsEPC and AmarisoftEPC inherit from that class * options are loaded from defaults.conf in cascade. First generic "epc", afterwards the specific enb type. * A new scenario is added to select the EPC type to use. srsEPC is the default unless stated by an scenario. * AmarisoftEPC delegates setup of the tun IP address to an "ifup" script. As a result, since we run without root permissions (ony with CAP_NET_ADMIN), the ifup script itself is unablet o set the IP address. To solve this, we introduce a new osmo-gsm-tester helper script which must be installed in the slave node which can be called through sudo to increase privileges to do so. With this commit, I can already get srsUE<->amarisoftENB<->amarisoftEPC to pass ping and iperf3 4g tests. Change-Id: Ia50ea6a74b63b2d688c8d683aea11416ad40a6d3 --- M example/defaults.conf A example/scenarios/cfg-epc-type at .conf A src/osmo_gsm_tester/amarisoft_epc.py A src/osmo_gsm_tester/epc.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_epc.py M src/osmo_gsm_tester/suite.py A src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl A utils/bin/osmo-gsm-tester_amarisoft_ltemme_ifup.sh A utils/sudoers.d/osmo-gsm-tester_amarisoft_ltemme_ifup 10 files changed, 451 insertions(+), 21 deletions(-) Approvals: Jenkins Builder: Verified srs_andre: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/example/defaults.conf b/example/defaults.conf index bcd1fa2..56a41e5 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -93,12 +93,17 @@ trx_list: - nominal_power: 25 -srsepc: +epc: + type: srsepc mcc: 901 mnc: 70 +srsepc: rlc_drb_mode: UM enable_pcap: false +amarisoftepc: + license_server_addr: 10.12.1.139 + enb: mcc: 901 mnc: 70 diff --git a/example/scenarios/cfg-epc-type at .conf b/example/scenarios/cfg-epc-type at .conf new file mode 100644 index 0000000..89b7fba --- /dev/null +++ b/example/scenarios/cfg-epc-type at .conf @@ -0,0 +1,3 @@ +config: + epc: + type: ${param1} diff --git a/src/osmo_gsm_tester/amarisoft_epc.py b/src/osmo_gsm_tester/amarisoft_epc.py new file mode 100644 index 0000000..0361f54 --- /dev/null +++ b/src/osmo_gsm_tester/amarisoft_epc.py @@ -0,0 +1,203 @@ +# osmo_gsm_tester: specifics for running an SRS EPC process +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# Author: Pau Espin Pedrol +# +# 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 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 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 os +import pprint + +from . import log, util, config, template, process, remote +from . import epc + +#def rlc_drb_mode2qci(rlc_drb_mode): +# if rlc_drb_mode.upper() == "UM": +# return 7; +# elif rlc_drb_mode.upper() == "AM": +# return 9; +# raise log.Error('Unexpected rlc_drb_mode', rlc_drb_mode=rlc_drb_mode) + +class AmarisoftEPC(epc.EPC): + + REMOTE_DIR = '/osmo-gsm-tester-amarisoftepc' + BINFILE = 'ltemme' + CFGFILE = 'amarisoft_ltemme.cfg' + LOGFILE = 'ltemme.log' + IFUPFILE = 'mme-ifup' + + def __init__(self, suite_run, run_node): + super().__init__(suite_run, run_node, 'amarisoftepc') + self.run_dir = None + self.config_file = None + self.log_file = None + self.ifup_file = None + self.process = None + self.rem_host = None + self.remote_inst = None + self.remote_config_file = None + self.remote_log_file = None + self.remote_ifup_file =None + self._bin_prefix = None + self.inst = None + self.subscriber_list = [] + + def bin_prefix(self): + if self._bin_prefix is None: + self._bin_prefix = os.getenv('AMARISOFT_PATH_EPC', AmarisoftEPC.REMOTE_DIR) + return self._bin_prefix + + def cleanup(self): + if self.process is None: + return + if self._run_node.is_local(): + return + # 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: + self.log(repr(e)) + + def start(self): + self.log('Starting amarisoftepc') + self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.configure() + if self._run_node.is_local(): + self.start_locally() + else: + self.start_remotely() + + def start_remotely(self): + remote_binary = self.remote_inst.child('', AmarisoftEPC.BINFILE) + # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. + self.log('Setting RPATH for amarisoftepc') + self.rem_host.change_elf_rpath(remote_binary, str(self.remote_inst)) + # amarisoftepc requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): + self.log('Applying CAP_NET_ADMIN capability to amarisoftepc') + self.rem_host.setcap_net_admin(remote_binary) + + args = (remote_binary, self.remote_config_file) + + self.process = self.rem_host.RemoteProcess(AmarisoftEPC.BINFILE, args) + #self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(AmarisoftEPC.BINFILE, remote_run_dir, args) + self.suite_run.remember_to_stop(self.process) + self.process.launch() + + def start_locally(self): + binary = self.inst.child('', BINFILE) + + env = {} + # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. + self.log('Setting RPATH for amarisoftepc') + util.change_elf_rpath(binary, util.prepend_library_path(str(self.inst)), self.run_dir.new_dir('patchelf')) + # amarisoftepc requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): + self.log('Applying CAP_NET_ADMIN capability to amarisoftepc') + util.setcap_net_admin(binary, self.run_dir.new_dir('setcap_net_admin')) + + self.dbg(run_dir=self.run_dir, binary=binary, env=env) + args = (binary, os.path.abspath(self.config_file)) + + self.process = process.Process(self.name(), self.run_dir, args, env=env) + self.suite_run.remember_to_stop(self.process) + self.process.launch() + + def configure(self): + self.inst = util.Dir(os.path.abspath(self.bin_prefix())) + if not self.inst.isfile('', AmarisoftEPC.BINFILE): + raise log.Error('No %s binary in' % AmarisoftEPC.BINFILE, self.inst) + + self.config_file = self.run_dir.child(AmarisoftEPC.CFGFILE) + self.log_file = self.run_dir.child(AmarisoftEPC.LOGFILE) + self.ifup_file = self.run_dir.new_file(AmarisoftEPC.IFUPFILE) + os.chmod(self.ifup_file, 0o744) # add execution permission + self.dbg(config_file=self.config_file) + with open(self.ifup_file, 'w') as f: + r = '''#!/bin/sh + set -x -e + # script + sudoers file available in osmo-gsm-tester.git/utils/{bin,sudoers.d} + sudo /usr/local/bin/osmo-gsm-tester_amarisoft_ltemme_ifup.sh "$@" + ''' + f.write(r) + + 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()) + remote_prefix_dir = util.Dir(AmarisoftEPC.REMOTE_DIR) + self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) + remote_run_dir = util.Dir(remote_prefix_dir.child(AmarisoftEPC.BINFILE)) + + self.remote_config_file = remote_run_dir.child(AmarisoftEPC.CFGFILE) + self.remote_log_file = remote_run_dir.child(AmarisoftEPC.LOGFILE) + self.remote_ifup_file = remote_run_dir.child(AmarisoftEPC.IFUPFILE) + + values = super().configure('amarisoftepc') + + logfile = self.log_file if self._run_node.is_local() else self.remote_log_file + ifupfile = self.ifup_file if self._run_node.is_local() else self.remote_ifup_file + config.overlay(values, dict(epc=dict(log_filename=logfile, + ifup_filename=ifupfile))) + + # Set qci for each subscriber: + #rlc_drb_mode = values['epc'].get('rlc_drb_mode', None) + #assert rlc_drb_mode is not None + #for i in range(len(self.subscriber_list)): + # self.subscriber_list[i]['qci'] = rlc_drb_mode2qci(rlc_drb_mode) + config.overlay(values, dict(epc=dict(hss=dict(subscribers=self.subscriber_list)))) + + self.dbg('SRSEPC CONFIG:\n' + pprint.pformat(values)) + + with open(self.config_file, 'w') as f: + r = template.render(AmarisoftEPC.CFGFILE, values) + self.dbg(r) + f.write(r) + + if not self._run_node.is_local(): + 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) + self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) + self.rem_host.scp('scp-ifup-to-remote', self.ifup_file, self.remote_ifup_file) + + def subscriber_add(self, modem, msisdn=None, algo_str=None): + if msisdn is None: + msisdn = self.suite_run.resources_pool.next_msisdn(modem) + modem.set_msisdn(msisdn) + + if algo_str is None: + algo_str = modem.auth_algo() or util.OSMO_AUTH_ALGO_NONE + + if algo_str != util.OSMO_AUTH_ALGO_NONE and not modem.ki(): + raise log.Error("Auth algo %r selected but no KI specified" % algo_str) + + subscriber_id = len(self.subscriber_list) # list index + self.subscriber_list.append({'id': subscriber_id, 'imsi': modem.imsi(), 'msisdn': msisdn, 'auth_algo': algo_str, 'ki': modem.ki(), 'opc': None, 'apn_ipaddr': modem.apn_ipaddr()}) + + self.log('Add subscriber', msisdn=msisdn, imsi=modem.imsi(), subscriber_id=subscriber_id, + algo_str=algo_str) + return subscriber_id + + def enb_is_connected(self, enb): + # TODO: improve this a bit, like matching IP addr of enb. CTRL iface? + # The string is only available in log file, not in stdout: + #return 'S1 setup response' in (self.process.get_stdout() or '') + return True + + def running(self): + return not self.process.terminated() + + def tun_addr(self): + # TODO: set proper addr + return '192.168.4.1' + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/epc.py b/src/osmo_gsm_tester/epc.py new file mode 100644 index 0000000..da8302c --- /dev/null +++ b/src/osmo_gsm_tester/epc.py @@ -0,0 +1,80 @@ +# osmo_gsm_tester: base classes to share code among EPC subclasses. +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# Author: Pau Espin Pedrol +# +# 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 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 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 abc import ABCMeta, abstractmethod +from . import log, config + + +class EPC(log.Origin, metaclass=ABCMeta): + +############## +# PROTECTED +############## + def __init__(self, suite_run, run_node, name): + super().__init__(log.C_RUN, '%s' % name) + self._addr = run_node.run_addr() + self.set_name('%s_%s' % (name, self._addr)) + self.suite_run = suite_run + self._run_node = run_node + + def configure(self, default_specifics): + values = dict(epc=config.get_defaults('epc')) + config.overlay(values, dict(epc=config.get_defaults(default_specifics))) + config.overlay(values, dict(epc=self.suite_run.config().get('epc', {}))) + config.overlay(values, dict(epc={'run_addr': self.addr()})) + return values + +######################## +# PUBLIC - INTERNAL API +######################## + def cleanup(self): + 'Nothing to do by default. Subclass can override if required.' + pass + +################### +# PUBLIC (test API included) +################### + @abstractmethod + def start(self, epc): + 'Starts ENB, it will connect to "epc"' + pass + + @abstractmethod + def subscriber_add(self, modem, msisdn=None, algo_str=None): + pass + + @abstractmethod + def enb_is_connected(self, enb): + pass + + @abstractmethod + def running(self): + pass + + @abstractmethod + def tun_addr(self): + pass + + def addr(self): + return self._addr + + def run_node(self): + return self._run_node + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index d14ee96..383f09e 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -29,7 +29,7 @@ from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g from . import modem from . import ms_osmo_mobile -from . import srs_ue, srs_enb, amarisoft_enb +from . import srs_ue, srs_enb, amarisoft_enb, srs_epc, amarisoft_epc from .util import is_dict, is_list @@ -122,6 +122,7 @@ { 'defaults.timeout': schema.STR, 'config.bsc.net.codec_list[]': schema.CODEC, 'config.enb.enable_pcap': schema.BOOL_STR, + 'config.epc.type': schema.STR, 'config.epc.rlc_drb_mode': schema.LTE_RLC_DRB_MODE, 'config.epc.enable_pcap': schema.BOOL_STR, 'config.modem.enable_pcap': schema.BOOL_STR, @@ -143,6 +144,11 @@ 'amarisoftenb': amarisoft_enb.AmarisoftENB, } +KNOWN_EPC_TYPES = { + 'srsepc': srs_epc.srsEPC, + 'amarisoftepc': amarisoft_epc.AmarisoftEPC, +} + KNOWN_MS_TYPES = { # Map None to ofono for forward compability None: modem.Modem, diff --git a/src/osmo_gsm_tester/srs_epc.py b/src/osmo_gsm_tester/srs_epc.py index 947eb7b..708ca5b 100644 --- a/src/osmo_gsm_tester/srs_epc.py +++ b/src/osmo_gsm_tester/srs_epc.py @@ -21,6 +21,7 @@ import pprint from . import log, util, config, template, process, remote +from . import epc def rlc_drb_mode2qci(rlc_drb_mode): if rlc_drb_mode.upper() == "UM": @@ -29,7 +30,7 @@ return 9; raise log.Error('Unexpected rlc_drb_mode', rlc_drb_mode=rlc_drb_mode) -class srsEPC(log.Origin): +class srsEPC(epc.EPC): REMOTE_DIR = '/osmo-gsm-tester-srsepc' BINFILE = 'srsepc' @@ -39,9 +40,7 @@ LOGFILE = 'srsepc.log' def __init__(self, suite_run, run_node): - super().__init__(log.C_RUN, 'srsepc') - self._addr = run_node.run_addr() - self.set_name('srsepc_%s' % self._addr) + super().__init__(suite_run, run_node, 'srsepc') self.run_dir = None self.config_file = None self.db_file = None @@ -55,8 +54,6 @@ self.remote_pcap_file = None self.enable_pcap = False self.subscriber_list = [] - self.suite_run = suite_run - self._run_node = run_node def cleanup(self): if self.process is None: @@ -161,9 +158,7 @@ self.pcap_file = self.run_dir.child(srsEPC.PCAPFILE) self.dbg(config_file=self.config_file, db_file=self.db_file) - values = dict(epc=config.get_defaults('srsepc')) - config.overlay(values, dict(epc=self.suite_run.config().get('epc', {}))) - config.overlay(values, dict(epc={'run_addr': self.addr()})) + values = super().configure('srsepc') # Convert parsed boolean string to Python boolean: self.enable_pcap = util.str2bool(values['epc'].get('enable_pcap', 'false')) @@ -212,13 +207,7 @@ def running(self): return not self.process.terminated() - def addr(self): - return self._addr - def tun_addr(self): return '172.16.0.1' - def run_node(self): - return self._run_node - # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index 8c79d35..5076671 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -25,7 +25,6 @@ from .event_loop import MainLoop from . import osmo_nitb, osmo_hlr, osmo_mgcpgw, osmo_mgw, osmo_msc, osmo_bsc, osmo_stp, osmo_ggsn, osmo_sgsn, esme, osmocon, ms_driver, iperf3, process from . import run_node -from . import srs_epc class Timeout(Exception): pass @@ -374,9 +373,9 @@ def epc(self, run_node=None): if run_node is None: run_node = self.run_node() - epc_obj = srs_epc.srsEPC(self, run_node) - self.register_for_cleanup(epc_obj) - return epc_obj + epc = epc_obj(self, run_node) + self.register_for_cleanup(epc) + return epc def osmocon(self, specifics=None): conf = self.reserved_resources.get(resource.R_OSMOCON, specifics=specifics) @@ -505,4 +504,16 @@ raise RuntimeError('No such ENB type is defined: %r' % enb_type) return enb_class(suite_run, conf) +def epc_obj(suite_run, run_node): + values = dict(epc=config.get_defaults('epc')) + config.overlay(values, dict(epc=suite_run.config().get('epc', {}))) + epc_type = values['epc'].get('type', None) + if epc_type is None: + raise RuntimeError('EPC type is not defined!') + log.dbg('create EPC object', type=epc_type) + epc_class = resource.KNOWN_EPC_TYPES.get(epc_type) + if epc_class is None: + raise RuntimeError('No such EPC type is defined: %r' % epc_type) + return epc_class(suite_run, run_node) + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl new file mode 100644 index 0000000..a2af69a --- /dev/null +++ b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl @@ -0,0 +1,116 @@ +/* ltemme configuration file + * version 2018-10-18 + * Copyright (C) 2015-2018 Amarisoft + */ +{ + + license_server: { + server_addr: "${epc.license_server_addr}", + name: "amarisoft", + }, + + /* Log filter: syntax: layer.field=value[,...] + + Possible layers are nas, ip, s1ap, gtpu and all. The 'all' layer + is used to address all the layers at the same time. + + field values: + + - 'level': the log level of each layer can be set to 'none', + 'error', 'info' or 'debug'. Use 'debug' to log all the messages. + + - 'max_size': set the maximum size of the hex dump. 0 means no + hex dump. -1 means no limit. + */ + //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,s1ap.level=debug,s1ap.max_size=1", + log_filename: "${epc.log_filename}", + + /* Enable remote API and Web interface */ + com_addr: "${epc.run_addr}:9000", + + /* bind address for GTP-U. Normally = address of the PC, here bound + on local interface to be able to run ltemme on the same PC as + lteenb. By default, the S1AP SCTP connection is bound on the same + address. */ + gtp_addr: "${epc.run_addr}", + + s1ap_bind_addr: "${epc.run_addr}", + + plmn: "${epc.mcc}${epc.mnc}", + mme_group_id: 32769, + mme_code: 1, + + /* network name and network short name sent in the EMM information + message to the UE */ + network_name: "Amarisoft Network", + network_short_name: "Amarisoft", + + /* Control Plane Cellular IoT EPS optimization support */ + cp_ciot_opt: true, + + /* Public Data Networks. The first one is the default. */ + pdn_list: [ + { + /* Some UE requires a specific PDN for data access */ + pdn_type: "ipv4", + access_point_name: "internet", + first_ip_addr: "192.168.4.2", + last_ip_addr: "192.168.4.254", + ip_addr_shift: 2, + dns_addr: "8.8.8.8", /* Google DNS address */ + erabs: [ + { + qci: 9, + priority_level: 15, + pre_emption_capability: "shall_not_trigger_pre_emption", + pre_emption_vulnerability: "not_pre_emptable", + }, + ], + }, + ], + /* Setup script for the network interface. + If no script is given, no network interface is created. + Script is called for each PDN with following parameters: + 1) Interface name + 2) PDN index + 3) Access Point Name + 4) IP version: 'ipv4' or 'ipv6' + 5) IP address: first IP address for ipv4 and link local address for IPv6 + 6) First IP address + 7) Last IP address + */ + 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. */ + nas_integ_algo_pref: [ 2, 1 ], + + /* user data base */ + ue_db: [ +%for sub in epc.hss.subscribers: + { + sim_algo: "${sub.auth_algo}", /* USIM authentication algorithm: xor, milenage or tuak */ + imsi: "${sub.imsi}", /* Anritsu Test USIM */ + amf: 0x9001, /* Authentication Management Field */ + sqn: "000000000000", /* Sequence Number */ + K: "${sub.ki}", /* Anritsu Test USIM */ + /* if true, allow several UEs to have the same IMSI (useful + with test SIM cards). They are distinguished with their + IMEI. default = false. */ + multi_sim: true, + }, +%endfor + /* Add new entries for each IMSI/K */ + ], + + /* persistent user database */ + //ue_db_filename: "lte_ue.db", +} diff --git a/utils/bin/osmo-gsm-tester_amarisoft_ltemme_ifup.sh b/utils/bin/osmo-gsm-tester_amarisoft_ltemme_ifup.sh new file mode 100755 index 0000000..d502123 --- /dev/null +++ b/utils/bin/osmo-gsm-tester_amarisoft_ltemme_ifup.sh @@ -0,0 +1,16 @@ +#!/bin/bash -e +ifname="$1" # Interface name +index="$2" # Network index (PDN index) +apn="$3" # Access point name +type="$4" # ipv4 or ipv6 +ifaddr="$5" # Interface address +addr1="$6" # First IP address +addr2="$7" # Last IP address +mask="$8" # Mask +echo "*** Configuring $type APN[$index] '$apn' on ${ifname}, $ifaddr/$mask, ${addr1}..${addr2}" +if [ "$type" = "ipv4" ] ; then + ifconfig ${ifname} ${ifaddr}/${mask} up +else + ifconfig ${ifname} inet6 add ${addr1}/${mask} up +fi +echo "*** done configuring interface ${ifname}" diff --git a/utils/sudoers.d/osmo-gsm-tester_amarisoft_ltemme_ifup b/utils/sudoers.d/osmo-gsm-tester_amarisoft_ltemme_ifup new file mode 100644 index 0000000..a8cd298 --- /dev/null +++ b/utils/sudoers.d/osmo-gsm-tester_amarisoft_ltemme_ifup @@ -0,0 +1 @@ +%osmo-gsm-tester ALL=(root) NOPASSWD: /usr/local/bin/osmo-gsm-tester_amarisoft_ltemme_ifup.sh -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690 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: Ia50ea6a74b63b2d688c8d683aea11416ad40a6d3 Gerrit-Change-Number: 17690 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 Apr 1 12:13:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 12:13:38 +0000 Subject: Change in osmo-gsm-tester[master]: srs{enb, ue}: Use lowcase UHD as rf_type string References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17701 ) Change subject: srs{enb,ue}: Use lowcase UHD as rf_type string ...................................................................... srs{enb,ue}: Use lowcase UHD as rf_type string Older versions of srsLTe.git required passing UHD in caps to the conf file, but that's not the case anymore. Let's use lowcase then. Change-Id: If8a289ba110229d31b62b0d3adc1ae97324e6d27 --- M example/resources.conf.prod M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 3 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/01/17701/1 diff --git a/example/resources.conf.prod b/example/resources.conf.prod index cbcaafd..5648b55 100644 --- a/example/resources.conf.prod +++ b/example/resources.conf.prod @@ -164,7 +164,7 @@ - label: srsENB-B200 type: srsenb - rf_dev_type: UHD + rf_dev_type: uhd rf_dev_args: "type=b200,serial=306BD11,recv_frame_size=9232,send_frame_size=9232" remote_user: jenkins addr: 10.42.42.117 diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 91881c0..2c99304 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -24,7 +24,7 @@ from . import enb 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') #reference: srsLTE.git srslte_symbol_sz() def num_prb2symbol_sz(num_prb): diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 398fea7..e95c9fd 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -26,7 +26,7 @@ from .ms import MS 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') #reference: srsLTE.git srslte_symbol_sz() def num_prb2symbol_sz(num_prb): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17701 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: If8a289ba110229d31b62b0d3adc1ae97324e6d27 Gerrit-Change-Number: 17701 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 Apr 1 12:38:11 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 1 Apr 2020 12:38:11 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{ue, enb}: change UHD stream args and buffer size as function of c... In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 to look at the new patch set (#7). Change subject: srs_{ue,enb}: change UHD stream args and buffer size as function of cell width for B2XX ...................................................................... srs_{ue,enb}: change UHD stream args and buffer size as function of cell width for B2XX Change-Id: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc --- M example/resources.conf.prod M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 3 files changed, 39 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/50/17650/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 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: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc Gerrit-Change-Number: 17650 Gerrit-PatchSet: 7 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 Apr 1 12:38:11 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 1 Apr 2020 12:38:11 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: add config to adjust the duration of the iperf run In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 to look at the new patch set (#9). Change subject: iperf3: add config to adjust the duration of the iperf run ...................................................................... iperf3: add config to adjust the duration of the iperf run the time is passed as a string param and is then converted into seconds when literals "h" or "m" are found. So it would accept 2m and would convert it to 120s, for example. Example: +cfg-iperf3-time at 15+ Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d --- M example/defaults.conf A example/scenarios/cfg-iperf3-time at .conf M src/osmo_gsm_tester/iperf3.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/schema.py M suites/4g/iperf3_dl.py M suites/4g/iperf3_ul.py 7 files changed, 36 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/51/17651/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 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: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d Gerrit-Change-Number: 17651 Gerrit-PatchSet: 9 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 12:38:18 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 1 Apr 2020 12:38:18 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: add config to adjust the duration of the iperf run In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 ) Change subject: iperf3: add config to adjust the duration of the iperf run ...................................................................... Patch Set 9: (4 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/8/src/osmo_gsm_tester/iperf3.py File src/osmo_gsm_tester/iperf3.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/8/src/osmo_gsm_tester/iperf3.py at 159 PS8, Line 159: values = dict(iperf3cli=config.get_defaults('iperf3cli')) > You acked my commit but didn't apply the change :) sorry, forgot to comment. I've changed it but it wasn't picking up the passed argument, so I needed to revert it again, this way it is working as expected. sorry https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/8/src/osmo_gsm_tester/iperf3.py at 171 PS8, Line 171: time_sec_final = int(time_sec) > If coming from argument, then it should be an integer, so having time_sec_final = time_sec should be [?] Ack https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/8/suites/4g/iperf3_dl.py File suites/4g/iperf3_dl.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/8/suites/4g/iperf3_dl.py at 35 PS8, Line 35: proc = iperf3cli.prepare_test_proc(True, ue.netns(), time_sec=None) > simply remove the time_sec=None from here, default will apply. Ack https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/8/suites/4g/iperf3_ul.py File suites/4g/iperf3_ul.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/8/suites/4g/iperf3_ul.py at 35 PS8, Line 35: proc = iperf3cli.prepare_test_proc(False, ue.netns(), time_sec=None) > simply remove the time_sec=None from here, default will apply. Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 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: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d Gerrit-Change-Number: 17651 Gerrit-PatchSet: 9 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 01 Apr 2020 12:38: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 Wed Apr 1 12:41:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 12:41:08 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{ue, enb}: change UHD stream args and buffer size as function of c... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 ) Change subject: srs_{ue,enb}: change UHD stream args and buffer size as function of cell width for B2XX ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 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: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc Gerrit-Change-Number: 17650 Gerrit-PatchSet: 7 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 12:41: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 Apr 1 12:53:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 12:53:53 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{ue, enb}: change UHD stream args and buffer size as function of c... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 ) Change subject: srs_{ue,enb}: change UHD stream args and buffer size as function of cell width for B2XX ...................................................................... srs_{ue,enb}: change UHD stream args and buffer size as function of cell width for B2XX Change-Id: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc --- M example/resources.conf.prod M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 3 files changed, 39 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/example/resources.conf.prod b/example/resources.conf.prod index cbcaafd..438184d 100644 --- a/example/resources.conf.prod +++ b/example/resources.conf.prod @@ -165,7 +165,7 @@ - label: srsENB-B200 type: srsenb rf_dev_type: UHD - rf_dev_args: "type=b200,serial=306BD11,recv_frame_size=9232,send_frame_size=9232" + rf_dev_args: "type=b200,serial=306BD11" remote_user: jenkins addr: 10.42.42.117 diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 91881c0..15c1e0c 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -208,6 +208,25 @@ + ',id=enb,base_srate=' + str(base_srate) config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) + # Set UHD frame size as a function of the cell bandwidth on B2XX + if self._conf.get('rf_dev_type') == 'UHD' and values['enb'].get('rf_dev_args', None) is not None: + if 'b200' in values['enb'].get('rf_dev_args'): + rf_dev_args = values['enb'].get('rf_dev_args', '') + rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else '' + + if self._num_prb < 25: + rf_dev_args += 'send_frame_size=512,recv_frame_size=512' + elif self._num_prb == 25: + rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024' + elif self._num_prb > 25: + rf_dev_args += 'num_recv_frames=64,num_send_frames=64' + + if self._num_prb > 50: + # Reduce over the wire format to sc12 + rf_dev_args += ',otw_format=sc12' + + config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) + self.config_file = self.run_dir.child(srsENB.CFGFILE) self.config_sib_file = self.run_dir.child(srsENB.CFGFILE_SIB) self.config_rr_file = self.run_dir.child(srsENB.CFGFILE_RR) diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 398fea7..190fd86 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -236,6 +236,25 @@ + ',id=ue,base_srate='+ str(base_srate) ))) + # Set UHD frame size as a function of the cell bandwidth on B2XX + if self._conf.get('rf_dev_type') == 'UHD' and values['ue'].get('rf_dev_args', None) is not None: + if 'b200' in values['ue'].get('rf_dev_args'): + rf_dev_args = values['ue'].get('rf_dev_args', '') + rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else '' + + if self.enb.num_prb() < 25: + rf_dev_args += 'send_frame_size=512,recv_frame_size=512' + elif self.enb.num_prb() == 25: + rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024' + elif self.enb.num_prb() > 50: + rf_dev_args += 'num_recv_frames=64,num_send_frames=64' + + # For 15 and 20 MHz, further reduce over the wire format to sc12 + if self.enb.num_prb() >= 75: + rf_dev_args += ',otw_format=sc12' + + config.overlay(values, dict(ue=dict(rf_dev_args=rf_dev_args))) + self.dbg('SRSUE CONFIG:\n' + pprint.pformat(values)) with open(self.config_file, 'w') as f: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 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: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc Gerrit-Change-Number: 17650 Gerrit-PatchSet: 7 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 Wed Apr 1 13:01:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 13:01:51 +0000 Subject: Change in osmo-gsm-tester[master]: srs{enb, ue}: Use lowcase UHD as rf_type string 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/+/17701 to look at the new patch set (#2). Change subject: srs{enb,ue}: Use lowcase UHD as rf_type string ...................................................................... srs{enb,ue}: Use lowcase UHD as rf_type string Older versions of srsLTe.git required passing UHD in caps to the conf file, but that's not the case anymore. Let's use lowcase then. Change-Id: If8a289ba110229d31b62b0d3adc1ae97324e6d27 --- M example/resources.conf.prod M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 3 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/01/17701/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17701 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: If8a289ba110229d31b62b0d3adc1ae97324e6d27 Gerrit-Change-Number: 17701 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 Apr 1 13:17:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 13:17:32 +0000 Subject: Change in osmo-gsm-tester[master]: Make amarisoft license server optional References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17702 ) Change subject: Make amarisoft license server optional ...................................................................... Make amarisoft license server optional * Since license_server_addr logic is generic among all amarisoft software, let's move it to its own config category "amarisoft", which all amarisoft classes (amarisoft_{enb,epc}.py as of now) will import during configure(). * The license server is disabled by default (value 0.0.0.0) since the usual case is to have a license in the local system. * the license server can be enabled using scenario cfg-amarisoft-license at A.B.C.D where A.B.C.D is the address to use. Change-Id: Id5456ad9497e91370857b80ff9a389111d3611ff --- M example/defaults.conf A example/scenarios/cfg-amarisoft-license at .conf M src/osmo_gsm_tester/amarisoft_enb.py M src/osmo_gsm_tester/amarisoft_epc.py M src/osmo_gsm_tester/enb.py M src/osmo_gsm_tester/epc.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_epc.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl 11 files changed, 25 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/02/17702/1 diff --git a/example/defaults.conf b/example/defaults.conf index 56a41e5..aa1e1dc 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -101,8 +101,8 @@ rlc_drb_mode: UM enable_pcap: false -amarisoftepc: - license_server_addr: 10.12.1.139 +amarisoft: + license_server_addr: 0.0.0.0 enb: mcc: 901 @@ -115,7 +115,6 @@ enable_pcap: false amarisoftenb: - license_server_addr: 10.12.1.139 num_prb: 100 enable_pcap: false diff --git a/example/scenarios/cfg-amarisoft-license at .conf b/example/scenarios/cfg-amarisoft-license at .conf new file mode 100644 index 0000000..3e4813b --- /dev/null +++ b/example/scenarios/cfg-amarisoft-license at .conf @@ -0,0 +1,3 @@ +config: + amarisoft: + license_server_addr: ${param1} diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index 0890f90..79b90a7 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -159,7 +159,7 @@ self.remote_config_drb_file = remote_run_dir.child(AmarisoftENB.CFGFILE_DRB) self.remote_log_file = remote_run_dir.child(AmarisoftENB.LOGFILE) - values = super().configure('amarisoftenb') + values = super().configure(['amarisoft', 'amarisoftenb']) self._num_cells = int(values['enb'].get('num_cells', None)) assert self._num_cells diff --git a/src/osmo_gsm_tester/amarisoft_epc.py b/src/osmo_gsm_tester/amarisoft_epc.py index 0361f54..eb9be94 100644 --- a/src/osmo_gsm_tester/amarisoft_epc.py +++ b/src/osmo_gsm_tester/amarisoft_epc.py @@ -141,7 +141,7 @@ self.remote_log_file = remote_run_dir.child(AmarisoftEPC.LOGFILE) self.remote_ifup_file = remote_run_dir.child(AmarisoftEPC.IFUPFILE) - values = super().configure('amarisoftepc') + values = super().configure(['amarisoft', 'amarisoftepc']) logfile = self.log_file if self._run_node.is_local() else self.remote_log_file ifupfile = self.ifup_file if self._run_node.is_local() else self.remote_ifup_file diff --git a/src/osmo_gsm_tester/enb.py b/src/osmo_gsm_tester/enb.py index 197ad25..d069f84 100644 --- a/src/osmo_gsm_tester/enb.py +++ b/src/osmo_gsm_tester/enb.py @@ -37,10 +37,13 @@ self._num_prb = 0 self._epc = None - def configure(self, default_specifics): + def configure(self, config_specifics_li): values = dict(enb=config.get_defaults('enb')) - config.overlay(values, dict(enb=config.get_defaults(default_specifics))) + for config_specifics in config_specifics_li: + config.overlay(values, dict(enb=config.get_defaults(config_specifics))) config.overlay(values, dict(enb=self.suite_run.config().get('enb', {}))) + for config_specifics in config_specifics_li: + config.overlay(values, dict(enb=self.suite_run.config().get(config_specifics, {}))) config.overlay(values, dict(enb=self._conf)) self._num_prb = int(values['enb'].get('num_prb', None)) assert self._num_prb diff --git a/src/osmo_gsm_tester/epc.py b/src/osmo_gsm_tester/epc.py index da8302c..6aa17e7 100644 --- a/src/osmo_gsm_tester/epc.py +++ b/src/osmo_gsm_tester/epc.py @@ -33,10 +33,13 @@ self.suite_run = suite_run self._run_node = run_node - def configure(self, default_specifics): + def configure(self, config_specifics_li): values = dict(epc=config.get_defaults('epc')) - config.overlay(values, dict(epc=config.get_defaults(default_specifics))) + for config_specifics in config_specifics_li: + config.overlay(values, dict(epc=config.get_defaults(config_specifics))) config.overlay(values, dict(epc=self.suite_run.config().get('epc', {}))) + for config_specifics in config_specifics_li: + config.overlay(values, dict(epc=self.suite_run.config().get(config_specifics, {}))) config.overlay(values, dict(epc={'run_addr': self.addr()})) return values diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 383f09e..a13fd2d 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -126,6 +126,7 @@ 'config.epc.rlc_drb_mode': schema.LTE_RLC_DRB_MODE, 'config.epc.enable_pcap': schema.BOOL_STR, 'config.modem.enable_pcap': schema.BOOL_STR, + 'config.amarisoft.license_server_addr': schema.IPV4, }, dict([('resources.%s' % key, val) for key, val in WANT_SCHEMA.items()]), dict([('modifiers.%s' % key, val) for key, val in WANT_SCHEMA.items()])) diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 15c1e0c..6f47e75 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -187,7 +187,7 @@ f.write(r) def configure(self): - values = super().configure('srsenb') + values = super().configure(['srsenb']) # Convert parsed boolean string to Python boolean: self.enable_pcap = util.str2bool(values['enb'].get('enable_pcap', 'false')) diff --git a/src/osmo_gsm_tester/srs_epc.py b/src/osmo_gsm_tester/srs_epc.py index 708ca5b..b2d728a 100644 --- a/src/osmo_gsm_tester/srs_epc.py +++ b/src/osmo_gsm_tester/srs_epc.py @@ -158,7 +158,7 @@ self.pcap_file = self.run_dir.child(srsEPC.PCAPFILE) self.dbg(config_file=self.config_file, db_file=self.db_file) - values = super().configure('srsepc') + values = super().configure(['srsepc']) # Convert parsed boolean string to Python boolean: self.enable_pcap = util.str2bool(values['epc'].get('enable_pcap', 'false')) diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 73b4fd2..fab1649 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -3,11 +3,12 @@ */ { +%if enb.license_server_addr != '0.0.0.0': license_server: { server_addr: "${enb.license_server_addr}", name: "amarisoft", }, - +%endif /* Log filter: syntax: layer.field=value[,...] diff --git a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl index a2af69a..54334f5 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl @@ -4,10 +4,12 @@ */ { +%if epc.license_server_addr != '0.0.0.0': license_server: { - server_addr: "${epc.license_server_addr}", + server_addr: "${enb.license_server_addr}", name: "amarisoft", }, +%endif /* Log filter: syntax: layer.field=value[,...] -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17702 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: Id5456ad9497e91370857b80ff9a389111d3611ff Gerrit-Change-Number: 17702 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 Apr 1 13:22:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 13:22:21 +0000 Subject: Change in osmo-gsm-tester[master]: Make amarisoft license server optional In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17702 ) Change subject: Make amarisoft license server optional ...................................................................... Make amarisoft license server optional * Since license_server_addr logic is generic among all amarisoft software, let's move it to its own config category "amarisoft", which all amarisoft classes (amarisoft_{enb,epc}.py as of now) will import during configure(). * The license server is disabled by default (value 0.0.0.0) since the usual case is to have a license in the local system. * the license server can be enabled using scenario cfg-amarisoft-license at A.B.C.D where A.B.C.D is the address to use. Change-Id: Id5456ad9497e91370857b80ff9a389111d3611ff --- M example/defaults.conf A example/scenarios/cfg-amarisoft-license at .conf M src/osmo_gsm_tester/amarisoft_enb.py M src/osmo_gsm_tester/amarisoft_epc.py M src/osmo_gsm_tester/enb.py M src/osmo_gsm_tester/epc.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_epc.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl 11 files changed, 24 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/02/17702/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17702 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: Id5456ad9497e91370857b80ff9a389111d3611ff Gerrit-Change-Number: 17702 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 Wed Apr 1 13:37:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 13:37:33 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: add config to adjust the duration of the iperf run In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#10) to the change originally created by srs_andre. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 ) Change subject: iperf3: add config to adjust the duration of the iperf run ...................................................................... iperf3: add config to adjust the duration of the iperf run the time is passed as a string param and is then converted into seconds when literals "h" or "m" are found. So it would accept 2m and would convert it to 120s, for example. Example: +cfg-iperf3-time at 15+ Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d --- M example/defaults.conf A example/scenarios/cfg-iperf3-time at .conf M src/osmo_gsm_tester/iperf3.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/schema.py M suites/4g/iperf3_dl.py M suites/4g/iperf3_ul.py 7 files changed, 34 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/51/17651/10 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 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: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d Gerrit-Change-Number: 17651 Gerrit-PatchSet: 10 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 13:38:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 13:38:35 +0000 Subject: Change in osmo-gsm-tester[master]: Make amarisoft license server optional In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17702 ) Change subject: Make amarisoft license server optional ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17702 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: Id5456ad9497e91370857b80ff9a389111d3611ff Gerrit-Change-Number: 17702 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 13:38: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 Wed Apr 1 13:38:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 13:38:44 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: add config to adjust the duration of the iperf run In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 ) Change subject: iperf3: add config to adjust the duration of the iperf run ...................................................................... Patch Set 10: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 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: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d Gerrit-Change-Number: 17651 Gerrit-PatchSet: 10 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 01 Apr 2020 13: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 Wed Apr 1 13:55:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 13:55:43 +0000 Subject: Change in osmo-gsm-tester[master]: Make amarisoft license server optional In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17702 ) Change subject: Make amarisoft license server optional ...................................................................... Make amarisoft license server optional * Since license_server_addr logic is generic among all amarisoft software, let's move it to its own config category "amarisoft", which all amarisoft classes (amarisoft_{enb,epc}.py as of now) will import during configure(). * The license server is disabled by default (value 0.0.0.0) since the usual case is to have a license in the local system. * the license server can be enabled using scenario cfg-amarisoft-license at A.B.C.D where A.B.C.D is the address to use. Change-Id: Id5456ad9497e91370857b80ff9a389111d3611ff --- M example/defaults.conf A example/scenarios/cfg-amarisoft-license at .conf M src/osmo_gsm_tester/amarisoft_enb.py M src/osmo_gsm_tester/amarisoft_epc.py M src/osmo_gsm_tester/enb.py M src/osmo_gsm_tester/epc.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_epc.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl 11 files changed, 24 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/example/defaults.conf b/example/defaults.conf index 56a41e5..aa1e1dc 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -101,8 +101,8 @@ rlc_drb_mode: UM enable_pcap: false -amarisoftepc: - license_server_addr: 10.12.1.139 +amarisoft: + license_server_addr: 0.0.0.0 enb: mcc: 901 @@ -115,7 +115,6 @@ enable_pcap: false amarisoftenb: - license_server_addr: 10.12.1.139 num_prb: 100 enable_pcap: false diff --git a/example/scenarios/cfg-amarisoft-license at .conf b/example/scenarios/cfg-amarisoft-license at .conf new file mode 100644 index 0000000..3e4813b --- /dev/null +++ b/example/scenarios/cfg-amarisoft-license at .conf @@ -0,0 +1,3 @@ +config: + amarisoft: + license_server_addr: ${param1} diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index 0890f90..79b90a7 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -159,7 +159,7 @@ self.remote_config_drb_file = remote_run_dir.child(AmarisoftENB.CFGFILE_DRB) self.remote_log_file = remote_run_dir.child(AmarisoftENB.LOGFILE) - values = super().configure('amarisoftenb') + values = super().configure(['amarisoft', 'amarisoftenb']) self._num_cells = int(values['enb'].get('num_cells', None)) assert self._num_cells diff --git a/src/osmo_gsm_tester/amarisoft_epc.py b/src/osmo_gsm_tester/amarisoft_epc.py index 0361f54..eb9be94 100644 --- a/src/osmo_gsm_tester/amarisoft_epc.py +++ b/src/osmo_gsm_tester/amarisoft_epc.py @@ -141,7 +141,7 @@ self.remote_log_file = remote_run_dir.child(AmarisoftEPC.LOGFILE) self.remote_ifup_file = remote_run_dir.child(AmarisoftEPC.IFUPFILE) - values = super().configure('amarisoftepc') + values = super().configure(['amarisoft', 'amarisoftepc']) logfile = self.log_file if self._run_node.is_local() else self.remote_log_file ifupfile = self.ifup_file if self._run_node.is_local() else self.remote_ifup_file diff --git a/src/osmo_gsm_tester/enb.py b/src/osmo_gsm_tester/enb.py index 197ad25..d069f84 100644 --- a/src/osmo_gsm_tester/enb.py +++ b/src/osmo_gsm_tester/enb.py @@ -37,10 +37,13 @@ self._num_prb = 0 self._epc = None - def configure(self, default_specifics): + def configure(self, config_specifics_li): values = dict(enb=config.get_defaults('enb')) - config.overlay(values, dict(enb=config.get_defaults(default_specifics))) + for config_specifics in config_specifics_li: + config.overlay(values, dict(enb=config.get_defaults(config_specifics))) config.overlay(values, dict(enb=self.suite_run.config().get('enb', {}))) + for config_specifics in config_specifics_li: + config.overlay(values, dict(enb=self.suite_run.config().get(config_specifics, {}))) config.overlay(values, dict(enb=self._conf)) self._num_prb = int(values['enb'].get('num_prb', None)) assert self._num_prb diff --git a/src/osmo_gsm_tester/epc.py b/src/osmo_gsm_tester/epc.py index da8302c..6aa17e7 100644 --- a/src/osmo_gsm_tester/epc.py +++ b/src/osmo_gsm_tester/epc.py @@ -33,10 +33,13 @@ self.suite_run = suite_run self._run_node = run_node - def configure(self, default_specifics): + def configure(self, config_specifics_li): values = dict(epc=config.get_defaults('epc')) - config.overlay(values, dict(epc=config.get_defaults(default_specifics))) + for config_specifics in config_specifics_li: + config.overlay(values, dict(epc=config.get_defaults(config_specifics))) config.overlay(values, dict(epc=self.suite_run.config().get('epc', {}))) + for config_specifics in config_specifics_li: + config.overlay(values, dict(epc=self.suite_run.config().get(config_specifics, {}))) config.overlay(values, dict(epc={'run_addr': self.addr()})) return values diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 383f09e..a13fd2d 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -126,6 +126,7 @@ 'config.epc.rlc_drb_mode': schema.LTE_RLC_DRB_MODE, 'config.epc.enable_pcap': schema.BOOL_STR, 'config.modem.enable_pcap': schema.BOOL_STR, + 'config.amarisoft.license_server_addr': schema.IPV4, }, dict([('resources.%s' % key, val) for key, val in WANT_SCHEMA.items()]), dict([('modifiers.%s' % key, val) for key, val in WANT_SCHEMA.items()])) diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 15c1e0c..6f47e75 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -187,7 +187,7 @@ f.write(r) def configure(self): - values = super().configure('srsenb') + values = super().configure(['srsenb']) # Convert parsed boolean string to Python boolean: self.enable_pcap = util.str2bool(values['enb'].get('enable_pcap', 'false')) diff --git a/src/osmo_gsm_tester/srs_epc.py b/src/osmo_gsm_tester/srs_epc.py index 708ca5b..b2d728a 100644 --- a/src/osmo_gsm_tester/srs_epc.py +++ b/src/osmo_gsm_tester/srs_epc.py @@ -158,7 +158,7 @@ self.pcap_file = self.run_dir.child(srsEPC.PCAPFILE) self.dbg(config_file=self.config_file, db_file=self.db_file) - values = super().configure('srsepc') + values = super().configure(['srsepc']) # Convert parsed boolean string to Python boolean: self.enable_pcap = util.str2bool(values['epc'].get('enable_pcap', 'false')) diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 73b4fd2..fab1649 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -3,11 +3,12 @@ */ { +%if enb.license_server_addr != '0.0.0.0': license_server: { server_addr: "${enb.license_server_addr}", name: "amarisoft", }, - +%endif /* Log filter: syntax: layer.field=value[,...] diff --git a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl index a2af69a..f17248e 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl @@ -4,10 +4,12 @@ */ { +%if epc.license_server_addr != '0.0.0.0': license_server: { server_addr: "${epc.license_server_addr}", name: "amarisoft", }, +%endif /* Log filter: syntax: layer.field=value[,...] -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17702 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: Id5456ad9497e91370857b80ff9a389111d3611ff Gerrit-Change-Number: 17702 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Wed Apr 1 13:55:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 13:55:43 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: add config to adjust the duration of the iperf run In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 ) Change subject: iperf3: add config to adjust the duration of the iperf run ...................................................................... iperf3: add config to adjust the duration of the iperf run the time is passed as a string param and is then converted into seconds when literals "h" or "m" are found. So it would accept 2m and would convert it to 120s, for example. Example: +cfg-iperf3-time at 15+ Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d --- M example/defaults.conf A example/scenarios/cfg-iperf3-time at .conf M src/osmo_gsm_tester/iperf3.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/schema.py M suites/4g/iperf3_dl.py M suites/4g/iperf3_ul.py 7 files changed, 34 insertions(+), 5 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/example/defaults.conf b/example/defaults.conf index aa1e1dc..0b9136d 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -123,3 +123,6 @@ airplane_t_on_ms: -1 airplane_t_off_ms: -1 num_carriers: 1 + +iperf3cli: + time: 60 diff --git a/example/scenarios/cfg-iperf3-time at .conf b/example/scenarios/cfg-iperf3-time at .conf new file mode 100644 index 0000000..f46c59a --- /dev/null +++ b/example/scenarios/cfg-iperf3-time at .conf @@ -0,0 +1,3 @@ +config: + iperf3cli: + time: ${param1} diff --git a/src/osmo_gsm_tester/iperf3.py b/src/osmo_gsm_tester/iperf3.py index be4dd6f..7103193 100644 --- a/src/osmo_gsm_tester/iperf3.py +++ b/src/osmo_gsm_tester/iperf3.py @@ -20,7 +20,7 @@ import os import json -from . import log, util, process, pcap_recorder, run_node, remote +from . import log, util, config, process, pcap_recorder, run_node, remote def iperf3_result_to_json(file): with open(file) as f: @@ -154,8 +154,23 @@ locally = not self._run_node or self._run_node.is_local() return locally - def prepare_test_proc(self, downlink=False, netns=None, time_sec=10): - self.log('Starting iperf3-client connecting to %s:%d' % (self.server.addr(), self.server.port())) + def prepare_test_proc(self, downlink=False, netns=None, time_sec=None): + if time_sec is None: + values = config.get_defaults('iperf3cli') + config.overlay(values, self.suite_run.config().get('iperf3cli', {})) + time_sec_str = values.get('time', time_sec) + + # Convert duration to seconds + if isinstance(time_sec_str, str) and time_sec_str.endswith('h'): + time_sec = int(time_sec_str[:-1]) * 3600 + elif isinstance(time_sec_str, str) and time_sec_str.endswith('m'): + time_sec = int(time_sec_str[:-1]) * 60 + else: + time_sec = int(time_sec_str) + + assert(time_sec) + + self.log('Preparing iperf3-client connecting to %s:%d (time=%ds)' % (self.server.addr(), self.server.port(), time_sec)) self.log_copied = False self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) self.log_file = self.run_dir.new_file(IPerf3Client.LOGFILE) diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index a13fd2d..3b6e341 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -127,6 +127,7 @@ 'config.epc.enable_pcap': schema.BOOL_STR, 'config.modem.enable_pcap': schema.BOOL_STR, 'config.amarisoft.license_server_addr': schema.IPV4, + 'config.iperf3cli.time': schema.DURATION, }, dict([('resources.%s' % key, val) for key, val in WANT_SCHEMA.items()]), dict([('modifiers.%s' % key, val) for key, val in WANT_SCHEMA.items()])) diff --git a/src/osmo_gsm_tester/schema.py b/src/osmo_gsm_tester/schema.py index 7fe6689..85c5fd6 100644 --- a/src/osmo_gsm_tester/schema.py +++ b/src/osmo_gsm_tester/schema.py @@ -136,6 +136,11 @@ return raise ValueError('Unknown LTE RLC DRB Mode value: %r' % val) +def duration(val): + if val.isdecimal() or val.endswith('m') or val.endswith('h'): + return + raise ValueError('Invalid duration value: %r' % val) + INT = 'int' STR = 'str' UINT = 'uint' @@ -157,6 +162,7 @@ OSMO_TRX_CLOCK_REF = 'osmo_trx_clock_ref' LTE_TRANSMISSION_MODE = 'lte_transmission_mode' LTE_RLC_DRB_MODE = 'lte_rlc_drb_mode' +DURATION = 'duration' SCHEMA_TYPES = { INT: int, @@ -180,6 +186,7 @@ OSMO_TRX_CLOCK_REF: osmo_trx_clock_ref, LTE_TRANSMISSION_MODE: lte_transmission_mode, LTE_RLC_DRB_MODE: lte_rlc_drb_mode, + DURATION: duration, } def validate(config, schema): diff --git a/suites/4g/iperf3_dl.py b/suites/4g/iperf3_dl.py index 38a3891..88ae82d 100755 --- a/suites/4g/iperf3_dl.py +++ b/suites/4g/iperf3_dl.py @@ -32,7 +32,7 @@ ue.connect(enb) iperf3srv.start() -proc = iperf3cli.prepare_test_proc(True, ue.netns(), time_sec=60) +proc = iperf3cli.prepare_test_proc(True, ue.netns()) print('waiting for UE to attach...') wait(ue.is_connected, None) diff --git a/suites/4g/iperf3_ul.py b/suites/4g/iperf3_ul.py index f467696..597b50d 100755 --- a/suites/4g/iperf3_ul.py +++ b/suites/4g/iperf3_ul.py @@ -32,7 +32,7 @@ ue.connect(enb) iperf3srv.start() -proc = iperf3cli.prepare_test_proc(False, ue.netns(), time_sec=60) +proc = iperf3cli.prepare_test_proc(False, ue.netns()) print('waiting for UE to attach...') wait(ue.is_connected, None) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 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: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d Gerrit-Change-Number: 17651 Gerrit-PatchSet: 10 Gerrit-Owner: srs_andre 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 Apr 1 13:55:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 13:55:43 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_rr.conf.temp: patch scheduler variables for 6 PRB cells In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17700 ) Change subject: srsenb_rr.conf.temp: patch scheduler variables for 6 PRB cells ...................................................................... srsenb_rr.conf.temp: patch scheduler variables for 6 PRB cells Change-Id: Ifdab42da8184cdf8367c5be1639a0faea3e68db1 --- M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl 1 file changed, 17 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl index cd9f4aa..bdbe741 100644 --- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl @@ -30,22 +30,32 @@ beta_offset_ri_idx = 6; beta_offset_cqi_idx = 6; }; - - // PUCCH-SR resources are scheduled on time-frequeny domain first, then multiplexed in the same resource. + + // PUCCH-SR resources are scheduled on time-frequeny domain first, then multiplexed in the same resource. sched_request_cnfg = { dsr_trans_max = 64; period = 20; // in ms - subframe = [1]; // vector of subframe indices allowed for SR transmissions - nof_prb = 2; // number of PRBs on each extreme used for SR (total prb is twice this number) + subframe = [1]; // vector of subframe indices allowed for SR transmissions + + // number of PRBs on each extreme used for SR (total prb is twice this number) +% if int(enb['num_prb']) <= 6: + nof_prb = 1; +% else: + nof_prb = 2; +% endif }; cqi_report_cnfg = - { + { mode = "periodic"; - simultaneousAckCQI = true; + simultaneousAckCQI = true; period = 40; // in ms subframe = [0]; - nof_prb = 2; +% if int(enb['num_prb']) <= 6: + nof_prb = 1; +% else: + nof_prb = 2; +% endif m_ri = 8; // RI period in CQI period }; }; -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17700 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: Ifdab42da8184cdf8367c5be1639a0faea3e68db1 Gerrit-Change-Number: 17700 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 Wed Apr 1 18:05:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 18:05:37 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{ue, enb}: Add modifier to pass arbitrary cmd line arguments In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#4) to the change originally created by srs_andre. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17611 ) Change subject: srs_{ue,enb}: Add modifier to pass arbitrary cmd line arguments ...................................................................... srs_{ue,enb}: Add modifier to pass arbitrary cmd line arguments Change-Id: Ie438c8aa9992dbc61b2133473a83d565cf5c7056 --- A example/scenarios/mod-enb-args at .conf A example/scenarios/mod-modem-args at .conf M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 5 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/11/17611/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17611 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: Ie438c8aa9992dbc61b2133473a83d565cf5c7056 Gerrit-Change-Number: 17611 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 Wed Apr 1 18:05:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 18:05:37 +0000 Subject: Change in osmo-gsm-tester[master]: config.py: Allow escaping commas in parametrized scenario names References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17703 ) Change subject: config.py: Allow escaping commas in parametrized scenario names ...................................................................... config.py: Allow escaping commas in parametrized scenario names comma character ',' is used in the command line to split between parameters, which means a parameter value itself couldn't contain it. This commit allows passing a comma inside a character value by escaping it with '\,'. Change-Id: Ic0bd9a029137a59e8c4a32b807eba7a64fcfa51f --- M src/osmo_gsm_tester/config.py 1 file changed, 45 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/03/17703/1 diff --git a/src/osmo_gsm_tester/config.py b/src/osmo_gsm_tester/config.py index 5016018..9333601 100644 --- a/src/osmo_gsm_tester/config.py +++ b/src/osmo_gsm_tester/config.py @@ -201,6 +201,49 @@ self.path = path self.param_list = param_list + @classmethod + def count_cont_char_backward(cls, str, before_pos, c): + n = 0 + i = before_pos - 1 + while i >= 0: + if str[i] != c: + break + n += 1 + i -= 1 + return n + + @classmethod + def split_scenario_parameters(cls, str): + cur_pos = 0 + param_li = [] + saved = '' + # Split into a list, but we want to escape '\,' to avoid splitting parameters containing commas. + while True: + prev_pos = cur_pos + cur_pos = str.find(',', prev_pos) + if cur_pos == -1: + param_li.append(str[prev_pos:]) + break + if cur_pos == 0: + param_li.append('') + elif cur_pos != 0 and str[cur_pos - 1] == '\\' and cls.count_cont_char_backward(str, cur_pos, '\\') % 2 == 1: + saved += str[prev_pos:cur_pos - 1] + ',' + else: + param_li.append(saved + str[prev_pos:cur_pos]) + saved = '' + cur_pos += 1 + i = 0 + # Also escape '\\' -> '\' + while i < len(param_li): + param_li[i] = param_li[i].replace('\\\\', '\\') + i += 1 + return param_li + + @classmethod + def from_param_list_str(cls, name, path, param_list_str): + param_list = cls.split_scenario_parameters(param_list_str) + return cls(name, path, param_list) + def read_from_file(self, validation_schema): with open(self.path, 'r') as f: config_str = f.read() @@ -228,6 +271,7 @@ if not is_parametrized_file: if not os.path.isfile(path): raise RuntimeError('No such scenario file: %r' % path) + sc = Scenario(name, path) else: # parametrized scenario: # Allow first matching complete matching names (eg: scenario at param1,param2.conf), # this allows setting specific content in different files for specific values. @@ -240,8 +284,7 @@ # At this point, we have existing file path. Let's now scrap the parameter(s): # get param1,param2 str from scenario at param1,param2.conf param_list_str = name.split('@', 1)[1][:-len('.conf')] - param_list = param_list_str.split(',') - sc = Scenario(name, path, param_list) + sc = Scenario.from_param_list_str(name, path, param_list_str) sc.read_from_file(validation_schema) return sc -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17703 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: Ic0bd9a029137a59e8c4a32b807eba7a64fcfa51f Gerrit-Change-Number: 17703 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 Apr 1 18:06:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 18:06:11 +0000 Subject: Change in osmo-gsm-tester[master]: srs{enb, ue}: Use lowcase UHD as rf_type string In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17701 ) Change subject: srs{enb,ue}: Use lowcase UHD as rf_type string ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17701 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: If8a289ba110229d31b62b0d3adc1ae97324e6d27 Gerrit-Change-Number: 17701 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 18: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 Wed Apr 1 18:06:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 18:06:17 +0000 Subject: Change in osmo-gsm-tester[master]: srs{enb, ue}: Use lowcase UHD as rf_type string In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17701 ) Change subject: srs{enb,ue}: Use lowcase UHD as rf_type string ...................................................................... srs{enb,ue}: Use lowcase UHD as rf_type string Older versions of srsLTe.git required passing UHD in caps to the conf file, but that's not the case anymore. Let's use lowcase then. Change-Id: If8a289ba110229d31b62b0d3adc1ae97324e6d27 --- M example/resources.conf.prod M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 3 files changed, 3 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/example/resources.conf.prod b/example/resources.conf.prod index 438184d..2d9d0a8 100644 --- a/example/resources.conf.prod +++ b/example/resources.conf.prod @@ -164,7 +164,7 @@ - label: srsENB-B200 type: srsenb - rf_dev_type: UHD + rf_dev_type: uhd rf_dev_args: "type=b200,serial=306BD11" remote_user: jenkins addr: 10.42.42.117 diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 6f47e75..4af2894 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -24,7 +24,7 @@ from . import enb 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') #reference: srsLTE.git srslte_symbol_sz() def num_prb2symbol_sz(num_prb): diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 190fd86..76ee2d1 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -26,7 +26,7 @@ from .ms import MS 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') #reference: srsLTE.git srslte_symbol_sz() def num_prb2symbol_sz(num_prb): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17701 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: If8a289ba110229d31b62b0d3adc1ae97324e6d27 Gerrit-Change-Number: 17701 Gerrit-PatchSet: 3 Gerrit-Owner: pespin 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 Wed Apr 1 19:31:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 19:31:44 +0000 Subject: Change in osmo-gsm-tester[master]: config.py: Allow escaping commas in parametrized scenario names In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17703 ) Change subject: config.py: Allow escaping commas in parametrized scenario names ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17703 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: Ic0bd9a029137a59e8c4a32b807eba7a64fcfa51f Gerrit-Change-Number: 17703 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 19:31: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 Apr 1 19:31:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 19:31:56 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{ue, enb}: Add modifier to pass arbitrary cmd line arguments In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17611 ) Change subject: srs_{ue,enb}: Add modifier to pass arbitrary cmd line arguments ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17611 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: Ie438c8aa9992dbc61b2133473a83d565cf5c7056 Gerrit-Change-Number: 17611 Gerrit-PatchSet: 5 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 19:31: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 Wed Apr 1 19:32:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 19:32:20 +0000 Subject: Change in osmo-gsm-tester[master]: config.py: Allow escaping commas in parametrized scenario names In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17703 ) Change subject: config.py: Allow escaping commas in parametrized scenario names ...................................................................... config.py: Allow escaping commas in parametrized scenario names comma character ',' is used in the command line to split between parameters, which means a parameter value itself couldn't contain it. This commit allows passing a comma inside a character value by escaping it with '\,'. Change-Id: Ic0bd9a029137a59e8c4a32b807eba7a64fcfa51f --- M src/osmo_gsm_tester/config.py 1 file changed, 45 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/config.py b/src/osmo_gsm_tester/config.py index 5016018..9333601 100644 --- a/src/osmo_gsm_tester/config.py +++ b/src/osmo_gsm_tester/config.py @@ -201,6 +201,49 @@ self.path = path self.param_list = param_list + @classmethod + def count_cont_char_backward(cls, str, before_pos, c): + n = 0 + i = before_pos - 1 + while i >= 0: + if str[i] != c: + break + n += 1 + i -= 1 + return n + + @classmethod + def split_scenario_parameters(cls, str): + cur_pos = 0 + param_li = [] + saved = '' + # Split into a list, but we want to escape '\,' to avoid splitting parameters containing commas. + while True: + prev_pos = cur_pos + cur_pos = str.find(',', prev_pos) + if cur_pos == -1: + param_li.append(str[prev_pos:]) + break + if cur_pos == 0: + param_li.append('') + elif cur_pos != 0 and str[cur_pos - 1] == '\\' and cls.count_cont_char_backward(str, cur_pos, '\\') % 2 == 1: + saved += str[prev_pos:cur_pos - 1] + ',' + else: + param_li.append(saved + str[prev_pos:cur_pos]) + saved = '' + cur_pos += 1 + i = 0 + # Also escape '\\' -> '\' + while i < len(param_li): + param_li[i] = param_li[i].replace('\\\\', '\\') + i += 1 + return param_li + + @classmethod + def from_param_list_str(cls, name, path, param_list_str): + param_list = cls.split_scenario_parameters(param_list_str) + return cls(name, path, param_list) + def read_from_file(self, validation_schema): with open(self.path, 'r') as f: config_str = f.read() @@ -228,6 +271,7 @@ if not is_parametrized_file: if not os.path.isfile(path): raise RuntimeError('No such scenario file: %r' % path) + sc = Scenario(name, path) else: # parametrized scenario: # Allow first matching complete matching names (eg: scenario at param1,param2.conf), # this allows setting specific content in different files for specific values. @@ -240,8 +284,7 @@ # At this point, we have existing file path. Let's now scrap the parameter(s): # get param1,param2 str from scenario at param1,param2.conf param_list_str = name.split('@', 1)[1][:-len('.conf')] - param_list = param_list_str.split(',') - sc = Scenario(name, path, param_list) + sc = Scenario.from_param_list_str(name, path, param_list_str) sc.read_from_file(validation_schema) return sc -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17703 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: Ic0bd9a029137a59e8c4a32b807eba7a64fcfa51f Gerrit-Change-Number: 17703 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Wed Apr 1 19:32:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 19:32:20 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{ue, enb}: Add modifier to pass arbitrary cmd line arguments In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17611 ) Change subject: srs_{ue,enb}: Add modifier to pass arbitrary cmd line arguments ...................................................................... srs_{ue,enb}: Add modifier to pass arbitrary cmd line arguments Change-Id: Ie438c8aa9992dbc61b2133473a83d565cf5c7056 --- A example/scenarios/mod-enb-args at .conf A example/scenarios/mod-modem-args at .conf M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 5 files changed, 18 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/example/scenarios/mod-enb-args at .conf b/example/scenarios/mod-enb-args at .conf new file mode 100644 index 0000000..a758d01 --- /dev/null +++ b/example/scenarios/mod-enb-args at .conf @@ -0,0 +1,3 @@ +modifiers: + enb: + - additional_args: ${param1} diff --git a/example/scenarios/mod-modem-args at .conf b/example/scenarios/mod-modem-args at .conf new file mode 100644 index 0000000..dde7796 --- /dev/null +++ b/example/scenarios/mod-modem-args at .conf @@ -0,0 +1,3 @@ +modifiers: + modem: + - additional_args: ${param1} diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 3b6e341..c69617c 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -93,6 +93,7 @@ 'enb[].num_cells': schema.UINT, 'enb[].rf_dev_type': schema.STR, 'enb[].rf_dev_args': schema.STR, + 'enb[].additional_args': schema.STR, 'arfcn[].arfcn': schema.INT, 'arfcn[].band': schema.BAND, 'modem[].type': schema.STR, @@ -109,6 +110,7 @@ 'modem[].rf_dev_type': schema.STR, 'modem[].rf_dev_args': schema.STR, 'modem[].num_carriers': schema.STR, + 'modem[].additional_args': schema.STR, 'modem[].airplane_t_on_ms': schema.INT, 'modem[].airplane_t_off_ms': schema.INT, 'osmocon_phone[].serial_device': schema.STR, diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 4af2894..fe0e550 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -77,6 +77,7 @@ self.enable_pcap = False self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) + 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)) @@ -149,6 +150,7 @@ '--enb_files.drb_config=' + self.remote_config_drb_file, '--log.filename=' + self.remote_log_file, '--pcap.filename=' + self.remote_pcap_file) + args += tuple(self._additional_args) self.process = self.rem_host.RemoteProcess(srsENB.BINFILE, args, remote_env=remote_env) self.suite_run.remember_to_stop(self.process) @@ -173,6 +175,7 @@ '--enb_files.drb_config=' + os.path.abspath(self.config_drb_file), '--log.filename=' + self.log_file, '--pcap.filename=' + self.pcap_file) + args += tuple(self._additional_args) self.process = process.Process(self.name(), self.run_dir, args, env=env) self.suite_run.remember_to_stop(self.process) @@ -193,6 +196,8 @@ self.enable_pcap = util.str2bool(values['enb'].get('enable_pcap', 'false')) config.overlay(values, dict(enb={'enable_pcap': self.enable_pcap})) + self._additional_args = values['enb'].get('additional_args', '').split() + self._num_cells = int(values['enb'].get('num_cells', None)) assert self._num_cells diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 76ee2d1..00f729f 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -76,6 +76,7 @@ self.enable_pcap = False self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) + 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)) @@ -168,6 +169,7 @@ '--log.filename=' + self.remote_log_file, '--pcap.filename=' + self.remote_pcap_file, '--general.metrics_csv_filename=' + self.remote_metrics_file) + args += tuple(self._additional_args) self.process = self.rem_host.RemoteProcess(srsUE.BINFILE, args) #self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsUE.BINFILE, remote_run_dir, args, remote_lib) @@ -203,6 +205,7 @@ '--log.filename=' + self.log_file, '--pcap.filename=' + self.pcap_file, '--general.metrics_csv_filename=' + self.metrics_file) + args += tuple(self._additional_args) self.dbg(run_dir=self.run_dir, binary=binary, env=env) self.process = process.Process(self.name(), self.run_dir, args, env=env) @@ -225,6 +228,8 @@ self.enable_pcap = util.str2bool(values['ue'].get('enable_pcap', 'false')) config.overlay(values, dict(ue={'enable_pcap': self.enable_pcap})) + self._additional_args = values['ue'].get('additional_args', '').split() + # 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()) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17611 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: Ie438c8aa9992dbc61b2133473a83d565cf5c7056 Gerrit-Change-Number: 17611 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 Wed Apr 1 19:32:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 19:32:27 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: add modifier to pass arbitrary cmd line arguments In-Reply-To: References: Message-ID: pespin has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17612 ) Change subject: srs_enb: add modifier to pass arbitrary cmd line arguments ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17612 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: I3e8100e4e79acb49ee6e8bfb4f3bc2ea41c9f6b6 Gerrit-Change-Number: 17612 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 19:37:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 1 Apr 2020 19:37:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704 ) Change subject: library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition ...................................................................... library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition Change-Id: I762b932ed67d9e67a5e13290209cc9017dd650a7 --- M library/RLCMAC_CSN1_Types.ttcn 1 file changed, 104 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/04/17704/1 diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index 1bb6232..d397dc0 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -703,5 +703,109 @@ } } + /* 3GPP TS 44.060, table 11.2.5a.2 "EGPRS PACKET CHANNEL REQUEST" */ + type union EGPRSPktChRequest { + EGPRSPktChRequest_OnePhase one_phase, + EGPRSPktChRequest_Short short, // deprecated + EGPRSPktChRequest_OnePhaseRedLatency one_phase_red, + EGPRSPktChRequest_TwoPhase two_phase, + EGPRSPktChRequest_Signalling signalling, + EGPRSPktChRequest_OnePhaseUnack one_phase_unack, + EGPRSPktChRequest_Dedicated dedicated, + EGPRSPktChRequest_Emergency emergency, + EGPRSPktChRequest_TwoPhaseIPA two_phase_ipa, + EGPRSPktChRequest_SignallingIPA signalling_ipa + } with { + variant "BITORDER(lsb)" + variant "TAG ( + one_phase, tag = '0'B; + short, tag = '100'B; + one_phase_red, tag = '101'B; + two_phase, tag = '110000'B; + signalling, tag = '110011'B; + one_phase_unack, tag = '110101'B; + dedicated, tag = '110110'B; + emergency, tag = '110111'B; + two_phase_ipa, tag = '111000'B; + signalling_ipa, tag = '111001'B; + )" + }; + + type record EGPRSPktChRequest_OnePhase { + BIT1 tag, // '0'B + BIT5 multislot_class, + BIT2 priority, + BIT3 random_bits + }; + + /* NOTE: deprecated and shall not be used */ + type record EGPRSPktChRequest_Short { + BIT3 tag, // '100'B + BIT3 nr_of_blocks, + BIT2 priority, + BIT3 random_bits + }; + + type record EGPRSPktChRequest_OnePhaseRedLatency { + BIT3 tag, // '101'B + BIT3 multislot_class_group, + BIT2 priority, + BIT3 random_bits + }; + + type record EGPRSPktChRequest_TwoPhase { + BIT6 tag, // '110000'B + BIT2 priority, + BIT3 random_bits + }; + + type record EGPRSPktChRequest_Signalling { + BIT6 tag, // '110011'B + BIT5 random_bits + }; + + type record EGPRSPktChRequest_OnePhaseUnack { + BIT6 tag, // '110101'B + BIT5 random_bits + }; + + type record EGPRSPktChRequest_Dedicated { + BIT6 tag, // '110110'B + BIT5 random_bits + }; + + type record EGPRSPktChRequest_Emergency{ + BIT6 tag, // '110111'B + BIT5 random_bits + }; + + type record EGPRSPktChRequest_TwoPhaseIPA { + BIT6 tag, // '111000'B + BIT2 priority, + BIT3 random_bits + }; + + type record EGPRSPktChRequest_SignallingIPA { + BIT6 tag, // '111001'B + BIT5 random_bits + }; + + /* TITAN violates length restrictions on returned type, so we cannot do '... return BIT11'. + * Keep this function private as it returns octet-aligned bitstring (+5 padding bits). */ + private external function enc_EGPRSPktChRequestInternal(in EGPRSPktChRequest req) return bitstring + with { extension "prototype(convert) encode(RAW)" }; + + function enc_EGPRSPktChRequest2bits(in EGPRSPktChRequest req) return BIT11 + { + var bitstring ra11_pad := enc_EGPRSPktChRequestInternal(req); + return substr(ra11_pad, 0, 11); /* TITAN adds 5 padding bits */ + } + + function enc_EGPRSPktChRequest2uint(in EGPRSPktChRequest req) return uint16_t + { + var BIT11 ra11 := enc_EGPRSPktChRequest2bits(req); + return bit2int(ra11); + } + } with { encode "RAW"; variant "FIELDORDER(msb)" variant "BYTEORDER(last)" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704 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: I762b932ed67d9e67a5e13290209cc9017dd650a7 Gerrit-Change-Number: 17704 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 Apr 1 19:37:06 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 1 Apr 2020 19:37:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: derive f_pcuif_rx_imm_ass() from f_establish_tbf() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17705 ) Change subject: PCU: derive f_pcuif_rx_imm_ass() from f_establish_tbf() ...................................................................... PCU: derive f_pcuif_rx_imm_ass() from f_establish_tbf() Change-Id: I3b49927d0db49555e0bf2bb453449f614c7b9323 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 27 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/05/17705/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 3f18400..8e1d349 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -236,29 +236,13 @@ desc.final_ack := final_ack; } -/* FIXME: properly encode RA (see TS 24.060, table 11.2.5.2) */ -private function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, - uint16_t ra := oct2int('3A'O), uint8_t is_11bit := 0, - PCUIF_BurstType burst_type := BURST_TYPE_0, - TimingAdvance ta := 0) +private function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, + template GsmRrMessage t_imm_ass := ?, + uint8_t bts_nr := 0) runs on RAW_PCU_Test_CT return boolean { var PCUIF_Message pcu_msg; - var GsmRrMessage rr_msg; - var uint32_t fn; timer T; - /* FIXME: ask the BTS component to give us the current TDMA fn */ - fn := 1337 + ta; - - /* Send RACH.ind */ - log("Sending RACH.ind on fn=", fn, " with RA=", ra, ", TA=", ta); - BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, - ra := ra, is_11bit := is_11bit, - burst_type := burst_type, - fn := fn, arfcn := 871, - qta := ta * 4)); - - /* Expect Immediate (TBF) Assignment on TS0/AGCH */ T.start(2.0); alt { [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, @@ -267,9 +251,7 @@ rr_imm_ass := dec_GsmRrMessage(pcu_msg.u.data_req.data); log("Rx Immediate Assignment: ", rr_imm_ass); - /* Make sure this assignment is for us - * TODO: Uplink or Downlink TBF? */ - if (match(rr_imm_ass, tr_IMM_TBF_ASS(?, ra, fn))) { + if (match(rr_imm_ass, t_imm_ass)) { setverdict(pass); return true; } @@ -286,6 +268,29 @@ return false; } +/* FIXME: properly encode RA (see TS 24.060, table 11.2.5.2) */ +private function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, + uint16_t ra := oct2int('3A'O), uint8_t is_11bit := 0, + PCUIF_BurstType burst_type := BURST_TYPE_0, + TimingAdvance ta := 0) +runs on RAW_PCU_Test_CT return boolean { + var uint32_t fn; + + /* FIXME: ask the BTS component to give us the current TDMA fn */ + fn := 1337 + ta; + + /* Send RACH.ind */ + log("Sending RACH.ind on fn=", fn, " with RA=", ra, ", TA=", ta); + BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, + ra := ra, is_11bit := is_11bit, + burst_type := burst_type, + fn := fn, arfcn := 871, + qta := ta * 4)); + + /* Expect Immediate (TBF) Assignment on TS0/AGCH */ + return f_pcuif_rx_imm_ass(rr_imm_ass, tr_IMM_TBF_ASS(?, ra, fn), bts_nr); +} + private function f_imm_ass_verify_ul_tbf_ass(GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) runs on RAW_PCU_Test_CT return boolean { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17705 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: I3b49927d0db49555e0bf2bb453449f614c7b9323 Gerrit-Change-Number: 17705 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 Apr 1 19:37:06 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 1 Apr 2020 19:37:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: add test case for EGPRS Packet Channel Request (signalling) References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17706 ) Change subject: PCU: add test case for EGPRS Packet Channel Request (signalling) ...................................................................... PCU: add test case for EGPRS Packet Channel Request (signalling) Change-Id: Ib5732956ea160f93d82f06bf82bea45501f439d2 --- M library/GSM_RR_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 153 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/06/17706/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 9d71f80..208513e 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -908,6 +908,37 @@ } }; + template EgprsUlAss tr_EgprsUlAssDynamic(template BIT5 ext_ra := ?, + template EgprsUlAssignDyn dyn_ass := ?) := { + ext_ra := ext_ra, + ats_present := ?, + ats := *, + presence := '1'B, + dynamic := dyn_ass, + multiblock := omit + }; + template EgprsUlAss tr_EgprsUlAssMultiblock(template BIT5 ext_ra := ?, + template EgprsUlAssignMultiblock mb_ass := ?) := { + ext_ra := ext_ra, + ats_present := ?, + ats := *, + presence := '0'B, + dynamic := omit, + multiblock := mb_ass + }; + + template IaRestOctets tr_IaRestOctets_EGPRSULAss(template EgprsUlAss ul_ass) := { + presence := '01'B, /* LH */ + ll := omit, + lh := { + presence := '00'B, + egprs_ul := ul_ass, + multiblock_dl_ass := omit + }, + hl := omit, + hh := omit + }; + template (value) GsmRrMessage ts_IMM_ASS(uint8_t ra, GsmFrameNumber fn, TimingAdvance ta, ChannelDescription ch_desc, MobileAllocation ma) := { header := t_RrHeader(IMMEDIATE_ASSIGNMENT, 0), diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 8e1d349..49a7308 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -287,6 +287,9 @@ fn := fn, arfcn := 871, qta := ta * 4)); + /* In case of 11-bit RACH, Request Reference in IA is set to 127 */ + if (ra > oct2int('FF'O)) { ra := 127; } + /* Expect Immediate (TBF) Assignment on TS0/AGCH */ return f_pcuif_rx_imm_ass(rr_imm_ass, tr_IMM_TBF_ASS(?, ra, fn), bts_nr); } @@ -1562,6 +1565,122 @@ f_tc_paging_ps_from_sgsn(mp_gb_cfg.bvci); } +private function f_TC_egprs_pkt_chan_req(in EGPRSPktChRequest req, + template GsmRrMessage t_imm_ass := ?, + PCUIF_BurstType bt := BURST_TYPE_1) +runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_msg; + var uint16_t ra11; + var boolean ok; + + ra11 := enc_EGPRSPktChRequest2uint(req); + log("Sending EGPRS Packet Channel Request (", ra11, "): ", req); + + ok := f_establish_tbf(rr_msg, ra := ra11, is_11bit := 1, burst_type := bt); + if (not ok) { + setverdict(fail, "Failed to establush an Uplink TBF"); + mtc.stop; + } + + if (not match(rr_msg, t_imm_ass)) { + setverdict(fail, "Immediate Assignment does not match"); + mtc.stop; + } + + setverdict(pass); +} + +testcase TC_egprs_pkt_chan_req_sign() runs on RAW_PCU_Test_CT { + var template GsmRrMessage imm_ass; + var template IaRestOctets rest; + var template EgprsUlAss ul_ass; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + var EGPRSPktChRequest req := { + /* NOTE: other fields are set in the loop */ + signalling := { tag := '110011'B } + }; + + for (var integer i := 0; i < 6; i := i + 1) { + var BIT5 ext_ra := int2bit(f_rnd_int(32), 5); + req.signalling.random_bits := ext_ra; + + /* For signalling, do we expect Multiblock UL TBF Assignment? + * FIXME: somehow TITAN decodes different ext_ra value. */ + ul_ass := tr_EgprsUlAssMultiblock(ext_ra := ext_ra); + rest := tr_IaRestOctets_EGPRSULAss(ul_ass); + imm_ass := tr_IMM_TBF_ASS(dl := false, rest := rest); + + f_TC_egprs_pkt_chan_req(req, imm_ass); + } +} + +testcase TC_egprs_pkt_chan_req_one_phase() runs on RAW_PCU_Test_CT { + var template GsmRrMessage imm_ass; + var template IaRestOctets rest; + var template EgprsUlAss ul_ass; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + var EGPRSPktChRequest req := { + /* NOTE: other fields are set in the loop */ + one_phase := { tag := '0'B } + }; + + for (var integer i := 0; i < 6; i := i + 1) { + var BIT5 ext_ra := int2bit(f_rnd_int(32), 5); + var BIT5 mslot_class := int2bit(f_rnd_int(32), 5); + var BIT2 priority := substr(ext_ra, 0, 2); + var BIT3 rand := substr(ext_ra, 2, 3); + + req.one_phase.multislot_class := mslot_class; + req.one_phase.priority := priority; + req.one_phase.random_bits := rand; + + /* For one phase access, do we expect Dynamic UL TBF Assignment? + * FIXME: somehow TITAN decodes different ext_ra value. */ + ul_ass := tr_EgprsUlAssDynamic(ext_ra := ext_ra); + rest := tr_IaRestOctets_EGPRSULAss(ul_ass); + imm_ass := tr_IMM_TBF_ASS(dl := false, rest := rest); + + f_TC_egprs_pkt_chan_req(req, imm_ass); + } +} + +testcase TC_egprs_pkt_chan_req_two_phase() runs on RAW_PCU_Test_CT { + var template GsmRrMessage imm_ass; + var template IaRestOctets rest; + var template EgprsUlAss ul_ass; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + var EGPRSPktChRequest req := { + /* NOTE: other fields are set in the loop */ + two_phase := { tag := '110000'B } + }; + + for (var integer i := 0; i < 6; i := i + 1) { + var BIT5 ext_ra := int2bit(f_rnd_int(32), 5); + var BIT2 priority := substr(ext_ra, 0, 2); + var BIT3 rand := substr(ext_ra, 2, 3); + + req.two_phase.priority := priority; + req.two_phase.random_bits := rand; + + /* For two phase access, do we expect Multiblock UL TBF Assignment? + * FIXME: somehow TITAN decodes different ext_ra value. */ + ul_ass := tr_EgprsUlAssMultiblock(ext_ra := ext_ra); + rest := tr_IaRestOctets_EGPRSULAss(ul_ass); + imm_ass := tr_IMM_TBF_ASS(dl := false, rest := rest); + + f_TC_egprs_pkt_chan_req(req, imm_ass); + } +} + control { execute( TC_pcuif_suspend() ); execute( TC_ta_ptcch_idle() ); @@ -1583,6 +1702,9 @@ execute( TC_paging_ps_from_sgsn_sign_ptmsi() ); execute( TC_paging_ps_from_sgsn_sign() ); execute( TC_paging_ps_from_sgsn_ptp() ); + execute( TC_egprs_pkt_chan_req_sign() ); + execute( TC_egprs_pkt_chan_req_one_phase() ); + execute( TC_egprs_pkt_chan_req_two_phase() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17706 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: Ib5732956ea160f93d82f06bf82bea45501f439d2 Gerrit-Change-Number: 17706 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 Apr 1 19:37:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 1 Apr 2020 19:37:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: add test cases for EGPRS Packet Channel Request In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17706 ) Change subject: PCU: add test cases for EGPRS Packet Channel Request ...................................................................... PCU: add test cases for EGPRS Packet Channel Request Change-Id: Ib5732956ea160f93d82f06bf82bea45501f439d2 --- M library/GSM_RR_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 153 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/06/17706/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17706 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: Ib5732956ea160f93d82f06bf82bea45501f439d2 Gerrit-Change-Number: 17706 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 1 19:39:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 1 Apr 2020 19:39:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition 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/+/17704 to look at the new patch set (#2). Change subject: library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition ...................................................................... library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition Change-Id: I762b932ed67d9e67a5e13290209cc9017dd650a7 --- M library/RLCMAC_CSN1_Types.ttcn 1 file changed, 103 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/04/17704/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704 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: I762b932ed67d9e67a5e13290209cc9017dd650a7 Gerrit-Change-Number: 17704 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 Wed Apr 1 19:48:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 19:48:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704 ) Change subject: library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704 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: I762b932ed67d9e67a5e13290209cc9017dd650a7 Gerrit-Change-Number: 17704 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 19:48: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 Apr 1 19:50:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 1 Apr 2020 19:50:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: derive f_pcuif_rx_imm_ass() from f_establish_tbf() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17705 ) Change subject: PCU: derive f_pcuif_rx_imm_ass() from f_establish_tbf() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17705 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: I3b49927d0db49555e0bf2bb453449f614c7b9323 Gerrit-Change-Number: 17705 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 19:50: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 Wed Apr 1 20:13:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 20:13:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704 ) Change subject: library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704/2/library/RLCMAC_CSN1_Types.ttcn File library/RLCMAC_CSN1_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704/2/library/RLCMAC_CSN1_Types.ttcn at 792 PS2, Line 792: TITAN violates length restrictions on returned type is it worth opening a bug in the eclipse bugzilla on this? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704 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: I762b932ed67d9e67a5e13290209cc9017dd650a7 Gerrit-Change-Number: 17704 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 20:13:29 +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 Apr 1 20:14:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 1 Apr 2020 20:14:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: derive f_pcuif_rx_imm_ass() from f_establish_tbf() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17705 ) Change subject: PCU: derive f_pcuif_rx_imm_ass() from f_establish_tbf() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17705 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: I3b49927d0db49555e0bf2bb453449f614c7b9323 Gerrit-Change-Number: 17705 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 20:14: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 Wed Apr 1 20:39:45 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 1 Apr 2020 20:39:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704 ) Change subject: library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704/2/library/RLCMAC_CSN1_Types.ttcn File library/RLCMAC_CSN1_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704/2/library/RLCMAC_CSN1_Types.ttcn at 792 PS2, Line 792: TITAN violates length restrictions on returned type > is it worth opening a bug in the eclipse bugzilla on this? Probably yes. It does not happen with 'normal' functions, e.g. private function test() return BIT8 { return '1111111111111111'B; } would not even compile: error: '1111111111111111'B is not a valid value for type `bitstring' which has subtype length(8) So it only happens with external declarations like this one. The specs. say that an encoding function should return either octetstring or bitstring. I could not find anything about returning sub-types of these types... -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704 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: I762b932ed67d9e67a5e13290209cc9017dd650a7 Gerrit-Change-Number: 17704 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 01 Apr 2020 20:39:45 +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 Apr 2 02:32:16 2020 From: gerrit-no-reply at lists.osmocom.org (miaoski) Date: Thu, 2 Apr 2020 02:32:16 +0000 Subject: Change in pysim[master]: pySim-prog.py: check whether IMSI and PLMN matches In-Reply-To: References: Message-ID: miaoski has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17694 ) Change subject: pySim-prog.py: check whether IMSI and PLMN matches ...................................................................... Patch Set 1: > Patch Set 1: > > I think this doesn't really solve the problem, sorry. > > The point is basically: --mcc and --mnc are *only* used in gen_parameters(), which is only used for ICCID and/or IMSI generation if you don't specify either of those two. Would you tell me more about it? IMHO, - mcc/mnc are extracted from IMSI for CSV mode in read_params_csv() - gen_parameters() deals with cmdline mode Therefore, we have a design choice here, either, 1. Check whether mcc/mnc mismatch with IMSI (current patch) 2. Reject -x and -y when IMSI is provided Which one do you want to choose (or maybe there is a third choice)? Thanks. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17694 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic7e98b827f32f8d59d346ceac0d2d215e0180109 Gerrit-Change-Number: 17694 Gerrit-PatchSet: 1 Gerrit-Owner: miaoski Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: miaoski Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 02 Apr 2020 02:32: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 Apr 2 12:21:02 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 2 Apr 2020 12:21:02 +0000 Subject: Change in osmo-pcu[master]: l1if: fix pcu_rx_rach_ind(): use proper format string specifiers References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17707 ) Change subject: l1if: fix pcu_rx_rach_ind(): use proper format string specifiers ...................................................................... l1if: fix pcu_rx_rach_ind(): use proper format string specifiers Change-Id: If95362ef4cc203a60856d6b47d95d441813a5c19 --- M src/pcu_l1_if.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/07/17707/1 diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index deccb30..37a0705 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -441,7 +441,7 @@ int current_fn = get_current_fn(); LOGP(DL1IF, LOGL_INFO, "RACH request received: sapi=%d " - "qta=%d, ra=%d, fn=%d, cur_fn=%d, is_11bit=%d\n", rach_ind->sapi, rach_ind->qta, + "qta=%d, ra=0x%02x, fn=%u, cur_fn=%d, is_11bit=%d\n", rach_ind->sapi, rach_ind->qta, rach_ind->ra, rach_ind->fn, current_fn, rach_ind->is_11bit); switch (rach_ind->sapi) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17707 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If95362ef4cc203a60856d6b47d95d441813a5c19 Gerrit-Change-Number: 17707 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 Apr 2 12:21:04 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 2 Apr 2020 12:21:04 +0000 Subject: Change in osmo-pcu[master]: l1if: fix pcu_rx_rach_ind(): also send PTCCH/U to GSMTAP References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17708 ) Change subject: l1if: fix pcu_rx_rach_ind(): also send PTCCH/U to GSMTAP ...................................................................... l1if: fix pcu_rx_rach_ind(): also send PTCCH/U to GSMTAP Change-Id: I5cc4c3d2522215a31924121f83fcc2ac9ac6fe9c --- M src/bts.cpp M src/bts.h M src/pcu_l1_if.cpp M src/pcu_vty.c 4 files changed, 15 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/08/17708/1 diff --git a/src/bts.cpp b/src/bts.cpp index 5e1725c..2e7fec2 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -752,9 +752,6 @@ /* Determine full frame number */ Fn = rfn_to_fn(Fn); - send_gsmtap(PCU_GSMTAP_C_UL_RACH, true, 0, ts_no, GSMTAP_CHANNEL_RACH, - Fn, (uint8_t*)&ra, is_11bit ? 2 : 1); - LOGP(DRLCMAC, LOGL_DEBUG, "MS requests UL TBF on RACH, " "so we provide one: ra=0x%02x Fn=%u qta=%d is_11bit=%d:\n", ra, Fn, qta, is_11bit); diff --git a/src/bts.h b/src/bts.h index 4fddc0b..2c2d24e 100644 --- a/src/bts.h +++ b/src/bts.h @@ -67,6 +67,7 @@ PCU_GSMTAP_C_UL_DATA_GPRS = 18, /* uplink GPRS data blocks */ PCU_GSMTAP_C_UL_DATA_EGPRS = 19, /* uplink EGPRS data blocks */ PCU_GSMTAP_C_UL_RACH = 20, /* uplink RACH bursts */ + PCU_GSMTAP_C_UL_PTCCH = 21, /* uplink PTCCH bursts */ }; struct BTS; diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 37a0705..a5d5662 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -437,22 +437,31 @@ static int pcu_rx_rach_ind(struct gsm_pcu_if_rach_ind *rach_ind) { + BTS *bts = BTS::main_bts(); /* FIXME: resolve BTS by number */ + int current_fn = bts->current_frame_number(); int rc = 0; - int current_fn = get_current_fn(); LOGP(DL1IF, LOGL_INFO, "RACH request received: sapi=%d " "qta=%d, ra=0x%02x, fn=%u, cur_fn=%d, is_11bit=%d\n", rach_ind->sapi, rach_ind->qta, rach_ind->ra, rach_ind->fn, current_fn, rach_ind->is_11bit); +#define send_gsmtap_ra(category, chan) do { \ + bts->send_gsmtap(category, true, rach_ind->trx_nr, rach_ind->ts_nr, \ + chan, bts->rfn_to_fn(rach_ind->fn), \ + (uint8_t*)&rach_ind->ra, rach_ind->is_11bit ? 2 : 1); \ +} while (0) + switch (rach_ind->sapi) { case PCU_IF_SAPI_RACH: - rc = BTS::main_bts()->rcv_rach( + send_gsmtap_ra(PCU_GSMTAP_C_UL_RACH, GSMTAP_CHANNEL_RACH); + rc = bts->rcv_rach( rach_ind->ra, rach_ind->fn, rach_ind->qta, rach_ind->is_11bit, (ph_burst_type)rach_ind->burst_type); break; case PCU_IF_SAPI_PTCCH: - rc = BTS::main_bts()->rcv_ptcch_rach( + send_gsmtap_ra(PCU_GSMTAP_C_UL_PTCCH, GSMTAP_CHANNEL_PTCCH); + rc = bts->rcv_ptcch_rach( rach_ind->trx_nr, rach_ind->ts_nr, rach_ind->fn, rach_ind->qta); break; diff --git a/src/pcu_vty.c b/src/pcu_vty.c index 9cae777..99c92b7 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -38,6 +38,7 @@ { PCU_GSMTAP_C_UL_DATA_GPRS, "ul-data-gprs" }, { PCU_GSMTAP_C_UL_DATA_EGPRS, "ul-data-egprs" }, { PCU_GSMTAP_C_UL_RACH, "ul-rach" }, + { PCU_GSMTAP_C_UL_PTCCH, "ul-ptcch" }, { 0, NULL } }; @@ -58,6 +59,7 @@ { PCU_GSMTAP_C_UL_DATA_GPRS, "Uplink Data Blocks (GPRS)" }, { PCU_GSMTAP_C_UL_DATA_EGPRS, "Uplink Data Blocks (EGPRS)" }, { PCU_GSMTAP_C_UL_RACH, "Uplink RACH Bursts" }, + { PCU_GSMTAP_C_UL_PTCCH, "Uplink PTCCH Bursts" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17708 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cc4c3d2522215a31924121f83fcc2ac9ac6fe9c Gerrit-Change-Number: 17708 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 Apr 2 12:21:04 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 2 Apr 2020 12:21:04 +0000 Subject: Change in osmo-pcu[master]: l1if: fix pcu_rx_rach_ind(): properly pack 8-bit and 11-bit RA References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17709 ) Change subject: l1if: fix pcu_rx_rach_ind(): properly pack 8-bit and 11-bit RA ...................................................................... l1if: fix pcu_rx_rach_ind(): properly pack 8-bit and 11-bit RA According to 3GPP TS 44.004, section 7.4a, two alternative RACH block formats are specified: 8 bit (1 octet) and 11 bit. The bit order is LSB (right to left), byte order is MSB. In PCUIF RACH.ind structure (see gsm_pcu_if_rach_ind) we use a field of type uint16_t to store RA values regardles of the block format. Thus when packing it to bytes, we cannot just cast uint16_t* to uint8_t*, we need to do some bit shifting. Change-Id: I08a0a908f855b0d8a002df732e02781126d27dfb --- M src/pcu_l1_if.cpp 1 file changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/09/17709/1 diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index a5d5662..906ed83 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -439,6 +439,7 @@ { BTS *bts = BTS::main_bts(); /* FIXME: resolve BTS by number */ int current_fn = bts->current_frame_number(); + uint8_t ra_buf[2]; int rc = 0; LOGP(DL1IF, LOGL_INFO, "RACH request received: sapi=%d " @@ -446,9 +447,15 @@ rach_ind->ra, rach_ind->fn, current_fn, rach_ind->is_11bit); #define send_gsmtap_ra(category, chan) do { \ + if (rach_ind->is_11bit) { \ + ra_buf[0] = (uint8_t) (rach_ind->ra >> 3); \ + ra_buf[1] = (uint8_t) (rach_ind->ra & 0x07); \ + } else { \ + ra_buf[0] = (uint8_t) (rach_ind->ra & 0xff); \ + } \ bts->send_gsmtap(category, true, rach_ind->trx_nr, rach_ind->ts_nr, \ chan, bts->rfn_to_fn(rach_ind->fn), \ - (uint8_t*)&rach_ind->ra, rach_ind->is_11bit ? 2 : 1); \ + ra_buf, rach_ind->is_11bit ? 2 : 1); \ } while (0) switch (rach_ind->sapi) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I08a0a908f855b0d8a002df732e02781126d27dfb Gerrit-Change-Number: 17709 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 Apr 2 13:34:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 2 Apr 2020 13:34:51 +0000 Subject: Change in osmo-pcu[master]: l1if: fix pcu_rx_rach_ind(): use proper format string specifiers In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17707 ) Change subject: l1if: fix pcu_rx_rach_ind(): use proper format string specifiers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17707 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If95362ef4cc203a60856d6b47d95d441813a5c19 Gerrit-Change-Number: 17707 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 02 Apr 2020 13:34: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 Thu Apr 2 13:39:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 2 Apr 2020 13:39:25 +0000 Subject: Change in osmo-pcu[master]: l1if: fix pcu_rx_rach_ind(): also send PTCCH/U to GSMTAP In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17708 ) Change subject: l1if: fix pcu_rx_rach_ind(): also send PTCCH/U to GSMTAP ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/17708/1/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/17708/1/src/pcu_l1_if.cpp at 438 PS1, Line 438: static int pcu_rx_rach_ind(struct gsm_pcu_if_rach_ind *rach_ind) is this also called for instance during osmo-pcu-sysmo direct phy case? otherwise you'd be dropping the gsmtap_send in that case? https://gerrit.osmocom.org/c/osmo-pcu/+/17708/1/src/pcu_l1_if.cpp at 448 PS1, Line 448: #define send_gsmtap_ra(category, chan) do { \ You don't really need this, you are calling it twice. and it's one function call... -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17708 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cc4c3d2522215a31924121f83fcc2ac9ac6fe9c Gerrit-Change-Number: 17708 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 02 Apr 2020 13:39:25 +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 Apr 2 13:43:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 2 Apr 2020 13:43:09 +0000 Subject: Change in osmo-pcu[master]: l1if: fix pcu_rx_rach_ind(): properly pack 8-bit and 11-bit RA In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17709 ) Change subject: l1if: fix pcu_rx_rach_ind(): properly pack 8-bit and 11-bit RA ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17709/1/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/17709/1/src/pcu_l1_if.cpp at 450 PS1, Line 450: if (rach_ind->is_11bit) { \ ah I see now why you added the macro. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I08a0a908f855b0d8a002df732e02781126d27dfb Gerrit-Change-Number: 17709 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 02 Apr 2020 13:43:09 +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 Apr 3 13:54:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 13:54:55 +0000 Subject: Change in osmo-gsm-tester[master]: Introduce contrib/jenkins-build-amarisoft.sh References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17710 ) Change subject: Introduce contrib/jenkins-build-amarisoft.sh ...................................................................... Introduce contrib/jenkins-build-amarisoft.sh Prepares inst tgz archives to be consumed by osmo-gsm-tester from Amarisoft prebuilt binaries. Change-Id: I372606fc5ff9f6bb3ef848f2fe229b83382ddc09 --- A contrib/jenkins-build-amarisoft.sh M src/osmo_gsm_tester/amarisoft_enb.py M src/osmo_gsm_tester/amarisoft_epc.py 3 files changed, 75 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/10/17710/1 diff --git a/contrib/jenkins-build-amarisoft.sh b/contrib/jenkins-build-amarisoft.sh new file mode 100755 index 0000000..ee26f45 --- /dev/null +++ b/contrib/jenkins-build-amarisoft.sh @@ -0,0 +1,69 @@ +#!/bin/sh +set -e -x + +amarisoft_tgz="$1" + +if [ ! -f "$amarisoft_tgz" ]; then + echo "Amarisoft tgz doesn't exist: $amarisoft_tgz" + exit 1 +fi + +base="$PWD" +name="srslte" +git_url="${git_url:-https://github.com/srsLTE}" +project_name_srslte="${project_name:-srsLTE}" +. "$(dirname "$0")/jenkins-build-common.sh" + +#TODO: make sure libconfig, zeroMQ is installed +build_repo $project_name_srslte + +git_url="git at github.com:softwareradiosystems" +project_name_zmq="amarisoft_dummy_trx" +branch="trx_zmq" +have_repo $project_name_zmq $branch +cd $project_name_zmq +rm -rf build && mkdir build && cd build || exit 1 +cmake -DSRSLTE_BUILD_PATH=${base}/${project_name_srslte}/build ../ +make -j8 +cd $base + +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/ +#tar -zxf inst-tmp/trx_uhd-linux*/trx_uhd.so.tar.gz -C inst-tmp-uhd/ + +# Build trx_uhd.so: +cd ${base}/inst-tmp/trx_uhd-linux*/ +make +cd ${base} + +# 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/ +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}/inst-tmp/trx_uhd-linux*/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/ . +md5sum "$tar" > "${this}.md5" + +# Create amarisoftue inst: +rm -rf inst-amarisoftue && mkdir inst-amarisoftue || exit 1 +tar --strip-components=1 -zxf inst-tmp/*/lteue-linux*.tar.gz -C inst-amarisoftue/ +cp ${base}/${project_name_srslte}/build/lib/src/phy/rf/libsrslte_rf.so inst-amarisoftue/ +cp ${base}/${project_name_zmq}/build/libtrx_zmq-linux-2018-10-18.so inst-amarisoftue/trx_zmq.so +cp ${base}/inst-tmp/trx_uhd-linux*/trx_uhd.so inst-amarisoftenb/ +this="amarisoftue.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" +tar="${this}.tgz" +tar -czf "$tar" -C inst-amarisoftue/ . +md5sum "$tar" > "${this}.md5" + +# 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/ +this="amarisoftepc.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" +tar="${this}.tgz" +tar -czf "$tar" -C inst-amarisoftepc/ . +md5sum "$tar" > "${this}.md5" diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index 79b90a7..5b4e99e 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -82,7 +82,9 @@ def bin_prefix(self): if self._bin_prefix is None: - self._bin_prefix = os.getenv('AMARISOFT_PATH_ENB', AmarisoftENB.REMOTE_DIR) + self._bin_prefix = os.getenv('AMARISOFT_PATH_ENB', None) + if self._bin_prefix == None: + self._bin_prefix = self.suite_run.trial.get_inst('amarisoftenb') return self._bin_prefix def cleanup(self): diff --git a/src/osmo_gsm_tester/amarisoft_epc.py b/src/osmo_gsm_tester/amarisoft_epc.py index eb9be94..c1f341c 100644 --- a/src/osmo_gsm_tester/amarisoft_epc.py +++ b/src/osmo_gsm_tester/amarisoft_epc.py @@ -56,7 +56,9 @@ def bin_prefix(self): if self._bin_prefix is None: - self._bin_prefix = os.getenv('AMARISOFT_PATH_EPC', AmarisoftEPC.REMOTE_DIR) + self._bin_prefix = os.getenv('AMARISOFT_PATH_EPC', None) + if self._bin_prefix == None: + self._bin_prefix = self.suite_run.trial.get_inst('amarisoftepc') return self._bin_prefix def cleanup(self): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17710 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: I372606fc5ff9f6bb3ef848f2fe229b83382ddc09 Gerrit-Change-Number: 17710 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 Apr 3 14:16:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 14:16:18 +0000 Subject: Change in osmo-gsm-tester[master]: Introduce contrib/jenkins-build-amarisoft.sh In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17710 ) Change subject: Introduce contrib/jenkins-build-amarisoft.sh ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17710 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: I372606fc5ff9f6bb3ef848f2fe229b83382ddc09 Gerrit-Change-Number: 17710 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 03 Apr 2020 14:16: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 Apr 3 14:16:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 14:16:21 +0000 Subject: Change in osmo-gsm-tester[master]: Introduce contrib/jenkins-build-amarisoft.sh In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17710 ) Change subject: Introduce contrib/jenkins-build-amarisoft.sh ...................................................................... Introduce contrib/jenkins-build-amarisoft.sh Prepares inst tgz archives to be consumed by osmo-gsm-tester from Amarisoft prebuilt binaries. Change-Id: I372606fc5ff9f6bb3ef848f2fe229b83382ddc09 --- A contrib/jenkins-build-amarisoft.sh M src/osmo_gsm_tester/amarisoft_enb.py M src/osmo_gsm_tester/amarisoft_epc.py 3 files changed, 75 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/contrib/jenkins-build-amarisoft.sh b/contrib/jenkins-build-amarisoft.sh new file mode 100755 index 0000000..ee26f45 --- /dev/null +++ b/contrib/jenkins-build-amarisoft.sh @@ -0,0 +1,69 @@ +#!/bin/sh +set -e -x + +amarisoft_tgz="$1" + +if [ ! -f "$amarisoft_tgz" ]; then + echo "Amarisoft tgz doesn't exist: $amarisoft_tgz" + exit 1 +fi + +base="$PWD" +name="srslte" +git_url="${git_url:-https://github.com/srsLTE}" +project_name_srslte="${project_name:-srsLTE}" +. "$(dirname "$0")/jenkins-build-common.sh" + +#TODO: make sure libconfig, zeroMQ is installed +build_repo $project_name_srslte + +git_url="git at github.com:softwareradiosystems" +project_name_zmq="amarisoft_dummy_trx" +branch="trx_zmq" +have_repo $project_name_zmq $branch +cd $project_name_zmq +rm -rf build && mkdir build && cd build || exit 1 +cmake -DSRSLTE_BUILD_PATH=${base}/${project_name_srslte}/build ../ +make -j8 +cd $base + +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/ +#tar -zxf inst-tmp/trx_uhd-linux*/trx_uhd.so.tar.gz -C inst-tmp-uhd/ + +# Build trx_uhd.so: +cd ${base}/inst-tmp/trx_uhd-linux*/ +make +cd ${base} + +# 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/ +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}/inst-tmp/trx_uhd-linux*/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/ . +md5sum "$tar" > "${this}.md5" + +# Create amarisoftue inst: +rm -rf inst-amarisoftue && mkdir inst-amarisoftue || exit 1 +tar --strip-components=1 -zxf inst-tmp/*/lteue-linux*.tar.gz -C inst-amarisoftue/ +cp ${base}/${project_name_srslte}/build/lib/src/phy/rf/libsrslte_rf.so inst-amarisoftue/ +cp ${base}/${project_name_zmq}/build/libtrx_zmq-linux-2018-10-18.so inst-amarisoftue/trx_zmq.so +cp ${base}/inst-tmp/trx_uhd-linux*/trx_uhd.so inst-amarisoftenb/ +this="amarisoftue.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" +tar="${this}.tgz" +tar -czf "$tar" -C inst-amarisoftue/ . +md5sum "$tar" > "${this}.md5" + +# 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/ +this="amarisoftepc.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" +tar="${this}.tgz" +tar -czf "$tar" -C inst-amarisoftepc/ . +md5sum "$tar" > "${this}.md5" diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index 79b90a7..5b4e99e 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -82,7 +82,9 @@ def bin_prefix(self): if self._bin_prefix is None: - self._bin_prefix = os.getenv('AMARISOFT_PATH_ENB', AmarisoftENB.REMOTE_DIR) + self._bin_prefix = os.getenv('AMARISOFT_PATH_ENB', None) + if self._bin_prefix == None: + self._bin_prefix = self.suite_run.trial.get_inst('amarisoftenb') return self._bin_prefix def cleanup(self): diff --git a/src/osmo_gsm_tester/amarisoft_epc.py b/src/osmo_gsm_tester/amarisoft_epc.py index eb9be94..c1f341c 100644 --- a/src/osmo_gsm_tester/amarisoft_epc.py +++ b/src/osmo_gsm_tester/amarisoft_epc.py @@ -56,7 +56,9 @@ def bin_prefix(self): if self._bin_prefix is None: - self._bin_prefix = os.getenv('AMARISOFT_PATH_EPC', AmarisoftEPC.REMOTE_DIR) + self._bin_prefix = os.getenv('AMARISOFT_PATH_EPC', None) + if self._bin_prefix == None: + self._bin_prefix = self.suite_run.trial.get_inst('amarisoftepc') return self._bin_prefix def cleanup(self): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17710 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: I372606fc5ff9f6bb3ef848f2fe229b83382ddc09 Gerrit-Change-Number: 17710 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Fri Apr 3 14:56:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 14:56:17 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: Add missing default values in constructor References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17711 ) Change subject: amarisoft_enb: Add missing default values in constructor ...................................................................... amarisoft_enb: Add missing default values in constructor Change-Id: I61c04df14468b38cfe4afaaeb5404367838ff0a9 --- M src/osmo_gsm_tester/amarisoft_enb.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/11/17711/1 diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index 5b4e99e..2ef713f 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -60,6 +60,7 @@ super().__init__(suite_run, conf, 'amarisoftenb') self.ue = None self.run_dir = None + self.inst = None self._bin_prefix = None self.config_file = None self.config_sib1_file = None @@ -69,6 +70,7 @@ self.log_file = None self.process = None self.rem_host = None + self.remote_inst = None self.remote_config_file = None self.remote_config_sib1_file = None self.remote_config_sib23_file = None -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17711 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: I61c04df14468b38cfe4afaaeb5404367838ff0a9 Gerrit-Change-Number: 17711 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 Apr 3 15:34:25 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 3 Apr 2020 15:34:25 +0000 Subject: Change in osmo-gsm-tester[master]: Introduce contrib/jenkins-build-amarisoft.sh In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17710 ) Change subject: Introduce contrib/jenkins-build-amarisoft.sh ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17710/1/contrib/jenkins-build-amarisoft.sh File contrib/jenkins-build-amarisoft.sh: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17710/1/contrib/jenkins-build-amarisoft.sh at 20 PS1, Line 20: git_url="git at github.com:softwareradiosystems" since we are putting this inside the public repo, people may still want to use it, even if they don't have the ZMQ driver. Therefore I would make the ZMQ compilation optional -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17710 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: I372606fc5ff9f6bb3ef848f2fe229b83382ddc09 Gerrit-Change-Number: 17710 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: srs_andre Gerrit-Comment-Date: Fri, 03 Apr 2020 15:34:25 +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 Apr 3 15:46:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 15:46:42 +0000 Subject: Change in osmo-gsm-tester[master]: contrib/jenkins-build-amarisoft.sh: Make build of amarisoft trx_zmq.s... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17712 ) Change subject: contrib/jenkins-build-amarisoft.sh: Make build of amarisoft trx_zmq.so optional ...................................................................... contrib/jenkins-build-amarisoft.sh: Make build of amarisoft trx_zmq.so optional That module is only available so far in a private repository, so allow still other amarisof tusers to build the bundles with UHD support. Change-Id: I361f179c8e7f379173fa9109028e139fc4c8c251 --- M contrib/jenkins-build-amarisoft.sh 1 file changed, 27 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/12/17712/1 diff --git a/contrib/jenkins-build-amarisoft.sh b/contrib/jenkins-build-amarisoft.sh index ee26f45..1e22ed5 100755 --- a/contrib/jenkins-build-amarisoft.sh +++ b/contrib/jenkins-build-amarisoft.sh @@ -3,35 +3,38 @@ amarisoft_tgz="$1" +BUILD_AMARISOFT_TRX_ZMQ="${BUILD_AMARISOFT_TRX_ZMQ:-1}" + if [ ! -f "$amarisoft_tgz" ]; then echo "Amarisoft tgz doesn't exist: $amarisoft_tgz" exit 1 fi base="$PWD" -name="srslte" -git_url="${git_url:-https://github.com/srsLTE}" -project_name_srslte="${project_name:-srsLTE}" -. "$(dirname "$0")/jenkins-build-common.sh" +if [ "x${BUILD_AMARISOFT_TRX_ZMQ}" = "x1" ]; then + name="srslte" + git_url="${git_url:-https://github.com/srsLTE}" + project_name_srslte="${project_name:-srsLTE}" + . "$(dirname "$0")/jenkins-build-common.sh" -#TODO: make sure libconfig, zeroMQ is installed -build_repo $project_name_srslte + #TODO: make sure libconfig, zeroMQ is installed + build_repo $project_name_srslte -git_url="git at github.com:softwareradiosystems" -project_name_zmq="amarisoft_dummy_trx" -branch="trx_zmq" -have_repo $project_name_zmq $branch -cd $project_name_zmq -rm -rf build && mkdir build && cd build || exit 1 -cmake -DSRSLTE_BUILD_PATH=${base}/${project_name_srslte}/build ../ -make -j8 -cd $base + git_url="git at github.com:softwareradiosystems" + project_name_zmq="amarisoft_dummy_trx" + branch="trx_zmq" + have_repo $project_name_zmq $branch + cd $project_name_zmq + rm -rf build && mkdir build && cd build || exit 1 + cmake -DSRSLTE_BUILD_PATH=${base}/${project_name_srslte}/build ../ + make -j8 + cd $base +fi 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/ -#tar -zxf inst-tmp/trx_uhd-linux*/trx_uhd.so.tar.gz -C inst-tmp-uhd/ # Build trx_uhd.so: cd ${base}/inst-tmp/trx_uhd-linux*/ @@ -41,8 +44,10 @@ # 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/ -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 +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 +fi cp ${base}/inst-tmp/trx_uhd-linux*/trx_uhd.so inst-amarisoftenb/ this="amarisoftenb.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" tar="${this}.tgz" @@ -52,8 +57,10 @@ # Create amarisoftue inst: rm -rf inst-amarisoftue && mkdir inst-amarisoftue || exit 1 tar --strip-components=1 -zxf inst-tmp/*/lteue-linux*.tar.gz -C inst-amarisoftue/ -cp ${base}/${project_name_srslte}/build/lib/src/phy/rf/libsrslte_rf.so inst-amarisoftue/ -cp ${base}/${project_name_zmq}/build/libtrx_zmq-linux-2018-10-18.so inst-amarisoftue/trx_zmq.so +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_zmq}/build/libtrx_zmq-linux-2018-10-18.so inst-amarisoftue/trx_zmq.so +fi cp ${base}/inst-tmp/trx_uhd-linux*/trx_uhd.so inst-amarisoftenb/ this="amarisoftue.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" tar="${this}.tgz" -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17712 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: I361f179c8e7f379173fa9109028e139fc4c8c251 Gerrit-Change-Number: 17712 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 Apr 3 15:56:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 15:56:45 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: Add missing default values in constructor In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17711 ) Change subject: amarisoft_enb: Add missing default values in constructor ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17711 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: I61c04df14468b38cfe4afaaeb5404367838ff0a9 Gerrit-Change-Number: 17711 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 03 Apr 2020 15:56: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 Apr 3 15:56:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 15:56:48 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: Add missing default values in constructor In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17711 ) Change subject: amarisoft_enb: Add missing default values in constructor ...................................................................... amarisoft_enb: Add missing default values in constructor Change-Id: I61c04df14468b38cfe4afaaeb5404367838ff0a9 --- M src/osmo_gsm_tester/amarisoft_enb.py 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index 5b4e99e..2ef713f 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -60,6 +60,7 @@ super().__init__(suite_run, conf, 'amarisoftenb') self.ue = None self.run_dir = None + self.inst = None self._bin_prefix = None self.config_file = None self.config_sib1_file = None @@ -69,6 +70,7 @@ self.log_file = None self.process = None self.rem_host = None + self.remote_inst = None self.remote_config_file = None self.remote_config_sib1_file = None self.remote_config_sib23_file = None -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17711 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: I61c04df14468b38cfe4afaaeb5404367838ff0a9 Gerrit-Change-Number: 17711 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Fri Apr 3 16:16:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 16:16:38 +0000 Subject: Change in osmo-gsm-tester[master]: Add modem resource features attributes: 2G, 3G, 4G References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17713 ) Change subject: Add modem resource features attributes: 2G, 3G, 4G ...................................................................... Add modem resource features attributes: 2G, 3G, 4G This allows selecting modem by supported network type. It will allow using 4G modems with type different than srsue in 4g suite in the future. Change-Id: I38bcf6abf789f52c3ed0bee7911567fa872e2491 --- M example/resources.conf.prod M src/osmo_gsm_tester/schema.py M suites/4g/suite.conf 3 files changed, 13 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/13/17713/1 diff --git a/example/resources.conf.prod b/example/resources.conf.prod index 2d9d0a8..72a5ca1 100644 --- a/example/resources.conf.prod +++ b/example/resources.conf.prod @@ -197,56 +197,56 @@ ki: 'EBAB63D06C3F546A16C977CB40E57C68' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'sim'] + features: ['2G', 'sms', 'voice', 'ussd', 'sim'] - label: sierra_2nd path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.4/1-5.4.1/1-5.4.1.3' ki: 'EBD2B5F6CF3374106D0A66C11F922001' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'sim'] + features: ['2G', 'sms', 'voice', 'ussd', 'sim'] - label: gobi2k path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.4/1-5.4.1/1-5.4.1.5' ki: '5752B3F43277C35D2D1D957007DF74E2' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sim'] + features: ['2G', 'sim'] - label: ec20_1 path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.4/1-5.4.1/1-5.4.1.6' ki: '07F35D0A9476646169669401215580E0' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'gprs', 'sim'] + features: ['2G', 'sms', 'voice', 'ussd', 'gprs', 'sim'] - label: ec20_2 path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.3/1-5.3.2' ki: '278B899D126C31F3B24D21E3EB556530' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'gprs', 'sim'] + features: ['2G', 'sms', 'voice', 'ussd', 'gprs', 'sim'] - label: ec20_3 path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.3/1-5.3.3' ki: 'B43BBCD8DE4D594F4146DE3D8ADC589D' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'gprs', 'sim'] + features: ['2G', 'sms', 'voice', 'ussd', 'gprs', 'sim'] - label: ec20_4 path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.3/1-5.3.5' ki: 'A41F06F39DE3B0295C178A674D3E3636' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'gprs', 'sim'] + features: ['2G', 'sms', 'voice', 'ussd', 'gprs', 'sim'] - label: ec20_5 path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.3/1-5.3.6' ki: '8CCBE85A62C6DC7AC2A9886F4BBC3146' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'gprs', 'sim'] + features: ['2G', 'sms', 'voice', 'ussd', 'gprs', 'sim'] - label: srsUE-zmq_1 type: srsue @@ -257,6 +257,7 @@ imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' + features: ['4G'] - label: srsUE-soapy-lms_1 type: srsue @@ -267,6 +268,7 @@ imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' + features: ['4G'] osmocon_phone: - serial_device: '/dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_00897B41-if00-port0' diff --git a/src/osmo_gsm_tester/schema.py b/src/osmo_gsm_tester/schema.py index 85c5fd6..775e8bc 100644 --- a/src/osmo_gsm_tester/schema.py +++ b/src/osmo_gsm_tester/schema.py @@ -95,7 +95,7 @@ raise ValueError('Unknown Cipher value: %r' % val) def modem_feature(val): - if val in ('sms', 'gprs', 'voice', 'ussd', 'sim'): + if val in ('sms', 'gprs', 'voice', 'ussd', 'sim', '2G', '3G', '4G'): return raise ValueError('Unknown Modem Feature: %r' % val) diff --git a/suites/4g/suite.conf b/suites/4g/suite.conf index c1086bc..fa4d6e4 100644 --- a/suites/4g/suite.conf +++ b/suites/4g/suite.conf @@ -5,7 +5,8 @@ - times: 1 modem: - times: 1 - type: srsue + features: + - 4G defaults: timeout: 180s -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17713 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: I38bcf6abf789f52c3ed0bee7911567fa872e2491 Gerrit-Change-Number: 17713 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 Apr 3 16:16:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 16:16:38 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoftUE: WIP References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17714 ) Change subject: amarisoftUE: WIP ...................................................................... amarisoftUE: WIP Change-Id: Idda0d3a040663969dd71781814198b47fff7daf3 --- A example/scenarios/amarisoftue-rftype at .conf M src/osmo_gsm_tester/amarisoft_enb.py A src/osmo_gsm_tester/amarisoft_ue.py M src/osmo_gsm_tester/resource.py A src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl 6 files changed, 300 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/14/17714/1 diff --git a/example/scenarios/amarisoftue-rftype at .conf b/example/scenarios/amarisoftue-rftype at .conf new file mode 100644 index 0000000..5bf4cfe --- /dev/null +++ b/example/scenarios/amarisoftue-rftype at .conf @@ -0,0 +1,4 @@ +resources: + modem: + - type: amarisoftue + rf_dev_type: ${param1} diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index 2ef713f..b36f3f2 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -170,6 +170,11 @@ logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file config.overlay(values, dict(enb=dict(log_filename=logfile))) + # rf driver is shared between amarisoft enb and ue, so it has a + # different cfg namespace 'trx'. Copy needed values over there: + config.overlay(values, dict(trx=dict(rf_dev_type=values['enb'].get('rf_dev_type', None), + rf_dev_args=values['enb'].get('rf_dev_args', None)))) + self.gen_conf_file(self.config_file, AmarisoftENB.CFGFILE, values) self.gen_conf_file(self.config_sib1_file, AmarisoftENB.CFGFILE_SIB1, values) self.gen_conf_file(self.config_sib23_file, AmarisoftENB.CFGFILE_SIB23, values) diff --git a/src/osmo_gsm_tester/amarisoft_ue.py b/src/osmo_gsm_tester/amarisoft_ue.py new file mode 100644 index 0000000..9020f71 --- /dev/null +++ b/src/osmo_gsm_tester/amarisoft_ue.py @@ -0,0 +1,223 @@ +# osmo_gsm_tester: specifics for running an SRS UE process +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# Author: Pau Espin Pedrol +# +# 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 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 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 os +import pprint + +from . import log, util, config, template, process, remote +from .run_node import RunNode +from .event_loop import MainLoop +from .ms import MS + +def rf_type_valid(rf_type_str): + return rf_type_str in ('uhd') + +class AmarisoftUE(MS): + + REMOTE_DIR = '/osmo-gsm-tester-amarisoftue' + BINFILE = 'lteue' + CFGFILE = 'amarisoft_lteue.cfg' + CFGFILE_RF = 'amarisoft_rf_driver.cfg' + LOGFILE = 'lteue.log' + + def __init__(self, suite_run, conf): + self._addr = conf.get('addr', None) + if self._addr is None: + raise log.Error('addr not set') + super().__init__('amarisoftue_%s' % self._addr, conf) + self.enb = None + self.run_dir = None + self.inst = None + self._bin_prefix = None + self.config_file = None + self.config_rf_file = None + self.log_file = None + self.process = None + self.rem_host = None + self.remote_inst = None + self.remote_config_file = None + self.remote_config_rf_file = None + self.remote_log_file = None + self.suite_run = suite_run + self.remote_user = conf.get('remote_user', None) + 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)) + + def bin_prefix(self): + if self._bin_prefix is None: + self._bin_prefix = os.getenv('AMARISOFT_PATH_UE', None) + if self._bin_prefix == None: + self._bin_prefix = self.suite_run.trial.get_inst('amarisoftue') + return self._bin_prefix + + def cleanup(self): + if self.process is None: + return + if self.setup_runs_locally(): + return + # 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: + self.log(repr(e)) + + def setup_runs_locally(self): + return self.remote_user is None + + def netns(self): + return "amarisoftue1" + + def stop(self): + self.suite_run.stop_process(self.process) + + def connect(self, enb): + self.log('Starting amarisoftue') + self.enb = enb + self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.configure() + if self.setup_runs_locally(): + self.start_locally() + else: + self.start_remotely() + + # send t+Enter to enable console trace + self.dbg('Enabling console trace') + self.process.stdin_write('t\n') + + def start_remotely(self): + remote_binary = self.remote_inst.child('', AmarisoftUE.BINFILE) + # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. + self.log('Setting RPATH for ltetue') + # amarisoftue binary needs patchelf >= 0.9+52 to avoid failing during patch. OS#4389, patchelf-GH#192. + self.rem_host.set_remote_env({'PATCHELF_BIN': '/opt/bin/patchelf-v0.10' }) + self.rem_host.change_elf_rpath(remote_binary, str(self.remote_inst)) + + # amarisoftue requires CAP_SYS_ADMIN to cjump to net network namespace: netns(CLONE_NEWNET): + # amarisoftue requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): + self.log('Applying CAP_SYS_ADMIN+CAP_NET_ADMIN capability to ltetue') + self.rem_host.setcap_netsys_admin(remote_binary) + + self.log('Creating netns %s' % self.netns()) + self.rem_host.create_netns(self.netns()) + + args = (remote_binary, self.remote_config_file) + self.process = self.rem_host.RemoteProcess(AmarisoftUE.BINFILE, args) + self.suite_run.remember_to_stop(self.process) + self.process.launch() + + def start_locally(self): + binary = self.inst.child('', AmarisoftUE.BINFILE) + env = {} + + # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. + self.log('Setting RPATH for lteue') + util.change_elf_rpath(binary, util.prepend_library_path(self.inst), self.run_dir.new_dir('patchelf')) + + # amarisoftue requires CAP_SYS_ADMIN to cjump to net network namespace: netns(CLONE_NEWNET): + # amarisoftue requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): + self.log('Applying CAP_SYS_ADMIN+CAP_NET_ADMIN capability to lteue') + util.setcap_netsys_admin(binary, self.run_dir.new_dir('setcap_netsys_admin')) + + self.log('Creating netns %s' % self.netns()) + util.create_netns(self.netns(), self.run_dir.new_dir('create_netns')) + + args = (binary, os.path.abspath(self.config_file)) + self.dbg(run_dir=self.run_dir, binary=binary, env=env) + self.process = process.Process(self.name(), self.run_dir, args, env=env) + self.suite_run.remember_to_stop(self.process) + self.process.launch() + + def gen_conf_file(self, path, filename, values): + self.dbg('AmarisoftUE ' + filename + ':\n' + pprint.pformat(values)) + with open(path, 'w') as f: + r = template.render(filename, values) + self.dbg(r) + f.write(r) + + def configure(self): + self.inst = util.Dir(os.path.abspath(self.bin_prefix())) + if not self.inst.isfile('', AmarisoftUE.BINFILE): + raise log.Error('No %s binary in' % AmarisoftUE.BINFILE, self.inst) + + self.config_file = self.run_dir.child(AmarisoftUE.CFGFILE) + self.config_rf_file = self.run_dir.child(AmarisoftUE.CFGFILE_RF) + self.log_file = self.run_dir.child(AmarisoftUE.LOGFILE) + + if not self.setup_runs_locally(): + self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) + remote_prefix_dir = util.Dir(AmarisoftUE.REMOTE_DIR) + self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) + remote_run_dir = util.Dir(remote_prefix_dir.child(AmarisoftUE.BINFILE)) + + self.remote_config_file = remote_run_dir.child(AmarisoftUE.CFGFILE) + self.remote_config_rf_file = remote_run_dir.child(AmarisoftUE.CFGFILE_RF) + self.remote_log_file = remote_run_dir.child(AmarisoftUE.LOGFILE) + + values = dict(ue=config.get_defaults('amarisoft')) + config.overlay(values, dict(ue=config.get_defaults('amarisoftue'))) + config.overlay(values, dict(ue=self.suite_run.config().get('amarisoft', {}))) + config.overlay(values, dict(ue=self.suite_run.config().get('modem', {}))) + config.overlay(values, dict(ue=self._conf)) + config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) + + logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file + config.overlay(values, dict(ue=dict(log_filename=logfile))) + + # rf driver is shared between amarisoft enb and ue, so it has a + # different cfg namespace 'trx'. Copy needed values over there: + config.overlay(values, dict(trx=dict(rf_dev_type=values['ue'].get('rf_dev_type', None), + rf_dev_args=values['ue'].get('rf_dev_args', None)))) + + self.gen_conf_file(self.config_file, AmarisoftUE.CFGFILE, values) + self.gen_conf_file(self.config_rf_file, AmarisoftUE.CFGFILE_RF, values) + + if not self.setup_runs_locally(): + 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) + self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) + self.rem_host.scp('scp-cfg-rf-to-remote', self.config_rf_file, self.remote_config_rf_file) + + def is_connected(self, mcc_mnc=None): + return 'Network attach successful.' in (self.process.get_stdout() or '') + + def is_attached(self): + return self.is_connected() + + def running(self): + return not self.process.terminated() + + def addr(self): + return self._addr + + def run_node(self): + return RunNode(RunNode.T_REM_SSH, self._addr, self.remote_user, self._addr) + + def run_netns_wait(self, name, popen_args): + if self.setup_runs_locally(): + proc = process.NetNSProcess(name, self.run_dir.new_dir(name), self.netns(), popen_args, env={}) + else: + proc = self.rem_host.RemoteNetNSProcess(name, self.netns(), popen_args, env={}) + proc.launch_sync() + return proc + + def verify_metric(self, value, operation='avg', metric='dl_brate', criterion='gt'): + return 'metrics not yet implemented with Amarisoft UE' + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index c69617c..45b3aeb 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -29,7 +29,7 @@ from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g from . import modem from . import ms_osmo_mobile -from . import srs_ue, srs_enb, amarisoft_enb, srs_epc, amarisoft_epc +from . import srs_ue, amarisoft_ue, srs_enb, amarisoft_enb, srs_epc, amarisoft_epc from .util import is_dict, is_list @@ -159,6 +159,7 @@ 'ofono': modem.Modem, 'osmo-mobile': ms_osmo_mobile.MSOsmoMobile, 'srsue': srs_ue.srsUE, + 'amarisoftue': amarisoft_ue.AmarisoftUE, } diff --git a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl new file mode 100644 index 0000000..b81e358 --- /dev/null +++ b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl @@ -0,0 +1,64 @@ +/* UE simulator configuration file version 2018-10-18 + * Copyright (C) 2015-2018 Amarisoft + */ +{ + +%if ue.license_server_addr != '0.0.0.0': + license_server: { + server_addr: "${ue.license_server_addr}", + name: "amarisoft", + }, +%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", + log_filename: "${ue.log_filename}", + + /* Enable remote API and Web interface */ + com_addr: "${ue.addr}:9002", + + include "amarisoft_rf_driver.cfg", + + bandwidth: 5, + + /* If true, allow the simulation of several UEs at the same time and + allow dynamic UE creation from remote API */ + multi_ue: false, + + cells: [ + { + dl_earfcn: 3350, /* 2850 MHz (band 7) */ +// dl_earfcn: 40620, /* 3500 MHz (band 41) */ + n_antenna_dl: 1, /* number of downlink antennas */ + n_antenna_ul: 1, + + /* must be provided if multi_ue = true */ + //global_timing_advance: 1, + } + ], + + ue_list: [ + { + /* UE capabilities */ + as_release: 8, + ue_category: 4, + + /* USIM data */ + imsi: "${ue.imsi}", + K: "${ue.ki}", + + /* If enabled, will try to use external SIM card using libpcsclite */ + //external_sim: true, + + /* Enable it to create a TUN interface for each UE PDN */ + //tun_setup_script: "ue-ifup", + } + ], + + /* If case your system have a high SNR and you are running high number of + * UEs, enable this option to optimize PDCCH decoding and save CPU + */ + pdcch_decode_opt: false, + pdcch_decode_opt_threshold: 0.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 bbf9b47..bfcdc33 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -2,11 +2,11 @@ * Copyright (C) 2015-2018 Amarisoft */ rf_driver: { - name: "${enb.rf_dev_type}", + name: "${trx.rf_dev_type}", sync: "none", /* Use this for b2x0 devices. Bandwidth >= 10 Mhz */ - args: "${enb.rf_dev_args}", + args: "${trx.rf_dev_args}", /* Use this for bandwidth == 5 Mhz */ //args: "send_frame_size=1024,recv_frame_size=1024", -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17714 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: Idda0d3a040663969dd71781814198b47fff7daf3 Gerrit-Change-Number: 17714 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 Apr 3 16:16:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 16:16:39 +0000 Subject: Change in osmo-gsm-tester[master]: contrib/jenkins-build-amarisoft.sh: Fix typo copying trx_uhd.so to UE References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17715 ) Change subject: contrib/jenkins-build-amarisoft.sh: Fix typo copying trx_uhd.so to UE ...................................................................... contrib/jenkins-build-amarisoft.sh: Fix typo copying trx_uhd.so to UE Change-Id: I0c9b83b9adf0548e78363462744644bc528c2d29 --- M contrib/jenkins-build-amarisoft.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/15/17715/1 diff --git a/contrib/jenkins-build-amarisoft.sh b/contrib/jenkins-build-amarisoft.sh index 1e22ed5..f971578 100755 --- a/contrib/jenkins-build-amarisoft.sh +++ b/contrib/jenkins-build-amarisoft.sh @@ -61,7 +61,7 @@ cp ${base}/${project_name_srslte}/build/lib/src/phy/rf/libsrslte_rf.so inst-amarisoftue/ cp ${base}/${project_name_zmq}/build/libtrx_zmq-linux-2018-10-18.so inst-amarisoftue/trx_zmq.so fi -cp ${base}/inst-tmp/trx_uhd-linux*/trx_uhd.so inst-amarisoftenb/ +cp ${base}/inst-tmp/trx_uhd-linux*/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/ . -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17715 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: I0c9b83b9adf0548e78363462744644bc528c2d29 Gerrit-Change-Number: 17715 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 Apr 3 16:42:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 16:42:32 +0000 Subject: Change in osmo-gsm-tester[master]: contrib/jenkins-build-amarisoft.sh: Make build of amarisoft trx_zmq.s... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17712 ) Change subject: contrib/jenkins-build-amarisoft.sh: Make build of amarisoft trx_zmq.so optional ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17712 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: I361f179c8e7f379173fa9109028e139fc4c8c251 Gerrit-Change-Number: 17712 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 03 Apr 2020 16:42: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 Fri Apr 3 16:42:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 16:42:34 +0000 Subject: Change in osmo-gsm-tester[master]: contrib/jenkins-build-amarisoft.sh: Fix typo copying trx_uhd.so to UE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17715 ) Change subject: contrib/jenkins-build-amarisoft.sh: Fix typo copying trx_uhd.so to UE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17715 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: I0c9b83b9adf0548e78363462744644bc528c2d29 Gerrit-Change-Number: 17715 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 03 Apr 2020 16:42: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 Apr 3 16:42:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 16:42:37 +0000 Subject: Change in osmo-gsm-tester[master]: contrib/jenkins-build-amarisoft.sh: Make build of amarisoft trx_zmq.s... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17712 ) Change subject: contrib/jenkins-build-amarisoft.sh: Make build of amarisoft trx_zmq.so optional ...................................................................... contrib/jenkins-build-amarisoft.sh: Make build of amarisoft trx_zmq.so optional That module is only available so far in a private repository, so allow still other amarisof tusers to build the bundles with UHD support. Change-Id: I361f179c8e7f379173fa9109028e139fc4c8c251 --- M contrib/jenkins-build-amarisoft.sh 1 file changed, 27 insertions(+), 20 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/contrib/jenkins-build-amarisoft.sh b/contrib/jenkins-build-amarisoft.sh index ee26f45..1e22ed5 100755 --- a/contrib/jenkins-build-amarisoft.sh +++ b/contrib/jenkins-build-amarisoft.sh @@ -3,35 +3,38 @@ amarisoft_tgz="$1" +BUILD_AMARISOFT_TRX_ZMQ="${BUILD_AMARISOFT_TRX_ZMQ:-1}" + if [ ! -f "$amarisoft_tgz" ]; then echo "Amarisoft tgz doesn't exist: $amarisoft_tgz" exit 1 fi base="$PWD" -name="srslte" -git_url="${git_url:-https://github.com/srsLTE}" -project_name_srslte="${project_name:-srsLTE}" -. "$(dirname "$0")/jenkins-build-common.sh" +if [ "x${BUILD_AMARISOFT_TRX_ZMQ}" = "x1" ]; then + name="srslte" + git_url="${git_url:-https://github.com/srsLTE}" + project_name_srslte="${project_name:-srsLTE}" + . "$(dirname "$0")/jenkins-build-common.sh" -#TODO: make sure libconfig, zeroMQ is installed -build_repo $project_name_srslte + #TODO: make sure libconfig, zeroMQ is installed + build_repo $project_name_srslte -git_url="git at github.com:softwareradiosystems" -project_name_zmq="amarisoft_dummy_trx" -branch="trx_zmq" -have_repo $project_name_zmq $branch -cd $project_name_zmq -rm -rf build && mkdir build && cd build || exit 1 -cmake -DSRSLTE_BUILD_PATH=${base}/${project_name_srslte}/build ../ -make -j8 -cd $base + git_url="git at github.com:softwareradiosystems" + project_name_zmq="amarisoft_dummy_trx" + branch="trx_zmq" + have_repo $project_name_zmq $branch + cd $project_name_zmq + rm -rf build && mkdir build && cd build || exit 1 + cmake -DSRSLTE_BUILD_PATH=${base}/${project_name_srslte}/build ../ + make -j8 + cd $base +fi 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/ -#tar -zxf inst-tmp/trx_uhd-linux*/trx_uhd.so.tar.gz -C inst-tmp-uhd/ # Build trx_uhd.so: cd ${base}/inst-tmp/trx_uhd-linux*/ @@ -41,8 +44,10 @@ # 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/ -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 +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 +fi cp ${base}/inst-tmp/trx_uhd-linux*/trx_uhd.so inst-amarisoftenb/ this="amarisoftenb.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" tar="${this}.tgz" @@ -52,8 +57,10 @@ # Create amarisoftue inst: rm -rf inst-amarisoftue && mkdir inst-amarisoftue || exit 1 tar --strip-components=1 -zxf inst-tmp/*/lteue-linux*.tar.gz -C inst-amarisoftue/ -cp ${base}/${project_name_srslte}/build/lib/src/phy/rf/libsrslte_rf.so inst-amarisoftue/ -cp ${base}/${project_name_zmq}/build/libtrx_zmq-linux-2018-10-18.so inst-amarisoftue/trx_zmq.so +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_zmq}/build/libtrx_zmq-linux-2018-10-18.so inst-amarisoftue/trx_zmq.so +fi cp ${base}/inst-tmp/trx_uhd-linux*/trx_uhd.so inst-amarisoftenb/ this="amarisoftue.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" tar="${this}.tgz" -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17712 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: I361f179c8e7f379173fa9109028e139fc4c8c251 Gerrit-Change-Number: 17712 Gerrit-PatchSet: 3 Gerrit-Owner: pespin 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 Fri Apr 3 16:42:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 16:42:37 +0000 Subject: Change in osmo-gsm-tester[master]: contrib/jenkins-build-amarisoft.sh: Fix typo copying trx_uhd.so to UE In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17715 ) Change subject: contrib/jenkins-build-amarisoft.sh: Fix typo copying trx_uhd.so to UE ...................................................................... contrib/jenkins-build-amarisoft.sh: Fix typo copying trx_uhd.so to UE Change-Id: I0c9b83b9adf0548e78363462744644bc528c2d29 --- M contrib/jenkins-build-amarisoft.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/contrib/jenkins-build-amarisoft.sh b/contrib/jenkins-build-amarisoft.sh index 1e22ed5..f971578 100755 --- a/contrib/jenkins-build-amarisoft.sh +++ b/contrib/jenkins-build-amarisoft.sh @@ -61,7 +61,7 @@ cp ${base}/${project_name_srslte}/build/lib/src/phy/rf/libsrslte_rf.so inst-amarisoftue/ cp ${base}/${project_name_zmq}/build/libtrx_zmq-linux-2018-10-18.so inst-amarisoftue/trx_zmq.so fi -cp ${base}/inst-tmp/trx_uhd-linux*/trx_uhd.so inst-amarisoftenb/ +cp ${base}/inst-tmp/trx_uhd-linux*/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/ . -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17715 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: I0c9b83b9adf0548e78363462744644bc528c2d29 Gerrit-Change-Number: 17715 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Fri Apr 3 16:45:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 3 Apr 2020 16:45:50 +0000 Subject: Change in osmo-bts[master]: scheduler: always call ul handler on nope ind In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17539 ) Change subject: scheduler: always call ul handler on nope ind ...................................................................... Patch Set 1: If you don't mind, I can take care of this change and move it forward. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice45d5986610d9bcef2a7e41f0a395ec779e3928 Gerrit-Change-Number: 17539 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 03 Apr 2020 16:45: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 Fri Apr 3 17:01:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 17:01:36 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester/resources.conf: Add 3g, 4g modem features attr References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17716 ) Change subject: osmo-gsm-tester/resources.conf: Add 3g,4g modem features attr ...................................................................... osmo-gsm-tester/resources.conf: Add 3g,4g modem features attr Since osmo-gsm-tester.git I38bcf6abf789f52c3ed0bee7911567fa872e2491 these features are included and used in the "4g" suite to allow selecting 4G modems different than srsue. Change-Id: Ie1942fd661b91218780bc52bb000d192259e2b69 --- M osmo-gsm-tester/resources.conf 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/16/17716/1 diff --git a/osmo-gsm-tester/resources.conf b/osmo-gsm-tester/resources.conf index a81d92a..a687edb 100644 --- a/osmo-gsm-tester/resources.conf +++ b/osmo-gsm-tester/resources.conf @@ -50,7 +50,7 @@ ki: 'EBAB63D06C3F546A16C977CB40E57C68' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'sim'] + features: ['2g', 'sms', 'voice', 'ussd', 'sim'] - label: srsUE-zmq_1 type: srsue @@ -60,3 +60,4 @@ imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' + features: ['4g'] -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie1942fd661b91218780bc52bb000d192259e2b69 Gerrit-Change-Number: 17716 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 Apr 3 17:04:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 17:04:09 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester/resources.conf: Add 2g, 4g modem features attr In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/17716 ) Change subject: osmo-gsm-tester/resources.conf: Add 2g,4g modem features attr ...................................................................... osmo-gsm-tester/resources.conf: Add 2g,4g modem features attr Since osmo-gsm-tester.git I38bcf6abf789f52c3ed0bee7911567fa872e2491 these features are included and used in the "4g" suite to allow selecting 4G modems different than srsue. Change-Id: Ie1942fd661b91218780bc52bb000d192259e2b69 --- M osmo-gsm-tester/resources.conf 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/16/17716/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie1942fd661b91218780bc52bb000d192259e2b69 Gerrit-Change-Number: 17716 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Apr 3 18:50:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 18:50:50 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester/resources.conf: Add 2g, 4g modem features attr In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17716 ) Change subject: osmo-gsm-tester/resources.conf: Add 2g,4g modem features attr ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie1942fd661b91218780bc52bb000d192259e2b69 Gerrit-Change-Number: 17716 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 03 Apr 2020 18:50: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 Fri Apr 3 18:50:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 18:50:56 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester/resources.conf: Add 2g, 4g modem features attr In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17716 ) Change subject: osmo-gsm-tester/resources.conf: Add 2g,4g modem features attr ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie1942fd661b91218780bc52bb000d192259e2b69 Gerrit-Change-Number: 17716 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 03 Apr 2020 18: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 Fri Apr 3 18:52:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 18:52:10 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester/resources.conf: Add 2g, 4g modem features attr In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17716 ) Change subject: osmo-gsm-tester/resources.conf: Add 2g,4g modem features attr ...................................................................... osmo-gsm-tester/resources.conf: Add 2g,4g modem features attr Since osmo-gsm-tester.git I38bcf6abf789f52c3ed0bee7911567fa872e2491 these features are included and used in the "4g" suite to allow selecting 4G modems different than srsue. Change-Id: Ie1942fd661b91218780bc52bb000d192259e2b69 --- M osmo-gsm-tester/resources.conf 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/osmo-gsm-tester/resources.conf b/osmo-gsm-tester/resources.conf index a81d92a..a687edb 100644 --- a/osmo-gsm-tester/resources.conf +++ b/osmo-gsm-tester/resources.conf @@ -50,7 +50,7 @@ ki: 'EBAB63D06C3F546A16C977CB40E57C68' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'sim'] + features: ['2g', 'sms', 'voice', 'ussd', 'sim'] - label: srsUE-zmq_1 type: srsue @@ -60,3 +60,4 @@ imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' + features: ['4g'] -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie1942fd661b91218780bc52bb000d192259e2b69 Gerrit-Change-Number: 17716 Gerrit-PatchSet: 2 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 Fri Apr 3 19:33:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 3 Apr 2020 19:33:17 +0000 Subject: Change in osmo-bts[master]: cosmetic: remove dead code from logging.c In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/17699 to look at the new patch set (#2). Change subject: cosmetic: remove dead code from logging.c ...................................................................... cosmetic: remove dead code from logging.c Change-Id: Ib70313d8f837ebac39ed8caaa80b01ffafe879d5 --- M src/common/logging.c 1 file changed, 0 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/99/17699/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17699 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib70313d8f837ebac39ed8caaa80b01ffafe879d5 Gerrit-Change-Number: 17699 Gerrit-PatchSet: 2 Gerrit-Owner: laforge 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 Apr 3 19:33:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 3 Apr 2020 19:33:23 +0000 Subject: Change in osmo-bts[master]: cosmetic: remove dead code from logging.c In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17699 ) Change subject: cosmetic: remove dead code from logging.c ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17699 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib70313d8f837ebac39ed8caaa80b01ffafe879d5 Gerrit-Change-Number: 17699 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 03 Apr 2020 19:33: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 Apr 3 19:33:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 3 Apr 2020 19:33:27 +0000 Subject: Change in osmo-bts[master]: cosmetic: remove dead code from logging.c In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17699 ) Change subject: cosmetic: remove dead code from logging.c ...................................................................... cosmetic: remove dead code from logging.c Change-Id: Ib70313d8f837ebac39ed8caaa80b01ffafe879d5 --- M src/common/logging.c 1 file changed, 0 insertions(+), 17 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/logging.c b/src/common/logging.c index 8340736..d4fb874 100644 --- a/src/common/logging.c +++ b/src/common/logging.c @@ -119,23 +119,6 @@ .color = "\033[0;34m", .enabled = 1, .loglevel = LOGL_NOTICE, }, -#if 0 - [DNS] = { - .name = "DNS", - .description = "GPRS Network Service (NS)", - .enabled = 1, .loglevel = LOGL_INFO, - }, - [DBSSGP] = { - .name = "DBSSGP", - .description = "GPRS BSS Gateway Protocol (BSSGP)", - .enabled = 1, .loglevel = LOGL_DEBUG, - }, - [DLLC] = { - .name = "DLLC", - .description = "GPRS Logical Link Control Protocol (LLC)", - .enabled = 1, .loglevel = LOGL_DEBUG, - }, -#endif [DSUM] = { .name = "DSUM", .description = "DSUM", -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17699 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib70313d8f837ebac39ed8caaa80b01ffafe879d5 Gerrit-Change-Number: 17699 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 gerrit-no-reply at lists.osmocom.org Fri Apr 3 19:33:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 3 Apr 2020 19:33:37 +0000 Subject: Change in osmo-bsc[master]: remove 'NAT' log category In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17698 ) Change subject: remove 'NAT' log category ...................................................................... remove 'NAT' log category This dates back to a time where osmo-bsc_nat was in the same repository, which is a long time ago. Change-Id: Id965295dfe04f8bd5ce831db70c86f67b8dc290b --- M include/osmocom/bsc/debug.h M src/libfilter/bsc_msg_acc.c M src/osmo-bsc/osmo_bsc_main.c M tests/bsc/bsc_test.c 4 files changed, 2 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/include/osmocom/bsc/debug.h b/include/osmocom/bsc/debug.h index adc6abb..82c0703 100644 --- a/include/osmocom/bsc/debug.h +++ b/include/osmocom/bsc/debug.h @@ -19,7 +19,6 @@ DHO, DHODEC, DREF, - DNAT, DCTRL, DFILTER, DPCU, diff --git a/src/libfilter/bsc_msg_acc.c b/src/libfilter/bsc_msg_acc.c index de6c4d9..8853dbb 100644 --- a/src/libfilter/bsc_msg_acc.c +++ b/src/libfilter/bsc_msg_acc.c @@ -96,7 +96,7 @@ lst = talloc_zero(ctx, struct bsc_msg_acc_lst); if (!lst) { - LOGP(DNAT, LOGL_ERROR, "Failed to allocate access list\n"); + LOGP(DFILTER, LOGL_ERROR, "Failed to allocate access list\n"); return NULL; } diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index bf68c9b..de84060 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -748,11 +748,6 @@ .description = "Reference Counting", .enabled = 0, .loglevel = LOGL_NOTICE, }, - [DNAT] = { - .name = "DNAT", - .description = "GSM 08.08 NAT/Multiplexer", - .enabled = 1, .loglevel = LOGL_NOTICE, - }, [DCTRL] = { .name = "DCTRL", .description = "Control interface", @@ -915,7 +910,7 @@ llist_for_each_entry(msc, &bsc_gsmnet->bsc_data->mscs, entry) { if (osmo_bsc_msc_init(msc) != 0) { - LOGP(DNAT, LOGL_ERROR, "Failed to start up. Exiting.\n"); + LOGP(DMSC, LOGL_ERROR, "Failed to start up. Exiting.\n"); exit(1); } } diff --git a/tests/bsc/bsc_test.c b/tests/bsc/bsc_test.c index 86b7282..6079ec5 100644 --- a/tests/bsc/bsc_test.c +++ b/tests/bsc/bsc_test.c @@ -192,11 +192,6 @@ .color = "\033[1;36m", .enabled = 1, .loglevel = LOGL_INFO, }, - [DNAT] = { - .name = "DNAT", - .description = "GSM 08.08 NAT/Multiplexer", - .enabled = 1, .loglevel = LOGL_NOTICE, - }, [DMSC] = { .name = "DMSC", .description = "Mobile Switching Center", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17698 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id965295dfe04f8bd5ce831db70c86f67b8dc290b Gerrit-Change-Number: 17698 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 Fri Apr 3 20:08:15 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 3 Apr 2020 20:08:15 +0000 Subject: Change in osmo-gsm-tester[master]: schema: add missing modem feature 4g to list of valid features References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17717 ) Change subject: schema: add missing modem feature 4g to list of valid features ...................................................................... schema: add missing modem feature 4g to list of valid features otherwise OGT exits with 'Unknown Modem Feature: 4g' Change-Id: I998e507e08e6c0434b17b986090582347210dd85 --- M src/osmo_gsm_tester/schema.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/17/17717/1 diff --git a/src/osmo_gsm_tester/schema.py b/src/osmo_gsm_tester/schema.py index 85c5fd6..ed68bb4 100644 --- a/src/osmo_gsm_tester/schema.py +++ b/src/osmo_gsm_tester/schema.py @@ -95,7 +95,7 @@ raise ValueError('Unknown Cipher value: %r' % val) def modem_feature(val): - if val in ('sms', 'gprs', 'voice', 'ussd', 'sim'): + if val in ('sms', 'gprs', 'voice', 'ussd', 'sim', '4g'): return raise ValueError('Unknown Modem Feature: %r' % val) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17717 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: I998e507e08e6c0434b17b986090582347210dd85 Gerrit-Change-Number: 17717 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 Fri Apr 3 20:23:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 20:23:07 +0000 Subject: Change in osmo-gsm-tester[master]: schema: add missing modem feature 4g to list of valid features In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17717 ) Change subject: schema: add missing modem feature 4g to list of valid features ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17717/1/src/osmo_gsm_tester/schema.py File src/osmo_gsm_tester/schema.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17717/1/src/osmo_gsm_tester/schema.py at 98 PS1, Line 98: if val in ('sms', 'gprs', 'voice', 'ussd', 'sim', '4g'): ugh I remember doing that in my patch, something weird happened during rebasing. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17717 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: I998e507e08e6c0434b17b986090582347210dd85 Gerrit-Change-Number: 17717 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 03 Apr 2020 20:23: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 Fri Apr 3 20:24:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 20:24:50 +0000 Subject: Change in osmo-gsm-tester[master]: Add modem resource features attributes: 2g, 3g, 4g In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17713 ) Change subject: Add modem resource features attributes: 2g, 3g, 4g ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17713 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: I38bcf6abf789f52c3ed0bee7911567fa872e2491 Gerrit-Change-Number: 17713 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 03 Apr 2020 20:24: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 Fri Apr 3 20:24:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 20:24:51 +0000 Subject: Change in osmo-gsm-tester[master]: Add modem resource features attributes: 2g, 3g, 4g In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17713 ) Change subject: Add modem resource features attributes: 2g, 3g, 4g ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17713 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: I38bcf6abf789f52c3ed0bee7911567fa872e2491 Gerrit-Change-Number: 17713 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 03 Apr 2020 20:24: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 Apr 3 20:24:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 20:24:58 +0000 Subject: Change in osmo-gsm-tester[master]: Add modem resource features attributes: 2g, 3g, 4g In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17713 ) Change subject: Add modem resource features attributes: 2g, 3g, 4g ...................................................................... Add modem resource features attributes: 2g, 3g, 4g This allows selecting modem by supported network type. It will allow using 4G modems with type different than srsue in 4g suite in the future. Change-Id: I38bcf6abf789f52c3ed0bee7911567fa872e2491 --- M example/resources.conf.prod M example/resources.conf.rnd M src/osmo_gsm_tester/schema.py M suites/4g/suite.conf 4 files changed, 17 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/example/resources.conf.prod b/example/resources.conf.prod index 2d9d0a8..c66cafa 100644 --- a/example/resources.conf.prod +++ b/example/resources.conf.prod @@ -197,56 +197,56 @@ ki: 'EBAB63D06C3F546A16C977CB40E57C68' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'sim'] + features: ['2g', 'sms', 'voice', 'ussd', 'sim'] - label: sierra_2nd path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.4/1-5.4.1/1-5.4.1.3' ki: 'EBD2B5F6CF3374106D0A66C11F922001' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'sim'] + features: ['2g', 'sms', 'voice', 'ussd', 'sim'] - label: gobi2k path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.4/1-5.4.1/1-5.4.1.5' ki: '5752B3F43277C35D2D1D957007DF74E2' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sim'] + features: ['2g', 'sim'] - label: ec20_1 path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.4/1-5.4.1/1-5.4.1.6' ki: '07F35D0A9476646169669401215580E0' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'gprs', 'sim'] + features: ['2g', 'sms', 'voice', 'ussd', 'gprs', 'sim'] - label: ec20_2 path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.3/1-5.3.2' ki: '278B899D126C31F3B24D21E3EB556530' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'gprs', 'sim'] + features: ['2g', 'sms', 'voice', 'ussd', 'gprs', 'sim'] - label: ec20_3 path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.3/1-5.3.3' ki: 'B43BBCD8DE4D594F4146DE3D8ADC589D' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'gprs', 'sim'] + features: ['2g', 'sms', 'voice', 'ussd', 'gprs', 'sim'] - label: ec20_4 path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.3/1-5.3.5' ki: 'A41F06F39DE3B0295C178A674D3E3636' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'gprs', 'sim'] + features: ['2g', 'sms', 'voice', 'ussd', 'gprs', 'sim'] - label: ec20_5 path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.3/1-5.3.6' ki: '8CCBE85A62C6DC7AC2A9886F4BBC3146' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'gprs', 'sim'] + features: ['2g', 'sms', 'voice', 'ussd', 'gprs', 'sim'] - label: srsUE-zmq_1 type: srsue @@ -257,6 +257,7 @@ imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' + features: ['4g'] - label: srsUE-soapy-lms_1 type: srsue @@ -267,6 +268,7 @@ imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' + features: ['4g'] osmocon_phone: - serial_device: '/dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_00897B41-if00-port0' diff --git a/example/resources.conf.rnd b/example/resources.conf.rnd index 5358a61..4ce39d1 100644 --- a/example/resources.conf.rnd +++ b/example/resources.conf.rnd @@ -74,28 +74,28 @@ ki: '80A37E6FDEA931EAC92FFA5F671EFEAD' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'sim'] + features: ['2g', 'sms', 'voice', 'ussd', 'sim'] - label: sierra_2nd path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.3' ki: '00969E283349D354A8239E877F2E0866' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'sim'] + features: ['2g', 'sms', 'voice', 'ussd', 'sim'] - label: ec20_1 path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.6' ki: 'BB70807226393CDBAC8DD3439FF54252' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'gprs', 'sim'] + features: ['2g', 'sms', 'voice', 'ussd', 'gprs', 'sim'] - label: ec20_2 path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.5' ki: '2F70DCA43C45ACB97E947FDD0C7CA30A' auth_algo: 'comp128v1' ciphers: [a5_0, a5_1] - features: ['sms', 'voice', 'ussd', 'gprs', 'sim'] + features: ['2g', 'sms', 'voice', 'ussd', 'gprs', 'sim'] osmocon_phone: - serial_device: '/dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_0089279D-if00-port0' diff --git a/src/osmo_gsm_tester/schema.py b/src/osmo_gsm_tester/schema.py index 85c5fd6..e9d1411 100644 --- a/src/osmo_gsm_tester/schema.py +++ b/src/osmo_gsm_tester/schema.py @@ -95,7 +95,7 @@ raise ValueError('Unknown Cipher value: %r' % val) def modem_feature(val): - if val in ('sms', 'gprs', 'voice', 'ussd', 'sim'): + if val in ('sms', 'gprs', 'voice', 'ussd', 'sim', '2g', '3g', '4g'): return raise ValueError('Unknown Modem Feature: %r' % val) diff --git a/suites/4g/suite.conf b/suites/4g/suite.conf index c1086bc..e439e99 100644 --- a/suites/4g/suite.conf +++ b/suites/4g/suite.conf @@ -5,7 +5,8 @@ - times: 1 modem: - times: 1 - type: srsue + features: + - 4g defaults: timeout: 180s -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17713 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: I38bcf6abf789f52c3ed0bee7911567fa872e2491 Gerrit-Change-Number: 17713 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Fri Apr 3 20:26:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 20:26:00 +0000 Subject: Change in osmo-gsm-tester[master]: schema: add missing modem feature 4g to list of valid features In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17717 ) Change subject: schema: add missing modem feature 4g to list of valid features ...................................................................... Patch Set 1: Done in https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17713 I somehow thought I had merged it but I didn't, sorry for that. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17717 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: I998e507e08e6c0434b17b986090582347210dd85 Gerrit-Change-Number: 17717 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 03 Apr 2020 20:26: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 Fri Apr 3 20:26:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 3 Apr 2020 20:26:03 +0000 Subject: Change in osmo-gsm-tester[master]: schema: add missing modem feature 4g to list of valid features In-Reply-To: References: Message-ID: pespin has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17717 ) Change subject: schema: add missing modem feature 4g to list of valid features ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17717 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: I998e507e08e6c0434b17b986090582347210dd85 Gerrit-Change-Number: 17717 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Apr 4 01:24:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 4 Apr 2020 01:24:40 +0000 Subject: Change in osmo-pcu[master]: RLC/MAC: implement decoding of [EGPRS] Packet Channel Request References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17718 ) Change subject: RLC/MAC: implement decoding of [EGPRS] Packet Channel Request ...................................................................... RLC/MAC: implement decoding of [EGPRS] Packet Channel Request According to 3GPP TS 44.004, section 7.4a, two alternative RACH block formats are specified: 8 bit (1 octet) and 11 bit. This change implements decoding of the following messages: - Packet Channel Request, 11 bit block format (table 11.2.5.1), - Packet Channel Request, 8 bit block format (table 11.2.5.2), and - EGPRS Packet Channel Request, 11 bit block format (table 11.2.5a.2) as specified in 3GPP TS 44.060. Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Related: OS#1548 --- M src/gsm_rlcmac.c M src/gsm_rlcmac.h M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 5 files changed, 475 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/18/17718/1 diff --git a/src/gsm_rlcmac.c b/src/gsm_rlcmac.c index 9b5ecfe..2caf4f0 100644 --- a/src/gsm_rlcmac.c +++ b/src/gsm_rlcmac.c @@ -5249,6 +5249,159 @@ CSN_DESCR_END (SI6_RestOctet_t) #endif +/* Common (unified) fields for [EGPRS] Packet Channel Request + * (see 3GPP TS 44.060, tables 11.2.5.1, 11.2.5.2, and 11.2.5a.2) */ +static const +CSN_DESCR_BEGIN(PacketChannelRequest_MC5P2RB3_t) + M_UINT (PacketChannelRequest_MC5P2RB3_t, MultislotClass, 5), + M_UINT (PacketChannelRequest_MC5P2RB3_t, Priority, 2), + M_UINT (PacketChannelRequest_MC5P2RB3_t, RandomBits, 3), +CSN_DESCR_END (PacketChannelRequest_MC5P2RB3_t) + +static const +CSN_DESCR_BEGIN(PacketChannelRequest_MC5RB2_t) + M_UINT (PacketChannelRequest_MC5RB2_t, MultislotClass, 5), + M_UINT (PacketChannelRequest_MC5RB2_t, RandomBits, 2), +CSN_DESCR_END (PacketChannelRequest_MC5RB2_t) + +static const +CSN_DESCR_BEGIN(PacketChannelRequest_MCG3P2RB3_t) + M_UINT (PacketChannelRequest_MCG3P2RB3_t, MultislotClassGroup, 3), + M_UINT (PacketChannelRequest_MCG3P2RB3_t, Priority, 2), + M_UINT (PacketChannelRequest_MCG3P2RB3_t, RandomBits, 3), +CSN_DESCR_END (PacketChannelRequest_MCG3P2RB3_t) + +static const +CSN_DESCR_BEGIN(PacketChannelRequest_NOB3P2RB3_t) + M_UINT (PacketChannelRequest_NOB3P2RB3_t, NumberOfBlocks, 3), + M_UINT (PacketChannelRequest_NOB3P2RB3_t, Priority, 2), + M_UINT (PacketChannelRequest_NOB3P2RB3_t, RandomBits, 3), +CSN_DESCR_END (PacketChannelRequest_NOB3P2RB3_t) + +static const +CSN_DESCR_BEGIN(PacketChannelRequest_NOB3RB3_t) + M_UINT (PacketChannelRequest_NOB3RB3_t, NumberOfBlocks, 3), + M_UINT (PacketChannelRequest_NOB3RB3_t, RandomBits, 3), +CSN_DESCR_END (PacketChannelRequest_NOB3RB3_t) + +static const +CSN_DESCR_BEGIN(PacketChannelRequest_P2RB3_t) + M_UINT (PacketChannelRequest_P2RB3_t, Priority, 2), + M_UINT (PacketChannelRequest_P2RB3_t, RandomBits, 3), +CSN_DESCR_END (PacketChannelRequest_P2RB3_t) + +static const +CSN_DESCR_BEGIN(PacketChannelRequest_RB5_t) + M_UINT (PacketChannelRequest_RB5_t, RandomBits, 5), +CSN_DESCR_END (PacketChannelRequest_RB5_t) + +static const +CSN_DESCR_BEGIN(PacketChannelRequest_RB3_t) + M_UINT (PacketChannelRequest_RB3_t, RandomBits, 3), +CSN_DESCR_END (PacketChannelRequest_RB3_t) + +static const +CSN_DESCR_BEGIN(PacketChannelRequest_RB2_t) + M_UINT (PacketChannelRequest_RB2_t, RandomBits, 2), +CSN_DESCR_END (PacketChannelRequest_RB2_t) + +/* Packet Channel Request (11 bit block, see table 11.2.5.1) */ +static const +CSN_ChoiceElement_t PacketChannelRequest_11b_Choice[] = +{ + {1, 0x00, 0, M_TYPE(PacketChannelRequest_11b_t, u.OnePhase, + PacketChannelRequest_MC5P2RB3_t)}, + {3, 0x04, 0, M_TYPE(PacketChannelRequest_11b_t, u.Short, + PacketChannelRequest_NOB3P2RB3_t)}, + {6, 0x30, 0, M_TYPE(PacketChannelRequest_11b_t, u.TwoPhase, + PacketChannelRequest_P2RB3_t)}, + {6, 0x31, 0, M_TYPE(PacketChannelRequest_11b_t, u.PageResponse, + PacketChannelRequest_RB5_t)}, + {6, 0x32, 0, M_TYPE(PacketChannelRequest_11b_t, u.CellUpdate, + PacketChannelRequest_RB5_t)}, + {6, 0x33, 0, M_TYPE(PacketChannelRequest_11b_t, u.MMProcedure, + PacketChannelRequest_RB5_t)}, + {6, 0x34, 0, M_TYPE(PacketChannelRequest_11b_t, u.SingleBlockNoTBF, + PacketChannelRequest_RB5_t)}, + {6, 0x35, 0, M_TYPE(PacketChannelRequest_11b_t, u.OnePhaseUnack, + PacketChannelRequest_RB5_t)}, + {6, 0x36, 0, M_TYPE(PacketChannelRequest_11b_t, u.DedicatedChannel, + PacketChannelRequest_RB5_t)}, + {6, 0x37, 0, M_TYPE(PacketChannelRequest_11b_t, u.EmergencyCall, + PacketChannelRequest_RB5_t)}, + {6, 0x38, 0, M_TYPE(PacketChannelRequest_11b_t, u.SingleBlockMBMS, + PacketChannelRequest_RB5_t)}, +}; + +CSN_DESCR_BEGIN (PacketChannelRequest_11b_t) + M_CHOICE (PacketChannelRequest_11b_t, Type, + PacketChannelRequest_11b_Choice, ElementsOf(PacketChannelRequest_11b_Choice)), +CSN_DESCR_END (PacketChannelRequest_11b_t) + +/* Packet Channel Request (8 bit block, see table 11.2.5.2) */ +static const +CSN_ChoiceElement_t PacketChannelRequest_8b_Choice[] = +{ + {1, 0x01, 0, M_TYPE(PacketChannelRequest_8b_t, u.OnePhase, + PacketChannelRequest_MC5RB2_t)}, + {2, 0x00, 0, M_TYPE(PacketChannelRequest_8b_t, u.Short, + PacketChannelRequest_NOB3RB3_t)}, + {5, 0x08, 0, M_TYPE(PacketChannelRequest_8b_t, u.TwoPhase, + PacketChannelRequest_RB3_t)}, + {5, 0x09, 0, M_TYPE(PacketChannelRequest_8b_t, u.PageResponse, + PacketChannelRequest_RB3_t)}, + {5, 0x0a, 0, M_TYPE(PacketChannelRequest_8b_t, u.CellUpdate, + PacketChannelRequest_RB3_t)}, + {5, 0x0b, 0, M_TYPE(PacketChannelRequest_8b_t, u.MMProcedure, + PacketChannelRequest_RB3_t)}, + {5, 0x0c, 0, M_TYPE(PacketChannelRequest_8b_t, u.SingleBlockNoTBF, + PacketChannelRequest_RB3_t)}, + {6, 0x1a, 0, M_TYPE(PacketChannelRequest_8b_t, u.OnePhaseUnack, + PacketChannelRequest_RB2_t)}, + {6, 0x1b, 0, M_TYPE(PacketChannelRequest_8b_t, u.DedicatedChannel, + PacketChannelRequest_RB2_t)}, + {6, 0x1c, 0, M_TYPE(PacketChannelRequest_8b_t, u.EmergencyCall, + PacketChannelRequest_RB2_t)}, + {5, 0x0f, 0, M_TYPE(PacketChannelRequest_8b_t, u.SingleBlockMBMS, + PacketChannelRequest_RB3_t)}, +}; + +CSN_DESCR_BEGIN (PacketChannelRequest_8b_t) + M_CHOICE (PacketChannelRequest_8b_t, Type, + PacketChannelRequest_8b_Choice, ElementsOf(PacketChannelRequest_8b_Choice)), +CSN_DESCR_END (PacketChannelRequest_8b_t) + +/* EGPRS Packet Channel Request (11 bit block, see table 11.2.5a.2) */ +static const +CSN_ChoiceElement_t EGPRS_PacketChannelRequest_Choice[] = +{ + {1, 0x00, 0, M_TYPE(EGPRS_PacketChannelRequest_t, u.OnePhase, + PacketChannelRequest_MC5P2RB3_t)}, + {3, 0x04, 0, M_TYPE(EGPRS_PacketChannelRequest_t, u.Short, + PacketChannelRequest_NOB3P2RB3_t)}, + {3, 0x05, 0, M_TYPE(EGPRS_PacketChannelRequest_t, u.OnePhaseRedLatency, + PacketChannelRequest_MCG3P2RB3_t)}, + {6, 0x30, 0, M_TYPE(EGPRS_PacketChannelRequest_t, u.TwoPhase, + PacketChannelRequest_P2RB3_t)}, + {6, 0x33, 0, M_TYPE(EGPRS_PacketChannelRequest_t, u.Signalling, + PacketChannelRequest_RB5_t)}, + {6, 0x35, 0, M_TYPE(EGPRS_PacketChannelRequest_t, u.OnePhaseUnack, + PacketChannelRequest_RB5_t)}, + {6, 0x36, 0, M_TYPE(EGPRS_PacketChannelRequest_t, u.DedicatedChannel, + PacketChannelRequest_RB5_t)}, + {6, 0x37, 0, M_TYPE(EGPRS_PacketChannelRequest_t, u.EmergencyCall, + PacketChannelRequest_RB5_t)}, + {6, 0x38, 0, M_TYPE(EGPRS_PacketChannelRequest_t, u.TwoPhaseIPA, + PacketChannelRequest_P2RB3_t)}, + {6, 0x39, 0, M_TYPE(EGPRS_PacketChannelRequest_t, u.SignallingIPA, + PacketChannelRequest_RB5_t)}, +}; + +CSN_DESCR_BEGIN (EGPRS_PacketChannelRequest_t) + M_CHOICE (EGPRS_PacketChannelRequest_t, Type, + EGPRS_PacketChannelRequest_Choice, ElementsOf(EGPRS_PacketChannelRequest_Choice)), +CSN_DESCR_END (EGPRS_PacketChannelRequest_t) + // ---------------------------------------------------------------------------- // osmo-pcu RLCMAC APIs // ---------------------------------------------------------------------------- @@ -6153,3 +6306,54 @@ return ret; } + +int decode_pkt_ch_req(guint16 ra, PacketChannelRequest_t *req) +{ + const CSN_DESCR *descr; + unsigned readIndex = 0; + guint8 bv_data[2]; + csnStream_t ar; + int ret; + + /* Allocate a bitvector on stack */ + struct bitvec bv = { + .cur_bit = 0, + .data_len = 2, + .data = bv_data, + }; + + switch (req->type) { + case GSM_RLCMAC_PKT_CH_REQ_GPRS_11B: + case GSM_RLCMAC_PKT_CH_REQ_EGPRS: + /* Unpack the bits: xxxxxxxx xxx..... */ + bv_data[0] = (guint8) (ra >> 3); + bv_data[1] = (guint8) ((ra & 0x07) << 5); + + if (req->type == GSM_RLCMAC_PKT_CH_REQ_EGPRS) + descr = CSNDESCR(EGPRS_PacketChannelRequest_t); + else + descr = CSNDESCR(PacketChannelRequest_11b_t); + + csnStreamInit(&ar, 0, 11); + break; + case GSM_RLCMAC_PKT_CH_REQ_GPRS_8B: + /* Unpack the bits: xxxxxxxx ........ */ + bv_data[0] = (guint8) (ra & 0xff); + + descr = CSNDESCR(PacketChannelRequest_8b_t); + csnStreamInit(&ar, 0, 8); + break; + + default: + /* Type must be set by the caller */ + OSMO_ASSERT(0); + } + + /* Recursive csnStreamDecoder call uses LOGPC everywhere, so we need to start the log somewhere... */ + LOGP(DCSN1, LOGL_INFO, "csnStreamDecoder (%sPacket Channel Request): ", + req->type == GSM_RLCMAC_PKT_CH_REQ_EGPRS ? "EGPRS " : ""); + ret = csnStreamDecoder(&ar, descr, &bv, &readIndex, (void *) &req->u); + LOGPC(DCSN1, LOGL_INFO, "\n"); + + return ret; +} diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index e9ae20a..d2fac1f 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -5330,6 +5330,125 @@ } EnhancedMeasurementReport_t; +/* Common (unified) fields for [EGPRS] Packet Channel Request + * (see 3GPP TS 44.060, tables 11.2.5.1, 11.2.5.2, and 11.2.5a.2) */ +typedef struct { + guint8 MultislotClass; + guint8 Priority; + guint8 RandomBits; +} PacketChannelRequest_MC5P2RB3_t; + +typedef struct { + guint8 MultislotClass; + guint8 RandomBits; +} PacketChannelRequest_MC5RB2_t; + +typedef struct { + guint8 MultislotClassGroup; + guint8 Priority; + guint8 RandomBits; +} PacketChannelRequest_MCG3P2RB3_t; + +typedef struct { + guint8 NumberOfBlocks; + guint8 Priority; + guint8 RandomBits; +} PacketChannelRequest_NOB3P2RB3_t; + +typedef struct { + guint8 NumberOfBlocks; + guint8 RandomBits; +} PacketChannelRequest_NOB3RB3_t; + +typedef struct { + guint8 Priority; + guint8 RandomBits; +} PacketChannelRequest_P2RB3_t; + +struct PacketChannelRequest_RB235_t { + guint8 RandomBits; +}; + +typedef struct PacketChannelRequest_RB235_t PacketChannelRequest_RB5_t; +typedef struct PacketChannelRequest_RB235_t PacketChannelRequest_RB3_t; +typedef struct PacketChannelRequest_RB235_t PacketChannelRequest_RB2_t; + +/* Packet Channel Request (11 bit block, see table 11.2.5.1) */ +typedef struct +{ + guint8 Type; + union + { + PacketChannelRequest_MC5P2RB3_t OnePhase; + PacketChannelRequest_NOB3P2RB3_t Short; + PacketChannelRequest_P2RB3_t TwoPhase; + PacketChannelRequest_RB5_t PageResponse; + PacketChannelRequest_RB5_t CellUpdate; + PacketChannelRequest_RB5_t MMProcedure; + PacketChannelRequest_RB5_t SingleBlockNoTBF; + PacketChannelRequest_RB5_t OnePhaseUnack; + PacketChannelRequest_RB5_t DedicatedChannel; + PacketChannelRequest_RB5_t EmergencyCall; + PacketChannelRequest_RB5_t SingleBlockMBMS; + } u; +} PacketChannelRequest_11b_t; + +/* Packet Channel Request (8 bit block, see table 11.2.5.2) */ +typedef struct +{ + guint8 Type; + union + { + PacketChannelRequest_MC5RB2_t OnePhase; + PacketChannelRequest_NOB3RB3_t Short; + PacketChannelRequest_RB3_t TwoPhase; + PacketChannelRequest_RB3_t PageResponse; + PacketChannelRequest_RB3_t CellUpdate; + PacketChannelRequest_RB3_t MMProcedure; + PacketChannelRequest_RB3_t SingleBlockNoTBF; + PacketChannelRequest_RB2_t OnePhaseUnack; + PacketChannelRequest_RB2_t DedicatedChannel; + PacketChannelRequest_RB2_t EmergencyCall; + PacketChannelRequest_RB3_t SingleBlockMBMS; + } u; +} PacketChannelRequest_8b_t; + +/* EGPRS Packet Channel Request (11 bit block, see table 11.2.5a.2) */ +typedef struct +{ + guint8 Type; + union + { + PacketChannelRequest_MC5P2RB3_t OnePhase; + PacketChannelRequest_NOB3P2RB3_t Short; + PacketChannelRequest_MCG3P2RB3_t OnePhaseRedLatency; + PacketChannelRequest_P2RB3_t TwoPhase; + PacketChannelRequest_RB5_t Signalling; + PacketChannelRequest_RB5_t OnePhaseUnack; + PacketChannelRequest_RB5_t DedicatedChannel; + PacketChannelRequest_RB5_t EmergencyCall; + PacketChannelRequest_P2RB3_t TwoPhaseIPA; + PacketChannelRequest_RB5_t SignallingIPA; + } u; +} EGPRS_PacketChannelRequest_t; + +/* Union of all possible Packet Channel Request types */ +typedef struct +{ + enum { + GSM_RLCMAC_PKT_CH_REQ_UNKNOWN = 0, + GSM_RLCMAC_PKT_CH_REQ_GPRS_11B, + GSM_RLCMAC_PKT_CH_REQ_GPRS_8B, + GSM_RLCMAC_PKT_CH_REQ_EGPRS, + } type; + union + { + PacketChannelRequest_11b_t gprs_11b; + PacketChannelRequest_8b_t gprs_8b; + EGPRS_PacketChannelRequest_t egprs; + } u; +} PacketChannelRequest_t; + int decode_gsm_rlcmac_uplink(struct bitvec *vector, RlcMacUplink_t *data); int decode_gsm_rlcmac_downlink(struct bitvec *vector, RlcMacDownlink_t *data); int encode_gsm_rlcmac_downlink(struct bitvec *vector, RlcMacDownlink_t *data); @@ -5337,4 +5456,6 @@ void decode_gsm_rlcmac_uplink_data(struct bitvec *vector, RlcMacUplinkDataBlock_t * data); void encode_gsm_rlcmac_downlink_data(struct bitvec *vector, RlcMacDownlinkDataBlock_t * data); int decode_gsm_ra_cap(struct bitvec *vector, MS_Radio_Access_capability_t * data); + int decode_pkt_ch_req(guint16 ra, PacketChannelRequest_t *data); + #endif /* __PACKET_GSM_RLCMAC_H__ */ diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index 0215cc8..fb5dbb5 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -471,6 +471,118 @@ bitvec_free(bv_dec); } +void testPktChReqGPRS(void *test_ctx) +{ + PacketChannelRequest_t req; + int rc; + + printf("*** %s ***\n", __func__); + + static const uint16_t GPRSPktCh11bReqs[] = { + /* < One Phase Access Request : '0'B + < MultislotClass : '01010'B > + < Priority : '10'B > + < RandomBits : '101'B > > */ + 0x155, + /* < Short Access Request : '100'B + < NumberOfBlocks : '101'B > + < Priority : '10'B > + < RandomBits : '010'B > > */ + 0x4b2, + /* < Two Phase Access Request : '110000'B + < Priority : '11'B > + < RandomBits : '000'B > > */ + 0x618, + /* < MM Procedure : '110011'B + < RandomBits : '11001'B > > */ + 0x679, + }; + + /* Indicate block type to decode_pkt_ch_req() */ + req.type = PacketChannelRequest_t::GSM_RLCMAC_PKT_CH_REQ_GPRS_11B; + + for (size_t i = 0; i < ARRAY_SIZE(GPRSPktCh11bReqs); i++) { + rc = decode_pkt_ch_req(GPRSPktCh11bReqs[i], &req); + printf("decode_pkt_ch_req(0x%03x) returns %d\n", GPRSPktCh11bReqs[i], rc); + } + + static const uint16_t GPRSPktCh8bReqs[] = { + /* < One Phase Access Request : '1'B + < MultislotClass : '01010'B > + < RandomBits : '10'B > > */ + 0xaa, + /* < Short Access Request : '00'B + < NumberOfBlocks : '101'B > + < RandomBits : '010'B > > */ + 0x2a, + /* < Two Phase Access Request : '01000'B + < RandomBits : '010'B > > */ + 0x42, + /* < Emergency call : '011100'B + < RandomBits : '11'B > > */ + 0x73, + }; + + /* Indicate block type to decode_pkt_ch_req() */ + req.type = PacketChannelRequest_t::GSM_RLCMAC_PKT_CH_REQ_GPRS_8B; + + for (size_t i = 0; i < ARRAY_SIZE(GPRSPktCh8bReqs); i++) { + rc = decode_pkt_ch_req(GPRSPktCh8bReqs[i], &req); + printf("decode_pkt_ch_req(0x%02x) returns %d\n", GPRSPktCh8bReqs[i], rc); + } +} + +void testPktChReqEGPRS(void *test_ctx) +{ + PacketChannelRequest_t req; + int rc; + + printf("*** %s ***\n", __func__); + + static const uint16_t EGPRSPktChReqs[] = { + /* < One Phase Access Request : '0'B + < MultislotClass : '10101'B > + < Priority : '10'B > + < RandomBits : '101'B > > */ + 0x2b5, + /* < One Phase Access Request : '0'B + < MultislotClass : '01010'B > + < Priority : '01'B > + < RandomBits : '010'B > > */ + 0x14a, + /* < Short Access Request : '100'B + < NumberOfBlocks : '001'B > + < Priority : '01'B > + < RandomBits : '000'B > > */ + 0x428, + /* < Two Phase Access Request : '110000'B + < Priority : '00'B > + < RandomBits : '000'B > > */ + 0x600, + /* < Two Phase Access Request : '110000'B + < Priority : '11'B > + < RandomBits : '111'B > > */ + 0x61f, + /* < Signalling : '110011'B + < RandomBits : '10101'B > > */ + 0x675, + /* < Signalling : '110011'B + < RandomBits : '10001'B > > */ + 0x671, + /* < Emergency call : '110111'B + < RandomBits : '11001'B > > */ + 0x6f9, + }; + + /* Indicate block type to decode_pkt_ch_req() */ + req.type = PacketChannelRequest_t::GSM_RLCMAC_PKT_CH_REQ_EGPRS; + + for (size_t i = 0; i < ARRAY_SIZE(EGPRSPktChReqs); i++) { + rc = decode_pkt_ch_req(EGPRSPktChReqs[i], &req); + printf("decode_pkt_ch_req(0x%03x) returns %d\n", EGPRSPktChReqs[i], rc); + } +} + int main(int argc, char *argv[]) { void *ctx = talloc_named_const(NULL, 1, "RLCMACTest"); @@ -490,5 +602,9 @@ testRAcap(ctx); testMalformedRAcap(ctx); testRAcap2(ctx); + + testPktChReqGPRS(ctx); + testPktChReqEGPRS(ctx); + talloc_free(ctx); } diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index c271e5c..469ec9e 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -37,3 +37,19 @@ DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 21 | offset = 4 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | DCSN1 ERROR csnStreamDecoder: error NEED_MORE BITS TO UNPACK (-5) at EGPRS_multislot_class (idx 31): End Multislot_capability | DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 29 | offset = 4 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 0 | EGPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 0 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = NULL | UMTS_FDD_Radio_Access_Technology_Capability = NULL | UMTS_384_TDD_Radio_Access_Technology_Capability = NULL | CDMA2000_Radio_Access_Technology_Capability = NULL | UMTS_128_TDD_Radio_Access_Technology_Capability = NULL | GERAN_Feature_Package_1 = NULL | Modulation_based_multislot_class_support = NULL | GMSK_MultislotPowerProfile = NULL | EightPSK_MultislotProfile = NULL | MultipleTBF_Capability = NULL | DownlinkAdvancedReceiverPerformance = NULL | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = NULL | DTM_EnhancementsCapability = NULL | PS_HandoverCapability = NULL | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | Padding = 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 73 | offset = 4 | RF_Power_Capability = 4 | Exist_A5_bits = 1 | A5_bits = 80 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 12 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 1 | SMS_VALUE = 7 | SM_VALUE = 1 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 12 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 1 | DTM_GPRS_multislot_class = 3 | Single_Slot_DTM = 0 | : DTM_EGPRS_Params | Exist_DTM_EGPRS_multislot_class = 1 | DTM_EGPRS_multislot_class = 3 | : End DTM_EGPRS_Params | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 7 | u.Content length = 34 | offset = 4 | RF_Power_Capability = 4 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 0 | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 3 | u.Content length = 34 | offset = 4 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 0 | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | Padding = 0| +DCSN1 INFO csnStreamDecoder (Packet Channel Request): Choice PacketChannelRequest_11b_Choice = 0 | : u.OnePhase | MultislotClass = 10 | Priority = 2 | RandomBits = 5 | : End u.OnePhase | +DCSN1 INFO csnStreamDecoder (Packet Channel Request): Choice PacketChannelRequest_11b_Choice = 4 | : u.Short | NumberOfBlocks = 5 | Priority = 2 | RandomBits = 2 | : End u.Short | +DCSN1 INFO csnStreamDecoder (Packet Channel Request): Choice PacketChannelRequest_11b_Choice = 48 | : u.TwoPhase | Priority = 3 | RandomBits = 0 | : End u.TwoPhase | +DCSN1 INFO csnStreamDecoder (Packet Channel Request): Choice PacketChannelRequest_11b_Choice = 51 | : u.MMProcedure | RandomBits = 25 | : End u.MMProcedure | +DCSN1 INFO csnStreamDecoder (Packet Channel Request): Choice PacketChannelRequest_8b_Choice = 1 | : u.OnePhase | MultislotClass = 10 | RandomBits = 2 | : End u.OnePhase | +DCSN1 INFO csnStreamDecoder (Packet Channel Request): Choice PacketChannelRequest_8b_Choice = 0 | : u.Short | NumberOfBlocks = 5 | RandomBits = 2 | : End u.Short | +DCSN1 INFO csnStreamDecoder (Packet Channel Request): Choice PacketChannelRequest_8b_Choice = 8 | : u.TwoPhase | RandomBits = 2 | : End u.TwoPhase | +DCSN1 INFO csnStreamDecoder (Packet Channel Request): Choice PacketChannelRequest_8b_Choice = 28 | : u.EmergencyCall | RandomBits = 3 | : End u.EmergencyCall | +DCSN1 INFO csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 0 | : u.OnePhase | MultislotClass = 21 | Priority = 2 | RandomBits = 5 | : End u.OnePhase | +DCSN1 INFO csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 0 | : u.OnePhase | MultislotClass = 10 | Priority = 1 | RandomBits = 2 | : End u.OnePhase | +DCSN1 INFO csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 4 | : u.Short | NumberOfBlocks = 1 | Priority = 1 | RandomBits = 0 | : End u.Short | +DCSN1 INFO csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 48 | : u.TwoPhase | Priority = 0 | RandomBits = 0 | : End u.TwoPhase | +DCSN1 INFO csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 48 | : u.TwoPhase | Priority = 3 | RandomBits = 7 | : End u.TwoPhase | +DCSN1 INFO csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 51 | : u.Signalling | RandomBits = 21 | : End u.Signalling | +DCSN1 INFO csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 51 | : u.Signalling | RandomBits = 17 | : End u.Signalling | +DCSN1 INFO csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 55 | : u.EmergencyCall | RandomBits = 25 | : End u.EmergencyCall | diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index 4e4967b..52db8f7 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -149,3 +149,21 @@ decode_gsm_ra_cap() returns 0 GPRS multislot class = 12 EGPRS multislot class = 12 +*** testPktChReqGPRS *** +decode_pkt_ch_req(0x155) returns 0 +decode_pkt_ch_req(0x4b2) returns 0 +decode_pkt_ch_req(0x618) returns 0 +decode_pkt_ch_req(0x679) returns 0 +decode_pkt_ch_req(0xaa) returns 0 +decode_pkt_ch_req(0x2a) returns 0 +decode_pkt_ch_req(0x42) returns 0 +decode_pkt_ch_req(0x73) returns 0 +*** testPktChReqEGPRS *** +decode_pkt_ch_req(0x2b5) returns 0 +decode_pkt_ch_req(0x14a) returns 0 +decode_pkt_ch_req(0x428) returns 0 +decode_pkt_ch_req(0x600) returns 0 +decode_pkt_ch_req(0x61f) returns 0 +decode_pkt_ch_req(0x675) returns 0 +decode_pkt_ch_req(0x671) returns 0 +decode_pkt_ch_req(0x6f9) returns 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Gerrit-Change-Number: 17718 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 Apr 4 12:46:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 4 Apr 2020 12:46:09 +0000 Subject: Change in osmo-pcu[master]: RLC/MAC: implement decoding of [EGPRS] Packet Channel Request In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17718 ) Change subject: RLC/MAC: implement decoding of [EGPRS] Packet Channel Request ...................................................................... Patch Set 1: (5 comments) Are you planning to submit similar to wireshark? https://gerrit.osmocom.org/c/osmo-pcu/+/17718/1/src/gsm_rlcmac.c File src/gsm_rlcmac.c: https://gerrit.osmocom.org/c/osmo-pcu/+/17718/1/src/gsm_rlcmac.c at 5337 PS1, Line 5337: M_CHOICE (PacketChannelRequest_11b_t, Type, I think you need to first parse Type, or are you doing it somewhere else? See for instance: CSN_DESCR_BEGIN(IA_EGPRS_t) M_UINT (IA_EGPRS_t, UnionType , 1 ), M_CHOICE (IA_EGPRS_t, UnionType, IA_EGPRS_Choice, ElementsOf(IA_EGPRS_Choice)), CSN_DESCR_END (IA_EGPRS_t) https://gerrit.osmocom.org/c/osmo-pcu/+/17718/1/src/gsm_rlcmac.c at 6319 PS1, Line 6319: struct bitvec bv = { If we have an API to allocate better use that, in order not to assume implementation details. https://gerrit.osmocom.org/c/osmo-pcu/+/17718/1/src/gsm_rlcmac.c at 6325 PS1, Line 6325: switch (req->type) { In decode functions afaik the data structure is memzeroes by default. I'd rather pass this type as a differnet param if needed, and assign it here. https://gerrit.osmocom.org/c/osmo-pcu/+/17718/1/src/gsm_rlcmac.c at 6333 PS1, Line 6333: descr = CSNDESCR(EGPRS_PacketChannelRequest_t); Better have one function for each initial csnStreamInit like we do with others. https://gerrit.osmocom.org/c/osmo-pcu/+/17718/1/tests/rlcmac/RLCMACTest.cpp File tests/rlcmac/RLCMACTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/17718/1/tests/rlcmac/RLCMACTest.cpp at 481 PS1, Line 481: static const uint16_t GPRSPktCh11bReqs[] = { Did you think about implementing encoding and using the struct and pass it to the encoder then to the decoder? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Gerrit-Change-Number: 17718 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 04 Apr 2020 12:46: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 Sat Apr 4 13:32:01 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 4 Apr 2020 13:32:01 +0000 Subject: Change in osmo-bts[master]: scheduler: always call Uplink burst handler on NOPE.ind In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2) to the change originally created by dexter. ( https://gerrit.osmocom.org/c/osmo-bts/+/17539 ) Change subject: scheduler: always call Uplink burst handler on NOPE.ind ...................................................................... scheduler: always call Uplink burst handler on NOPE.ind When a NOPE indication is received from the TRX normally a separate handler (.nope_fn) is called. It turned out that calling the Uplink handler (.ul_fn) on NOPE indications is the usual case, so let's remove the .nope_fn member and call the Uplink handler directly. Since a NOPE.ind comes without burst bits, the Uplink handlers must check bi->burst_len to avoid uninitialized memory access. For some logical channels (in particular RACH, PDTCH/U, and PTCCH/U) it does not make sense to call the Uplink handler, so we ignore them. Change-Id: Ice45d5986610d9bcef2a7e41f0a395ec779e3928 Related: OS#4461 --- M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c 2 files changed, 11 insertions(+), 36 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/39/17539/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice45d5986610d9bcef2a7e41f0a395ec779e3928 Gerrit-Change-Number: 17539 Gerrit-PatchSet: 2 Gerrit-Owner: dexter 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 Sat Apr 4 14:12:07 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 4 Apr 2020 14:12:07 +0000 Subject: Change in osmo-pcu[master]: RLC/MAC: implement decoding of [EGPRS] Packet Channel Request In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17718 ) Change subject: RLC/MAC: implement decoding of [EGPRS] Packet Channel Request ...................................................................... Patch Set 1: (5 comments) > Are you planning to submit similar to wireshark? Yes, as soon as I find time for that... https://gerrit.osmocom.org/c/osmo-pcu/+/17718/1/src/gsm_rlcmac.c File src/gsm_rlcmac.c: https://gerrit.osmocom.org/c/osmo-pcu/+/17718/1/src/gsm_rlcmac.c at 5337 PS1, Line 5337: M_CHOICE (PacketChannelRequest_11b_t, Type, > I think you need to first parse Type, or are you doing it somewhere else? See for instance: [?] Actually M_CHOICE does parsing for us, check out 'case CSN_CHOICE' in csnStreamDecoder(). The definition of IA_EGPRS_t looks wrong to me. None of the other definitions is using M_CHOICE like that. https://gerrit.osmocom.org/c/osmo-pcu/+/17718/1/src/gsm_rlcmac.c at 6319 PS1, Line 6319: struct bitvec bv = { > If we have an API to allocate better use that, in order not to assume implementation details. Lifetime of this structure is limited by the execution scope of this function, so I don't think we really need to allocate it on heap just because we have an API for that. Moreover, this is not the only place where a bitvector is allocated on stack, there is at least one such allocation in libosmocore and one more in osmo-pcu. https://gerrit.osmocom.org/c/osmo-pcu/+/17718/1/src/gsm_rlcmac.c at 6325 PS1, Line 6325: switch (req->type) { > In decode functions afaik the data structure is memzeroes by default. [?] You mean other decoding functions in this file or csnStreamDecoder()? The later does not zero-initialize the structure, and that's nice because we can catch bugs with AddressSanitizer or Valgrind. As you probably know, I am against using zero-initialization without the real need for that. https://gerrit.osmocom.org/c/osmo-pcu/+/17718/1/src/gsm_rlcmac.c at 6333 PS1, Line 6333: descr = CSNDESCR(EGPRS_PacketChannelRequest_t); > Better have one function for each initial csnStreamInit like we do with others. Why is it better? What would we benefit? https://gerrit.osmocom.org/c/osmo-pcu/+/17718/1/tests/rlcmac/RLCMACTest.cpp File tests/rlcmac/RLCMACTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/17718/1/tests/rlcmac/RLCMACTest.cpp at 481 PS1, Line 481: static const uint16_t GPRSPktCh11bReqs[] = { > Did you think about implementing encoding and using the struct and pass it to the encoder then to th [?] Since we're on the BTS/PCU side, we never need to encode RACH blocks on practice. So I think it's worthless to add encoding API just for a unit test. I am happy with decoding results. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Gerrit-Change-Number: 17718 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 04 Apr 2020 14:12: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 Sat Apr 4 16:59:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 4 Apr 2020 16:59:04 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: Remove 'nat' from logging References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17719 ) Change subject: ttcn3-bsc-test: Remove 'nat' from logging ...................................................................... ttcn3-bsc-test: Remove 'nat' from logging As of Change-Id Id965295dfe04f8bd5ce831db70c86f67b8dc290b the bogus 'NAT' log category has been removed from osmo-bsc. Change-Id: Ie2afacfc15589c26238214cddc00baaf80e993c1 --- M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg 2 files changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/19/17719/1 diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index ba3676c..618dd9a 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -24,7 +24,6 @@ logging level msc notice logging level ho notice logging level ref notice - logging level nat notice logging level ctrl notice logging level filter debug logging level pcu debug diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index 3519d3e..bef7684 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -24,7 +24,6 @@ logging level msc notice logging level ho notice logging level ref notice - logging level nat notice logging level ctrl notice logging level filter debug logging level pcu debug -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie2afacfc15589c26238214cddc00baaf80e993c1 Gerrit-Change-Number: 17719 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 Apr 4 17:01:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 4 Apr 2020 17:01:17 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: Remove 'nat' from logging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17719 ) Change subject: ttcn3-bsc-test: Remove 'nat' from logging ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie2afacfc15589c26238214cddc00baaf80e993c1 Gerrit-Change-Number: 17719 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 04 Apr 2020 17:01: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 Apr 4 17:01:46 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 4 Apr 2020 17:01:46 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: Remove 'nat' from logging In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17719 ) Change subject: ttcn3-bsc-test: Remove 'nat' from logging ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie2afacfc15589c26238214cddc00baaf80e993c1 Gerrit-Change-Number: 17719 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 04 Apr 2020 17: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 Sat Apr 4 17:02:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 4 Apr 2020 17:02:38 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: Remove 'nat' from logging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17719 ) Change subject: ttcn3-bsc-test: Remove 'nat' from logging ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie2afacfc15589c26238214cddc00baaf80e993c1 Gerrit-Change-Number: 17719 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 04 Apr 2020 17: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 Sat Apr 4 17:02:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 4 Apr 2020 17:02:41 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: Remove 'nat' from logging In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17719 ) Change subject: ttcn3-bsc-test: Remove 'nat' from logging ...................................................................... ttcn3-bsc-test: Remove 'nat' from logging As of Change-Id Id965295dfe04f8bd5ce831db70c86f67b8dc290b the bogus 'NAT' log category has been removed from osmo-bsc. Change-Id: Ie2afacfc15589c26238214cddc00baaf80e993c1 --- M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg 2 files changed, 0 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved; Verified fixeria: Looks good to me, approved diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index ba3676c..618dd9a 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -24,7 +24,6 @@ logging level msc notice logging level ho notice logging level ref notice - logging level nat notice logging level ctrl notice logging level filter debug logging level pcu debug diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index 3519d3e..bef7684 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -24,7 +24,6 @@ logging level msc notice logging level ho notice logging level ref notice - logging level nat notice logging level ctrl notice logging level filter debug logging level pcu debug -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie2afacfc15589c26238214cddc00baaf80e993c1 Gerrit-Change-Number: 17719 Gerrit-PatchSet: 1 Gerrit-Owner: laforge 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 Apr 4 17:08:54 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 4 Apr 2020 17:08:54 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/osmo-bsc.cfg: Remove 'nat' from logging References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17720 ) Change subject: ttcn3-bts-test/osmo-bsc.cfg: Remove 'nat' from logging ...................................................................... ttcn3-bts-test/osmo-bsc.cfg: Remove 'nat' from logging As of Change-Id Id965295dfe04f8bd5ce831db70c86f67b8dc290b the bogus 'NAT' log category has been removed from osmo-bsc. Change-Id: I266d6f6ed54d1457b1ca63b87fc1c29f6dd40caf --- M ttcn3-bts-test/osmo-bsc.cfg 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/20/17720/1 diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index 4675216..d25c0fb 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -26,7 +26,6 @@ logging level ho notice logging level hodec notice logging level ref notice - logging level nat notice logging level ctrl notice logging level filter debug logging level pcu debug -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17720 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I266d6f6ed54d1457b1ca63b87fc1c29f6dd40caf Gerrit-Change-Number: 17720 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 Apr 4 17:10:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 4 Apr 2020 17:10:35 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/osmo-bsc.cfg: Remove 'nat' from logging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17720 ) Change subject: ttcn3-bts-test/osmo-bsc.cfg: Remove 'nat' from logging ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17720 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I266d6f6ed54d1457b1ca63b87fc1c29f6dd40caf Gerrit-Change-Number: 17720 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 04 Apr 2020 17: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 Sat Apr 4 17:10:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 4 Apr 2020 17:10:39 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/osmo-bsc.cfg: Remove 'nat' from logging In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17720 ) Change subject: ttcn3-bts-test/osmo-bsc.cfg: Remove 'nat' from logging ...................................................................... ttcn3-bts-test/osmo-bsc.cfg: Remove 'nat' from logging As of Change-Id Id965295dfe04f8bd5ce831db70c86f67b8dc290b the bogus 'NAT' log category has been removed from osmo-bsc. Change-Id: I266d6f6ed54d1457b1ca63b87fc1c29f6dd40caf --- M ttcn3-bts-test/osmo-bsc.cfg 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index 4675216..d25c0fb 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -26,7 +26,6 @@ logging level ho notice logging level hodec notice logging level ref notice - logging level nat notice logging level ctrl notice logging level filter debug logging level pcu debug -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17720 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I266d6f6ed54d1457b1ca63b87fc1c29f6dd40caf Gerrit-Change-Number: 17720 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Apr 4 17:14:45 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 4 Apr 2020 17:14:45 +0000 Subject: Change in docker-playground[master]: osmo-bsc-{latest, master}/osmo-bsc.cfg: Remove 'nat' from logging References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17721 ) Change subject: osmo-bsc-{latest,master}/osmo-bsc.cfg: Remove 'nat' from logging ...................................................................... osmo-bsc-{latest,master}/osmo-bsc.cfg: Remove 'nat' from logging As of Change-Id Id965295dfe04f8bd5ce831db70c86f67b8dc290b the bogus 'NAT' log category has been removed from osmo-bsc. Change-Id: If02272c08ba2df37d1295d09c104d11f96abbe1e --- M osmo-bsc-latest/osmo-bsc.cfg M osmo-bsc-master/osmo-bsc.cfg 2 files changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/21/17721/1 diff --git a/osmo-bsc-latest/osmo-bsc.cfg b/osmo-bsc-latest/osmo-bsc.cfg index bd797e0..fc50d73 100644 --- a/osmo-bsc-latest/osmo-bsc.cfg +++ b/osmo-bsc-latest/osmo-bsc.cfg @@ -18,7 +18,6 @@ logging level msc notice logging level ho notice logging level ref notice - logging level nat notice logging level ctrl notice logging level filter debug logging level pcu debug diff --git a/osmo-bsc-master/osmo-bsc.cfg b/osmo-bsc-master/osmo-bsc.cfg index 71516dd..ef4ecf5 100644 --- a/osmo-bsc-master/osmo-bsc.cfg +++ b/osmo-bsc-master/osmo-bsc.cfg @@ -20,7 +20,6 @@ logging level mgcp notice logging level ho notice logging level ref notice - logging level nat notice logging level ctrl notice logging level filter debug logging level pcu debug -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17721 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If02272c08ba2df37d1295d09c104d11f96abbe1e Gerrit-Change-Number: 17721 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 Apr 4 17:34:18 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 4 Apr 2020 17:34:18 +0000 Subject: Change in osmo-bsc[master]: vty: fix: restore removed DNAT category as deprecated References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17722 ) Change subject: vty: fix: restore removed DNAT category as deprecated ...................................................................... vty: fix: restore removed DNAT category as deprecated This logging category has been removed in [1], what caused test case execution failures on our Jenkins (since build #930). The problem is that configuration files may still contain this category in 'logging' section (see [2], [3], [4]), and osmo-bsc would refuse to start because of that. [1] Id965295dfe04f8bd5ce831db70c86f67b8dc290b [2] Ie2afacfc15589c26238214cddc00baaf80e993c1 [3] I266d6f6ed54d1457b1ca63b87fc1c29f6dd40caf [4] If02272c08ba2df37d1295d09c104d11f96abbe1e Change-Id: I111362d19aba325889bada5a46eea62343c30033 --- M src/osmo-bsc/osmo_bsc_main.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/22/17722/1 diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index de84060..ad5a3a9 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -845,6 +845,7 @@ ctrl_vty_init(tall_bsc_ctx); logging_vty_add_deprecated_subsys(tall_bsc_ctx, "cc"); logging_vty_add_deprecated_subsys(tall_bsc_ctx, "mgcp"); + logging_vty_add_deprecated_subsys(tall_bsc_ctx, "nat"); /* Initialize SS7 */ OSMO_ASSERT(osmo_ss7_init() == 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I111362d19aba325889bada5a46eea62343c30033 Gerrit-Change-Number: 17722 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 Apr 4 17:39:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 4 Apr 2020 17:39:58 +0000 Subject: Change in osmo-bsc[master]: doc/manuals: remove deprecated DNAT from the VTY reference References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17723 ) Change subject: doc/manuals: remove deprecated DNAT from the VTY reference ...................................................................... doc/manuals: remove deprecated DNAT from the VTY reference Change-Id: Ib21c30041508a9ec9afda56bda95bddf4d665bc8 --- M doc/manuals/vty/bsc_vty_reference.xml 1 file changed, 5 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/23/17723/1 diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index 48b9fb5..f2266e4 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -330,7 +330,7 @@ - + @@ -345,7 +345,6 @@ - @@ -412,7 +411,7 @@ - + @@ -426,7 +425,6 @@ - @@ -1064,7 +1062,7 @@ - + @@ -1079,7 +1077,6 @@ - @@ -1146,7 +1143,7 @@ - + @@ -1160,7 +1157,6 @@ - @@ -1999,7 +1995,7 @@ - + @@ -2014,7 +2010,6 @@ - -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib21c30041508a9ec9afda56bda95bddf4d665bc8 Gerrit-Change-Number: 17723 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 Apr 4 17:40:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 4 Apr 2020 17:40:58 +0000 Subject: Change in osmo-bsc[master]: vty: fix: restore removed DNAT category as deprecated In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17722 ) Change subject: vty: fix: restore removed DNAT category as deprecated ...................................................................... Patch Set 1: Verified+1 Works for me. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I111362d19aba325889bada5a46eea62343c30033 Gerrit-Change-Number: 17722 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sat, 04 Apr 2020 17:40: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 Sat Apr 4 18:14:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 4 Apr 2020 18:14:10 +0000 Subject: Change in osmo-bsc[master]: vty: fix: restore removed DNAT category as deprecated In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17722 ) Change subject: vty: fix: restore removed DNAT category as deprecated ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I111362d19aba325889bada5a46eea62343c30033 Gerrit-Change-Number: 17722 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 04 Apr 2020 18:14: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 Sat Apr 4 18:14:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 4 Apr 2020 18:14:14 +0000 Subject: Change in osmo-bsc[master]: vty: fix: restore removed DNAT category as deprecated In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17722 ) Change subject: vty: fix: restore removed DNAT category as deprecated ...................................................................... vty: fix: restore removed DNAT category as deprecated This logging category has been removed in [1], what caused test case execution failures on our Jenkins (since build #930). The problem is that configuration files may still contain this category in 'logging' section (see [2], [3], [4]), and osmo-bsc would refuse to start because of that. [1] Id965295dfe04f8bd5ce831db70c86f67b8dc290b [2] Ie2afacfc15589c26238214cddc00baaf80e993c1 [3] I266d6f6ed54d1457b1ca63b87fc1c29f6dd40caf [4] If02272c08ba2df37d1295d09c104d11f96abbe1e Change-Id: I111362d19aba325889bada5a46eea62343c30033 --- M src/osmo-bsc/osmo_bsc_main.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: fixeria: Verified Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index de84060..ad5a3a9 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -845,6 +845,7 @@ ctrl_vty_init(tall_bsc_ctx); logging_vty_add_deprecated_subsys(tall_bsc_ctx, "cc"); logging_vty_add_deprecated_subsys(tall_bsc_ctx, "mgcp"); + logging_vty_add_deprecated_subsys(tall_bsc_ctx, "nat"); /* Initialize SS7 */ OSMO_ASSERT(osmo_ss7_init() == 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I111362d19aba325889bada5a46eea62343c30033 Gerrit-Change-Number: 17722 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 Sat Apr 4 18:15:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 4 Apr 2020 18:15:16 +0000 Subject: Change in osmo-bsc[master]: doc/manuals: remove deprecated DNAT from the VTY reference In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17723 ) Change subject: doc/manuals: remove deprecated DNAT from the VTY reference ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib21c30041508a9ec9afda56bda95bddf4d665bc8 Gerrit-Change-Number: 17723 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 04 Apr 2020 18:15: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 Sat Apr 4 18:15:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 4 Apr 2020 18:15:19 +0000 Subject: Change in osmo-bsc[master]: doc/manuals: remove deprecated DNAT from the VTY reference In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17723 ) Change subject: doc/manuals: remove deprecated DNAT from the VTY reference ...................................................................... doc/manuals: remove deprecated DNAT from the VTY reference Change-Id: Ib21c30041508a9ec9afda56bda95bddf4d665bc8 --- M doc/manuals/vty/bsc_vty_reference.xml 1 file changed, 5 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index 48b9fb5..f2266e4 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -330,7 +330,7 @@ - + @@ -345,7 +345,6 @@ - @@ -412,7 +411,7 @@ - + @@ -426,7 +425,6 @@ - @@ -1064,7 +1062,7 @@ - + @@ -1079,7 +1077,6 @@ - @@ -1146,7 +1143,7 @@ - + @@ -1160,7 +1157,6 @@ - @@ -1999,7 +1995,7 @@ - + @@ -2014,7 +2010,6 @@ - -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib21c30041508a9ec9afda56bda95bddf4d665bc8 Gerrit-Change-Number: 17723 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 Sat Apr 4 18:15:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 4 Apr 2020 18:15:40 +0000 Subject: Change in docker-playground[master]: osmo-bsc-{latest, master}/osmo-bsc.cfg: Remove 'nat' from logging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17721 ) Change subject: osmo-bsc-{latest,master}/osmo-bsc.cfg: Remove 'nat' from logging ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17721 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If02272c08ba2df37d1295d09c104d11f96abbe1e Gerrit-Change-Number: 17721 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 04 Apr 2020 18:15: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 Sat Apr 4 18:15:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 4 Apr 2020 18:15:42 +0000 Subject: Change in docker-playground[master]: osmo-bsc-{latest, master}/osmo-bsc.cfg: Remove 'nat' from logging In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17721 ) Change subject: osmo-bsc-{latest,master}/osmo-bsc.cfg: Remove 'nat' from logging ...................................................................... osmo-bsc-{latest,master}/osmo-bsc.cfg: Remove 'nat' from logging As of Change-Id Id965295dfe04f8bd5ce831db70c86f67b8dc290b the bogus 'NAT' log category has been removed from osmo-bsc. Change-Id: If02272c08ba2df37d1295d09c104d11f96abbe1e --- M osmo-bsc-latest/osmo-bsc.cfg M osmo-bsc-master/osmo-bsc.cfg 2 files changed, 0 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/osmo-bsc-latest/osmo-bsc.cfg b/osmo-bsc-latest/osmo-bsc.cfg index bd797e0..fc50d73 100644 --- a/osmo-bsc-latest/osmo-bsc.cfg +++ b/osmo-bsc-latest/osmo-bsc.cfg @@ -18,7 +18,6 @@ logging level msc notice logging level ho notice logging level ref notice - logging level nat notice logging level ctrl notice logging level filter debug logging level pcu debug diff --git a/osmo-bsc-master/osmo-bsc.cfg b/osmo-bsc-master/osmo-bsc.cfg index 71516dd..ef4ecf5 100644 --- a/osmo-bsc-master/osmo-bsc.cfg +++ b/osmo-bsc-master/osmo-bsc.cfg @@ -20,7 +20,6 @@ logging level mgcp notice logging level ho notice logging level ref notice - logging level nat notice logging level ctrl notice logging level filter debug logging level pcu debug -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17721 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If02272c08ba2df37d1295d09c104d11f96abbe1e Gerrit-Change-Number: 17721 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Apr 4 18:16:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 4 Apr 2020 18:16:05 +0000 Subject: Change in osmo-pcu[master]: l1if: fix pcu_rx_rach_ind(): use proper format string specifiers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17707 ) Change subject: l1if: fix pcu_rx_rach_ind(): use proper format string specifiers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17707 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If95362ef4cc203a60856d6b47d95d441813a5c19 Gerrit-Change-Number: 17707 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 04 Apr 2020 18:16: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 Apr 4 18:16:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 4 Apr 2020 18:16:46 +0000 Subject: Change in osmo-pcu[master]: l1if: fix pcu_rx_rach_ind(): use proper format string specifiers In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17707 ) Change subject: l1if: fix pcu_rx_rach_ind(): use proper format string specifiers ...................................................................... l1if: fix pcu_rx_rach_ind(): use proper format string specifiers Change-Id: If95362ef4cc203a60856d6b47d95d441813a5c19 --- M src/pcu_l1_if.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index deccb30..37a0705 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -441,7 +441,7 @@ int current_fn = get_current_fn(); LOGP(DL1IF, LOGL_INFO, "RACH request received: sapi=%d " - "qta=%d, ra=%d, fn=%d, cur_fn=%d, is_11bit=%d\n", rach_ind->sapi, rach_ind->qta, + "qta=%d, ra=0x%02x, fn=%u, cur_fn=%d, is_11bit=%d\n", rach_ind->sapi, rach_ind->qta, rach_ind->ra, rach_ind->fn, current_fn, rach_ind->is_11bit); switch (rach_ind->sapi) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17707 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If95362ef4cc203a60856d6b47d95d441813a5c19 Gerrit-Change-Number: 17707 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 Apr 4 18:17:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 4 Apr 2020 18:17:02 +0000 Subject: Change in osmo-pcu[master]: l1if: fix pcu_rx_rach_ind(): properly pack 8-bit and 11-bit RA In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17709 ) Change subject: l1if: fix pcu_rx_rach_ind(): properly pack 8-bit and 11-bit RA ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I08a0a908f855b0d8a002df732e02781126d27dfb Gerrit-Change-Number: 17709 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 04 Apr 2020 18:17: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 Apr 4 23:48:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 4 Apr 2020 23:48:20 +0000 Subject: Change in osmo-bts[master]: scheduler: always call Uplink burst handler on NOPE.ind In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17539 ) Change subject: scheduler: always call Uplink burst handler on NOPE.ind ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice45d5986610d9bcef2a7e41f0a395ec779e3928 Gerrit-Change-Number: 17539 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 04 Apr 2020 23:48:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Apr 5 07:02:35 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 05 Apr 2020 07:02:35 +0000 Subject: Build failure of network:osmocom:latest/limesuite in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5e89829aa05b1_1bff2b1d3ba4460063656f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/Raspbian_10/armv7l Package network:osmocom:latest/limesuite failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 259s] [ 40%] Linking CXX executable boardEmulator [ 259s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/boardEmulator.dir/link.txt --verbose=1 [ 259s] /usr/bin/c++ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -Wl,-z,relro -rdynamic CMakeFiles/boardEmulator.dir/boardEmulator.cpp.o -o boardEmulator -Wl,-rpath,/usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src libLimeSuite.so.20.01.0 -pthread -lusb-1.0 [ 259s] /usr/bin/ld: libLimeSuite.so.20.01.0: undefined reference to `__atomic_load_8' [ 259s] /usr/bin/ld: libLimeSuite.so.20.01.0: undefined reference to `__atomic_store_8' [ 259s] collect2: error: ld returned 1 exit status [ 259s] make[3]: *** [src/CMakeFiles/boardEmulator.dir/build.make:89: src/boardEmulator] Error 1 [ 259s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 259s] make[2]: *** [CMakeFiles/Makefile2:216: src/CMakeFiles/boardEmulator.dir/all] Error 2 [ 260s] [ 40%] Linking CXX static library liboglGraph.a [ 260s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src/oglGraph && /usr/bin/cmake -P CMakeFiles/oglGraph.dir/cmake_clean_target.cmake [ 260s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src/oglGraph && /usr/bin/cmake -E cmake_link_script CMakeFiles/oglGraph.dir/link.txt --verbose=1 [ 260s] /usr/bin/ar qc liboglGraph.a CMakeFiles/oglGraph.dir/dlgMarkers.cpp.o CMakeFiles/oglGraph.dir/GLFont.cpp.o CMakeFiles/oglGraph.dir/OpenGLGraph.cpp.o CMakeFiles/oglGraph.dir/glew/glew.c.o [ 260s] /usr/bin/ranlib liboglGraph.a [ 260s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 260s] [ 40%] Built target oglGraph [ 260s] make[2]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 260s] make[1]: *** [Makefile:133: all] Error 2 [ 260s] make[1]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 260s] dh_auto_build: cd obj-arm-linux-gnueabihf && make -j4 returned exit code 2 [ 260s] make: *** [debian/rules:28: binary] Error 2 [ 260s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 260s] ### VM INTERACTION START ### [ 263s] [ 245.670689] sysrq: SysRq : Power Off [ 263s] [ 245.684891] reboot: Power down [ 264s] ### VM INTERACTION END ### [ 264s] [ 264s] armbuild21 failed "build limesuite_20.01.0-1.dsc" at Sun Apr 5 07:02:34 UTC 2020. [ 264s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 5 07:28:02 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 05 Apr 2020 07:28:02 +0000 Subject: Build failure of network:osmocom:latest/eclipse-titan in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5e89888eecf1e_1bff2b1d3ba446006454cd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/eclipse-titan/Raspbian_10/armv7l Package network:osmocom:latest/eclipse-titan failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:latest eclipse-titan Last lines of build log: [ 803s] -h: generate TTCN-3 code allowing type substitution [ 803s] -m: generate only the UsefulTtcn3Types and XSD predefined modules [ 803s] -o: generate all definitions into one module (called XSD_Definitions) [ 803s] -p: do not generate the UsefulTtcn3Types and XSD predefined modules [ 803s] -q: quiet mode - disable the issue of status messages [ 803s] -s: parse and validate only - no TTCN-3 module generation [ 803s] -t: disable the generation of timing information in TTCN-3 modules [ 803s] -v: show version information [ 803s] -w: suppress warnings [ 803s] -x: disable schema validation but generate TTCN-3 modules [ 803s] -z: zap URI scheme from module name [ 803s] make[4]: *** [Makefile:284: TitanLoggerApi.ttcn] Error 1 [ 803s] make[4]: Leaving directory '/usr/src/packages/BUILD/core' [ 803s] make[3]: *** [../../Makefile.genrules:60: ../../core/RInt.o] Error 2 [ 803s] make[3]: Leaving directory '/usr/src/packages/BUILD/mctr2/mctr' [ 803s] make[2]: *** [Makefile:32: all] Error 2 [ 803s] make[2]: Leaving directory '/usr/src/packages/BUILD/mctr2' [ 803s] make[1]: *** [Makefile:65: all] Error 2 [ 803s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 803s] dh_auto_build: make -j1 returned exit code 2 [ 803s] make: *** [debian/rules:6: build] Error 2 [ 803s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 803s] ### VM INTERACTION START ### [ 806s] [ 788.754314] sysrq: SysRq : Power Off [ 806s] [ 788.794561] reboot: Power down [ 807s] ### VM INTERACTION END ### [ 807s] [ 807s] armbuild21 failed "build eclipse-titan_6.5.0-1.dsc" at Sun Apr 5 07:27:57 UTC 2020. [ 807s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Apr 5 13:19:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 5 Apr 2020 13:19:42 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/virtphy: remove deprecated 'ms-power-control dsp' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17724 ) Change subject: ttcn3-bts-test/virtphy: remove deprecated 'ms-power-control dsp' ...................................................................... ttcn3-bts-test/virtphy: remove deprecated 'ms-power-control dsp' osmo-bts-virtual fails to start: Error occurred during reading the below line: ms-power-control dsp This BTS model has no DSP/HW MS Power Control support Failed to parse the config file: '/data/osmo-bts.cfg' Change-Id: Ic85603db10c11de911d20313caf2f819e92d94d1 --- M ttcn3-bts-test/virtphy/osmo-bts.cfg 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/24/17724/1 diff --git a/ttcn3-bts-test/virtphy/osmo-bts.cfg b/ttcn3-bts-test/virtphy/osmo-bts.cfg index 51e6128..478990d 100644 --- a/ttcn3-bts-test/virtphy/osmo-bts.cfg +++ b/ttcn3-bts-test/virtphy/osmo-bts.cfg @@ -78,7 +78,6 @@ power-ramp max-initial 0 mdBm power-ramp step-size 2000 mdB power-ramp step-interval 1 - ms-power-control dsp phy 0 instance 0 ctrl bind 0.0.0.0 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17724 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic85603db10c11de911d20313caf2f819e92d94d1 Gerrit-Change-Number: 17724 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 Apr 5 13:40:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 5 Apr 2020 13:40:00 +0000 Subject: Change in osmo-bts[master]: scheduler: always call Uplink burst handler on NOPE.ind In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17539 ) Change subject: scheduler: always call Uplink burst handler on NOPE.ind ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice45d5986610d9bcef2a7e41f0a395ec779e3928 Gerrit-Change-Number: 17539 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 05 Apr 2020 13:40: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 Apr 5 13:40:21 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 5 Apr 2020 13:40:21 +0000 Subject: Change in osmo-bts[master]: scheduler: always call Uplink burst handler on NOPE.ind In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17539 ) Change subject: scheduler: always call Uplink burst handler on NOPE.ind ...................................................................... scheduler: always call Uplink burst handler on NOPE.ind When a NOPE indication is received from the TRX normally a separate handler (.nope_fn) is called. It turned out that calling the Uplink handler (.ul_fn) on NOPE indications is the usual case, so let's remove the .nope_fn member and call the Uplink handler directly. Since a NOPE.ind comes without burst bits, the Uplink handlers must check bi->burst_len to avoid uninitialized memory access. For some logical channels (in particular RACH, PDTCH/U, and PTCCH/U) it does not make sense to call the Uplink handler, so we ignore them. Change-Id: Ice45d5986610d9bcef2a7e41f0a395ec779e3928 Related: OS#4461 --- M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c 2 files changed, 11 insertions(+), 36 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/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index aa2d6e9..4959853 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -31,8 +31,6 @@ trx_sched_dl_func *dl_fn; /*! \brief function to call when burst received from PHY */ trx_sched_ul_func *ul_fn; - /*! \brief function to call when NOPE.ind received from PHY */ - trx_sched_ul_func *nope_fn; /*! \brief channel flags, see TRX_CHAN_FLAG_* */ uint8_t flags; }; diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 652582b..fc4f11e 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -191,7 +191,6 @@ .rts_fn = rts_tchf_fn, .dl_fn = tx_tchf_fn, .ul_fn = rx_tchf_fn, - .nope_fn = rx_tchf_fn, }, [TRXC_TCHH_0] = { .name = "TCH/H(0)", /* 3GPP TS 05.02, section 3.2 */ @@ -212,7 +211,6 @@ .rts_fn = rts_tchh_fn, .dl_fn = tx_tchh_fn, .ul_fn = rx_tchh_fn, - .nope_fn = rx_tchh_fn, }, [TRXC_TCHH_1] = { .name = "TCH/H(1)", /* 3GPP TS 05.02, section 3.2 */ @@ -224,7 +222,6 @@ .rts_fn = rts_tchh_fn, .dl_fn = tx_tchh_fn, .ul_fn = rx_tchh_fn, - .nope_fn = rx_tchh_fn, }, [TRXC_SDCCH4_0] = { .name = "SDCCH/4(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -236,7 +233,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SDCCH4_1] = { .name = "SDCCH/4(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -248,7 +244,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SDCCH4_2] = { .name = "SDCCH/4(2)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -260,7 +255,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SDCCH4_3] = { .name = "SDCCH/4(3)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -272,7 +266,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_0] = { .name = "SDCCH/8(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -284,7 +277,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_1] = { .name = "SDCCH/8(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -296,7 +288,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_2] = { .name = "SDCCH/8(2)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -308,7 +299,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_3] = { .name = "SDCCH/8(3)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -320,7 +310,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_4] = { .name = "SDCCH/8(4)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -332,7 +321,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_5] = { .name = "SDCCH/8(5)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -344,7 +332,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_6] = { .name = "SDCCH/8(6)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -356,7 +343,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_7] = { .name = "SDCCH/8(7)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -368,7 +354,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCHTF] = { .name = "SACCH/TF", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -380,7 +365,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCHTH_0] = { .name = "SACCH/TH(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -392,7 +376,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCHTH_1] = { .name = "SACCH/TH(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -404,7 +387,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH4_0] = { .name = "SACCH/4(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -416,7 +398,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH4_1] = { .name = "SACCH/4(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -428,7 +409,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH4_2] = { .name = "SACCH/4(2)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -440,7 +420,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH4_3] = { .name = "SACCH/4(3)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -452,7 +431,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH8_0] = { .name = "SACCH/8(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -464,7 +442,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH8_1] = { .name = "SACCH/8(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -476,7 +453,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH8_2] = { .name = "SACCH/8(2)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -488,7 +464,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH8_3] = { .name = "SACCH/8(3)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -500,7 +475,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH8_4] = { .name = "SACCH/8(4)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -512,7 +486,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH8_5] = { .name = "SACCH/8(5)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -524,7 +497,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH8_6] = { .name = "SACCH/8(6)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -536,7 +508,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH8_7] = { .name = "SACCH/8(7)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -548,7 +519,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_PDTCH] = { .name = "PDTCH", /* 3GPP TS 05.02, sections 3.2.4, 3.3.2.4 */ @@ -1406,12 +1376,19 @@ l1cs->last_tdma_fn = bi->fn; l1cs->proc_tdma_fs++; - /* handle NOPE indications (if the handler is present) */ + /* handle NOPE indications */ if (bi->flags & TRX_BI_F_NOPE_IND) { - func = trx_chan_desc[chan].nope_fn; - if (!func) + switch (chan) { + case TRXC_PDTCH: + case TRXC_PTCCH: + case TRXC_RACH: + /* For some logical channel types NOPE.ind is valueless. */ return 0; - return func(l1t, chan, bid, bi); + 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); + } } /* decrypt */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice45d5986610d9bcef2a7e41f0a395ec779e3928 Gerrit-Change-Number: 17539 Gerrit-PatchSet: 2 Gerrit-Owner: dexter 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 Sun Apr 5 14:07:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 5 Apr 2020 14:07:35 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/virtphy: remove deprecated 'ms-power-control dsp' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17724 ) Change subject: ttcn3-bts-test/virtphy: remove deprecated 'ms-power-control dsp' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17724 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic85603db10c11de911d20313caf2f819e92d94d1 Gerrit-Change-Number: 17724 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 05 Apr 2020 14:07:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Apr 6 03:34:18 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 06 Apr 2020 03:34:18 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e8aa33eecac8_1bff2b1d3ba446001005727@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-gsm-manuals failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals Last lines of build log: [ 351s] building additional files... [ 351s] checking if compiling is necessary... [ 351s] the output file doesn't exist [ 351s] pdflatex -interaction=batchmode test-usermanual.tex [ 351s] pdflatex failed [ 351s] test-usermanual.tex:15092: pdfTeX error (ext4): \pdfendlink ended up in different nesting level than \pdfstartlink. [ 351s] test-usermanual.tex:15092: leading text: {\bf E [ 351s] [ 351s] A possible reason for transformation failure is invalid DocBook [ 351s] (as reported by xmllint) [ 351s] [ 351s] Error: pdflatex compilation failed [ 351s] [ 351s] make[3]: *** [../build/Makefile.asciidoc.inc:69: test-usermanual.pdf] Error 1 [ 351s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 351s] make[2]: *** [Makefile:438: all-recursive] Error 1 [ 351s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 351s] make[1]: *** [Makefile:362: all] Error 2 [ 351s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 351s] dh_auto_build: error: make -j1 returned exit code 2 [ 351s] make: *** [debian/rules:5: binary] Error 25 [ 351s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 351s] ### VM INTERACTION START ### [ 354s] [ 339.085692] sysrq: SysRq : Power Off [ 354s] [ 339.091784] reboot: Power down [ 354s] ### VM INTERACTION END ### [ 354s] [ 354s] lamb18 failed "build osmo-gsm-manuals-dev_0.3.0.dsc" at Mon Apr 6 03:34:17 UTC 2020. [ 354s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Apr 6 10:25:39 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 6 Apr 2020 10:25:39 +0000 Subject: Change in osmo-bsc[master]: fix append_gprs_cell_opt(): properly set Access Burst Type in SI13 In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17654 ) Change subject: fix append_gprs_cell_opt(): properly set Access Burst Type in SI13 ...................................................................... Abandoned I was confused by the name of the VTY option. As it turns out, ACCESS BURST TYPE defines the burst type to be used on PRACH, which is deprecated and shall not be used nowdays. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17654 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iac66a675d64b1c32d8a61a0229e44b35bf2a1414 Gerrit-Change-Number: 17654 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 6 10:55:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 10:55:51 +0000 Subject: Change in osmo-gsm-tester[master]: epc: Replace rlc_drb_mode wtth qci attribute References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17725 ) Change subject: epc: Replace rlc_drb_mode wtth qci attribute ...................................................................... epc: Replace rlc_drb_mode wtth qci attribute Change-Id: I21b7d7009f9b0df8ec4f59189a65cfc26f164f04 --- M example/defaults.conf A example/scenarios/cfg-epc-qci at .conf D example/scenarios/cfg-epc-rlcmode at .conf M src/osmo_gsm_tester/amarisoft_epc.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/schema.py M src/osmo_gsm_tester/srs_epc.py M src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl 8 files changed, 10 insertions(+), 35 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/25/17725/1 diff --git a/example/defaults.conf b/example/defaults.conf index 0b9136d..5cda132 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -97,8 +97,9 @@ type: srsepc mcc: 901 mnc: 70 + qci: 9 + srsepc: - rlc_drb_mode: UM enable_pcap: false amarisoft: diff --git a/example/scenarios/cfg-epc-qci at .conf b/example/scenarios/cfg-epc-qci at .conf new file mode 100644 index 0000000..8f9c937 --- /dev/null +++ b/example/scenarios/cfg-epc-qci at .conf @@ -0,0 +1,3 @@ +config: + epc: + qci: ${param1} diff --git a/example/scenarios/cfg-epc-rlcmode at .conf b/example/scenarios/cfg-epc-rlcmode at .conf deleted file mode 100644 index 2ddb044..0000000 --- a/example/scenarios/cfg-epc-rlcmode at .conf +++ /dev/null @@ -1,3 +0,0 @@ -config: - epc: - rlc_drb_mode: ${param1} diff --git a/src/osmo_gsm_tester/amarisoft_epc.py b/src/osmo_gsm_tester/amarisoft_epc.py index c1f341c..a117a9e 100644 --- a/src/osmo_gsm_tester/amarisoft_epc.py +++ b/src/osmo_gsm_tester/amarisoft_epc.py @@ -23,13 +23,6 @@ from . import log, util, config, template, process, remote from . import epc -#def rlc_drb_mode2qci(rlc_drb_mode): -# if rlc_drb_mode.upper() == "UM": -# return 7; -# elif rlc_drb_mode.upper() == "AM": -# return 9; -# raise log.Error('Unexpected rlc_drb_mode', rlc_drb_mode=rlc_drb_mode) - class AmarisoftEPC(epc.EPC): REMOTE_DIR = '/osmo-gsm-tester-amarisoftepc' @@ -150,11 +143,6 @@ config.overlay(values, dict(epc=dict(log_filename=logfile, ifup_filename=ifupfile))) - # Set qci for each subscriber: - #rlc_drb_mode = values['epc'].get('rlc_drb_mode', None) - #assert rlc_drb_mode is not None - #for i in range(len(self.subscriber_list)): - # self.subscriber_list[i]['qci'] = rlc_drb_mode2qci(rlc_drb_mode) 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/resource.py b/src/osmo_gsm_tester/resource.py index c69617c..ad8f4b2 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -125,7 +125,7 @@ 'config.bsc.net.codec_list[]': schema.CODEC, 'config.enb.enable_pcap': schema.BOOL_STR, 'config.epc.type': schema.STR, - 'config.epc.rlc_drb_mode': schema.LTE_RLC_DRB_MODE, + 'config.epc.qci': schema.UINT, 'config.epc.enable_pcap': schema.BOOL_STR, 'config.modem.enable_pcap': schema.BOOL_STR, 'config.amarisoft.license_server_addr': schema.IPV4, diff --git a/src/osmo_gsm_tester/schema.py b/src/osmo_gsm_tester/schema.py index e9d1411..d343bef 100644 --- a/src/osmo_gsm_tester/schema.py +++ b/src/osmo_gsm_tester/schema.py @@ -131,11 +131,6 @@ return raise ValueError('LTE Transmission Mode %d not in expected range' % n) -def lte_rlc_drb_mode(val): - if val.upper() in ('UM', 'AM'): - return - raise ValueError('Unknown LTE RLC DRB Mode value: %r' % val) - def duration(val): if val.isdecimal() or val.endswith('m') or val.endswith('h'): return @@ -161,7 +156,6 @@ CODEC = 'codec' OSMO_TRX_CLOCK_REF = 'osmo_trx_clock_ref' LTE_TRANSMISSION_MODE = 'lte_transmission_mode' -LTE_RLC_DRB_MODE = 'lte_rlc_drb_mode' DURATION = 'duration' SCHEMA_TYPES = { @@ -185,7 +179,6 @@ CODEC: codec, OSMO_TRX_CLOCK_REF: osmo_trx_clock_ref, LTE_TRANSMISSION_MODE: lte_transmission_mode, - LTE_RLC_DRB_MODE: lte_rlc_drb_mode, DURATION: duration, } diff --git a/src/osmo_gsm_tester/srs_epc.py b/src/osmo_gsm_tester/srs_epc.py index b2d728a..7c32486 100644 --- a/src/osmo_gsm_tester/srs_epc.py +++ b/src/osmo_gsm_tester/srs_epc.py @@ -23,13 +23,6 @@ from . import log, util, config, template, process, remote from . import epc -def rlc_drb_mode2qci(rlc_drb_mode): - if rlc_drb_mode.upper() == "UM": - return 7; - elif rlc_drb_mode.upper() == "AM": - return 9; - raise log.Error('Unexpected rlc_drb_mode', rlc_drb_mode=rlc_drb_mode) - class srsEPC(epc.EPC): REMOTE_DIR = '/osmo-gsm-tester-srsepc' @@ -165,10 +158,10 @@ config.overlay(values, dict(epc={'enable_pcap': self.enable_pcap})) # Set qci for each subscriber: - rlc_drb_mode = values['epc'].get('rlc_drb_mode', None) - assert rlc_drb_mode is not None + qci = values['epc'].get('qci', None) + assert qci is not None for i in range(len(self.subscriber_list)): - self.subscriber_list[i]['qci'] = rlc_drb_mode2qci(rlc_drb_mode) + self.subscriber_list[i]['qci'] = qci 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 f17248e..ce7200f 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl @@ -63,7 +63,7 @@ dns_addr: "8.8.8.8", /* Google DNS address */ erabs: [ { - qci: 9, + qci: ${epc.qci}, priority_level: 15, pre_emption_capability: "shall_not_trigger_pre_emption", pre_emption_vulnerability: "not_pre_emptable", -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17725 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: I21b7d7009f9b0df8ec4f59189a65cfc26f164f04 Gerrit-Change-Number: 17725 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 Apr 6 10:56:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 10:56:03 +0000 Subject: Change in osmo-gsm-tester[master]: epc: Replace rlc_drb_mode with qci attribute In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17725 ) Change subject: epc: Replace rlc_drb_mode with qci attribute ...................................................................... epc: Replace rlc_drb_mode with qci attribute Change-Id: I21b7d7009f9b0df8ec4f59189a65cfc26f164f04 --- M example/defaults.conf A example/scenarios/cfg-epc-qci at .conf D example/scenarios/cfg-epc-rlcmode at .conf M src/osmo_gsm_tester/amarisoft_epc.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/schema.py M src/osmo_gsm_tester/srs_epc.py M src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl 8 files changed, 10 insertions(+), 35 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/25/17725/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17725 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: I21b7d7009f9b0df8ec4f59189a65cfc26f164f04 Gerrit-Change-Number: 17725 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 Apr 6 11:22:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 11:22:12 +0000 Subject: Change in osmo-ci[master]: ansible: ogt: Create target amarisoft dirs in slaves References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/17726 ) Change subject: ansible: ogt: Create target amarisoft dirs in slaves ...................................................................... ansible: ogt: Create target amarisoft dirs in slaves Change-Id: Idd013ac01db545771217808e458e916900fe89a1 --- M ansible/roles/gsm-tester/tasks/main.yml 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/26/17726/1 diff --git a/ansible/roles/gsm-tester/tasks/main.yml b/ansible/roles/gsm-tester/tasks/main.yml index c4be6ef..0109d1b 100644 --- a/ansible/roles/gsm-tester/tasks/main.yml +++ b/ansible/roles/gsm-tester/tasks/main.yml @@ -447,6 +447,9 @@ - srsepc - srsue - trx + - amarisoftenb + - amarisoftepc + - amarisoftue tags: - osmo-gsm-tester-proc - osmocom -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Idd013ac01db545771217808e458e916900fe89a1 Gerrit-Change-Number: 17726 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 Apr 6 12:01:18 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 6 Apr 2020 12:01:18 +0000 Subject: Change in osmo-bsc[master]: rest_octets: cosmetic: fix alignment in gprs_cell_options References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17727 ) Change subject: rest_octets: cosmetic: fix alignment in gprs_cell_options ...................................................................... rest_octets: cosmetic: fix alignment in gprs_cell_options Change-Id: I344ea61df8cc910d9b524c9b2f0e03721eefe56c --- M include/osmocom/bsc/rest_octets.h 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/27/17727/1 diff --git a/include/osmocom/bsc/rest_octets.h b/include/osmocom/bsc/rest_octets.h index f7ad682..2c1b162 100644 --- a/include/osmocom/bsc/rest_octets.h +++ b/include/osmocom/bsc/rest_octets.h @@ -88,8 +88,8 @@ uint8_t ext_info_present; struct { uint8_t egprs_supported; - uint8_t use_egprs_p_ch_req; - uint8_t bep_period; + uint8_t use_egprs_p_ch_req; + uint8_t bep_period; uint8_t pfc_supported; uint8_t dtm_supported; uint8_t bss_paging_coordination; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17727 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I344ea61df8cc910d9b524c9b2f0e03721eefe56c Gerrit-Change-Number: 17727 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 Apr 6 12:01:18 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 6 Apr 2020 12:01:18 +0000 Subject: Change in osmo-bsc[master]: vty: 'gprs 11bit_rach_support_for_egprs': drop redundant check References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17728 ) Change subject: vty: 'gprs 11bit_rach_support_for_egprs': drop redundant check ...................................................................... vty: 'gprs 11bit_rach_support_for_egprs': drop redundant check The VTY command parser would not allow values other than 0 or 1. Change-Id: Ic29fac12414f1821702759a9f5260e941c9868b5 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 1 insertion(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/28/17728/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index a41db9f..cd3f8a9 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -3137,13 +3137,7 @@ bts->gprs.supports_egprs_11bit_rach = atoi(argv[0]); - if (bts->gprs.supports_egprs_11bit_rach > 1) { - vty_out(vty, "Error in RACH type%s", VTY_NEWLINE); - return CMD_WARNING; - } - - if ((bts->gprs.mode == BTS_GPRS_NONE) && - (bts->gprs.supports_egprs_11bit_rach == 1)) { + if (bts->gprs.mode == BTS_GPRS_NONE && bts->gprs.supports_egprs_11bit_rach) { vty_out(vty, "Error:gprs mode is none and 11bit rach is" " enabled%s", VTY_NEWLINE); return CMD_WARNING; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17728 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic29fac12414f1821702759a9f5260e941c9868b5 Gerrit-Change-Number: 17728 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 Apr 6 12:01:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 6 Apr 2020 12:01:19 +0000 Subject: Change in osmo-bsc[master]: vty: 'gprs 11bit_rach_support_for_egprs': clarify error message References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17729 ) Change subject: vty: 'gprs 11bit_rach_support_for_egprs': clarify error message ...................................................................... vty: 'gprs 11bit_rach_support_for_egprs': clarify error message Change-Id: I491d319f2829902a8c449db515f928cf7e480482 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/29/17729/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index cd3f8a9..d3908be 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -3138,8 +3138,7 @@ bts->gprs.supports_egprs_11bit_rach = atoi(argv[0]); if (bts->gprs.mode == BTS_GPRS_NONE && bts->gprs.supports_egprs_11bit_rach) { - vty_out(vty, "Error:gprs mode is none and 11bit rach is" - " enabled%s", VTY_NEWLINE); + vty_out(vty, "%% (E)GPRS is not enabled (see 'gprs mode')%s", VTY_NEWLINE); return CMD_WARNING; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17729 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I491d319f2829902a8c449db515f928cf7e480482 Gerrit-Change-Number: 17729 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 Apr 6 12:01:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 6 Apr 2020 12:01:19 +0000 Subject: Change in osmo-bsc[master]: vty: clarify EGPRS Packet Channel Request message support References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17730 ) Change subject: vty: clarify EGPRS Packet Channel Request message support ...................................................................... vty: clarify EGPRS Packet Channel Request message support According to 3GPP TS 44.060, section 12.24, GPRS Cell Options IE contains two parameters related to 11 bit Access Burst support: - ACCESS_BURST_TYPE - whether the 8 or 11 bit format shall be used in the PACKET CHANNEL REQUEST message, the PTCCH/U block, PACKET CONTROL ACKNOWLEDGMENT and the PS HANDOVER ACCESS messages on the PRACH (if present). - EGPRS_PACKET_CHANNEL_REQUEST - whether EGPRS capable MSs shall use EGPRS PACKET CHANNEL REQUEST message for Uplink TBF establishment on the RACH or on the PRACH (if present). The VTY option 'gprs 11bit_rach_support_for_egprs' actually controls the second parameter - EGPRS_PACKET_CHANNEL_REQUEST, though it may be hard to understand this from its name and description. This patch is actually a group of tightly related changes: - deprecate 'gprs 11bit_rach_support_for_egprs (0|1)': - update its description to avoid any possible confusion, - print a warning if it's used in non-EGPRS mode, - print a warning if it's still used; - introduce '[no] gprs egprs-packet-channel-request': - ensure that it can only set / printed in the EGPRS mode; - take a chance to clean-up / rename the related struct members: - 'supports_egprs_11bit_rach' -> bool 'egprs_pkt_chan_request', - remove 'supports_egprs_11bit_rach' from 'gprs_cell_options' because we already have 'ext_info.use_egprs_p_ch_req' there. Change-Id: Ied5bd10a806aeeac65ef32339d4ab0e3700e5da9 --- M doc/manuals/vty/bsc_vty_reference.xml M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/rest_octets.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/rest_octets.c M src/osmo-bsc/system_information.c 6 files changed, 76 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/30/17730/1 diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index f2266e4..dac4ec5 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -3370,12 +3370,17 @@ - + + + + + + + + - - - + diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 2595174..9a1db07 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1150,7 +1150,6 @@ /* Not entirely sure how ip.access specific this is */ struct { - uint8_t supports_egprs_11bit_rach; enum bts_gprs_mode mode; struct { struct gsm_abis_mo mo; @@ -1167,6 +1166,7 @@ uint8_t rac; uint8_t net_ctrl_ord; bool ctrl_ack_type_use_block; + bool egprs_pkt_chan_request; } gprs; /* threshold (in percent) when BTS shall send CCCH LOAD IND */ diff --git a/include/osmocom/bsc/rest_octets.h b/include/osmocom/bsc/rest_octets.h index 2c1b162..7df66f7 100644 --- a/include/osmocom/bsc/rest_octets.h +++ b/include/osmocom/bsc/rest_octets.h @@ -82,7 +82,6 @@ uint32_t t3192; /* in milliseconds */ uint32_t drx_timer_max;/* in seconds */ uint32_t bs_cv_max; - uint8_t supports_egprs_11bit_rach; bool ctrl_ack_type_use_block; /* use PACKET CONTROL ACKNOWLEDGMENT */ uint8_t ext_info_present; diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index d3908be..f8bcee9 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -736,9 +736,6 @@ if (bts->gprs.mode == BTS_GPRS_NONE) return; - vty_out(vty, " gprs 11bit_rach_support_for_egprs %u%s", - bts->gprs.supports_egprs_11bit_rach, VTY_NEWLINE); - vty_out(vty, " gprs routing area %u%s", bts->gprs.rac, VTY_NEWLINE); vty_out(vty, " gprs network-control-order nc%u%s", @@ -772,6 +769,12 @@ vty_out(vty, " gprs nsvc %u remote ip %s%s", i, inet_ntoa(ia), VTY_NEWLINE); } + + /* EGPRS specific parameters */ + if (bts->gprs.mode == BTS_GPRS_EGPRS) { + if (bts->gprs.egprs_pkt_chan_request) + vty_out(vty, " gprs egprs-packet-channel-request%s", VTY_NEWLINE); + } } /* Write the model data if there is one */ @@ -3126,22 +3129,65 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_gprs_11bit_rach_support_for_egprs, +DEFUN_DEPRECATED(cfg_bts_gprs_11bit_rach_support_for_egprs, cfg_bts_gprs_11bit_rach_support_for_egprs_cmd, "gprs 11bit_rach_support_for_egprs (0|1)", - GPRS_TEXT "11 bit RACH options\n" - "Disable 11 bit RACH for EGPRS\n" - "Enable 11 bit RACH for EGPRS\n") + GPRS_TEXT "EGPRS Packet Channel Request support\n" + "Disable EGPRS Packet Channel Request support\n" + "Enable EGPRS Packet Channel Request support\n") { struct gsm_bts *bts = vty->index; - bts->gprs.supports_egprs_11bit_rach = atoi(argv[0]); + vty_out(vty, "%% 'gprs 11bit_rach_support_for_egprs' is now deprecated: " + "use '[no] gprs egprs-packet-channel-request' instead%s", VTY_NEWLINE); - if (bts->gprs.mode == BTS_GPRS_NONE && bts->gprs.supports_egprs_11bit_rach) { + bts->gprs.egprs_pkt_chan_request = (argv[0][0] == '1'); + + if (bts->gprs.mode == BTS_GPRS_NONE && bts->gprs.egprs_pkt_chan_request) { vty_out(vty, "%% (E)GPRS is not enabled (see 'gprs mode')%s", VTY_NEWLINE); return CMD_WARNING; } + if (bts->gprs.mode != BTS_GPRS_EGPRS) { + vty_out(vty, "%% EGPRS Packet Channel Request support requires " + "EGPRS mode to be enabled (see 'gprs mode')%s", VTY_NEWLINE); + /* Do not return here, keep the old behaviour. */ + } + + return CMD_SUCCESS; +} + +DEFUN(cfg_bts_gprs_egprs_pkt_chan_req, + cfg_bts_gprs_egprs_pkt_chan_req_cmd, + "gprs egprs-packet-channel-request", + GPRS_TEXT "EGPRS Packet Channel Request support") +{ + struct gsm_bts *bts = vty->index; + + if (bts->gprs.mode != BTS_GPRS_EGPRS) { + vty_out(vty, "%% EGPRS Packet Channel Request support requires " + "EGPRS mode to be enabled (see 'gprs mode')%s", VTY_NEWLINE); + return CMD_WARNING; + } + + bts->gprs.egprs_pkt_chan_request = true; + return CMD_SUCCESS; +} + +DEFUN(cfg_bts_no_gprs_egprs_pkt_chan_req, + cfg_bts_no_gprs_egprs_pkt_chan_req_cmd, + "no gprs egprs-packet-channel-request", + NO_STR GPRS_TEXT "EGPRS Packet Channel Request support") +{ + struct gsm_bts *bts = vty->index; + + if (bts->gprs.mode != BTS_GPRS_EGPRS) { + vty_out(vty, "%% EGPRS Packet Channel Request support requires " + "EGPRS mode to be enabled (see 'gprs mode')%s", VTY_NEWLINE); + return CMD_WARNING; + } + + bts->gprs.egprs_pkt_chan_request = false; return CMD_SUCCESS; } @@ -5406,6 +5452,8 @@ install_element(BTS_NODE, &cfg_bts_radio_link_timeout_inf_cmd); install_element(BTS_NODE, &cfg_bts_gprs_mode_cmd); install_element(BTS_NODE, &cfg_bts_gprs_11bit_rach_support_for_egprs_cmd); + install_element(BTS_NODE, &cfg_bts_no_gprs_egprs_pkt_chan_req_cmd); + install_element(BTS_NODE, &cfg_bts_gprs_egprs_pkt_chan_req_cmd); install_element(BTS_NODE, &cfg_bts_gprs_ns_timer_cmd); install_element(BTS_NODE, &cfg_bts_gprs_rac_cmd); install_element(BTS_NODE, &cfg_bts_gprs_net_ctrl_ord_cmd); diff --git a/src/osmo-bsc/rest_octets.c b/src/osmo-bsc/rest_octets.c index 1d2279b..2238b08 100644 --- a/src/osmo-bsc/rest_octets.c +++ b/src/osmo-bsc/rest_octets.c @@ -822,13 +822,8 @@ /* EGPRS supported in the cell */ bitvec_set_bit(bv, 1); - /* 1bit EGPRS PACKET CHANNEL REQUEST */ - if (gco->supports_egprs_11bit_rach == 0) { - bitvec_set_bit(bv, - gco->ext_info.use_egprs_p_ch_req); - } else { - bitvec_set_bit(bv, 0); - } + /* 1bit EGPRS PACKET CHANNEL REQUEST (inverted logic) */ + bitvec_set_bit(bv, !gco->ext_info.use_egprs_p_ch_req); /* 4bit BEP PERIOD */ bitvec_set_uint(bv, gco->ext_info.bep_period, 4); diff --git a/src/osmo-bsc/system_information.c b/src/osmo-bsc/system_information.c index 6e58419..d5be3f2 100644 --- a/src/osmo-bsc/system_information.c +++ b/src/osmo-bsc/system_information.c @@ -1151,11 +1151,10 @@ .bs_cv_max = 15, .ctrl_ack_type_use_block = true, .ext_info_present = 0, - .supports_egprs_11bit_rach = 0, .ext_info = { /* The values below are just guesses ! */ .egprs_supported = 0, - .use_egprs_p_ch_req = 1, + .use_egprs_p_ch_req = 0, .bep_period = 5, .pfc_supported = 0, .dtm_supported = 0, @@ -1197,8 +1196,12 @@ /* Information about the other SIs */ si13_default.bcch_change_mark = bts->bcch_change_mark; - si13_default.cell_opts.supports_egprs_11bit_rach = - bts->gprs.supports_egprs_11bit_rach; + + /* Whether EGPRS capable MSs shall use EGPRS PACKET CHANNEL REQUEST */ + if (bts->gprs.egprs_pkt_chan_request) + si13_default.cell_opts.ext_info.use_egprs_p_ch_req = 1; + else + si13_default.cell_opts.ext_info.use_egprs_p_ch_req = 0; ret = rest_octets_si13(si13->rest_octets, &si13_default); if (ret < 0) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ied5bd10a806aeeac65ef32339d4ab0e3700e5da9 Gerrit-Change-Number: 17730 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 Apr 6 12:11:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 12:11:13 +0000 Subject: Change in osmo-bsc[master]: rest_octets: cosmetic: fix alignment in gprs_cell_options In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17727 ) Change subject: rest_octets: cosmetic: fix alignment in gprs_cell_options ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17727 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I344ea61df8cc910d9b524c9b2f0e03721eefe56c Gerrit-Change-Number: 17727 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 06 Apr 2020 12: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 Mon Apr 6 12:12:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 12:12:03 +0000 Subject: Change in osmo-bsc[master]: vty: 'gprs 11bit_rach_support_for_egprs': drop redundant check In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17728 ) Change subject: vty: 'gprs 11bit_rach_support_for_egprs': drop redundant check ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17728 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic29fac12414f1821702759a9f5260e941c9868b5 Gerrit-Change-Number: 17728 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 06 Apr 2020 12:12: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 Apr 6 12:12:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 12:12:43 +0000 Subject: Change in osmo-bsc[master]: vty: 'gprs 11bit_rach_support_for_egprs': clarify error message In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17729 ) Change subject: vty: 'gprs 11bit_rach_support_for_egprs': clarify error message ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17729 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I491d319f2829902a8c449db515f928cf7e480482 Gerrit-Change-Number: 17729 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 06 Apr 2020 12:12: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 Apr 6 12:19:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 6 Apr 2020 12:19:11 +0000 Subject: Change in osmo-bsc[master]: rest_octets: cosmetic: fix alignment in gprs_cell_options In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17727 ) Change subject: rest_octets: cosmetic: fix alignment in gprs_cell_options ...................................................................... rest_octets: cosmetic: fix alignment in gprs_cell_options Change-Id: I344ea61df8cc910d9b524c9b2f0e03721eefe56c --- M include/osmocom/bsc/rest_octets.h 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/include/osmocom/bsc/rest_octets.h b/include/osmocom/bsc/rest_octets.h index f7ad682..2c1b162 100644 --- a/include/osmocom/bsc/rest_octets.h +++ b/include/osmocom/bsc/rest_octets.h @@ -88,8 +88,8 @@ uint8_t ext_info_present; struct { uint8_t egprs_supported; - uint8_t use_egprs_p_ch_req; - uint8_t bep_period; + uint8_t use_egprs_p_ch_req; + uint8_t bep_period; uint8_t pfc_supported; uint8_t dtm_supported; uint8_t bss_paging_coordination; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17727 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I344ea61df8cc910d9b524c9b2f0e03721eefe56c Gerrit-Change-Number: 17727 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 Apr 6 12:19:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 6 Apr 2020 12:19:12 +0000 Subject: Change in osmo-bsc[master]: vty: 'gprs 11bit_rach_support_for_egprs': drop redundant check In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17728 ) Change subject: vty: 'gprs 11bit_rach_support_for_egprs': drop redundant check ...................................................................... vty: 'gprs 11bit_rach_support_for_egprs': drop redundant check The VTY command parser would not allow values other than 0 or 1. Change-Id: Ic29fac12414f1821702759a9f5260e941c9868b5 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 1 insertion(+), 7 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index a41db9f..cd3f8a9 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -3137,13 +3137,7 @@ bts->gprs.supports_egprs_11bit_rach = atoi(argv[0]); - if (bts->gprs.supports_egprs_11bit_rach > 1) { - vty_out(vty, "Error in RACH type%s", VTY_NEWLINE); - return CMD_WARNING; - } - - if ((bts->gprs.mode == BTS_GPRS_NONE) && - (bts->gprs.supports_egprs_11bit_rach == 1)) { + if (bts->gprs.mode == BTS_GPRS_NONE && bts->gprs.supports_egprs_11bit_rach) { vty_out(vty, "Error:gprs mode is none and 11bit rach is" " enabled%s", VTY_NEWLINE); return CMD_WARNING; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17728 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic29fac12414f1821702759a9f5260e941c9868b5 Gerrit-Change-Number: 17728 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 Apr 6 12:19:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 6 Apr 2020 12:19:12 +0000 Subject: Change in osmo-bsc[master]: vty: 'gprs 11bit_rach_support_for_egprs': clarify error message In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17729 ) Change subject: vty: 'gprs 11bit_rach_support_for_egprs': clarify error message ...................................................................... vty: 'gprs 11bit_rach_support_for_egprs': clarify error message Change-Id: I491d319f2829902a8c449db515f928cf7e480482 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index cd3f8a9..d3908be 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -3138,8 +3138,7 @@ bts->gprs.supports_egprs_11bit_rach = atoi(argv[0]); if (bts->gprs.mode == BTS_GPRS_NONE && bts->gprs.supports_egprs_11bit_rach) { - vty_out(vty, "Error:gprs mode is none and 11bit rach is" - " enabled%s", VTY_NEWLINE); + vty_out(vty, "%% (E)GPRS is not enabled (see 'gprs mode')%s", VTY_NEWLINE); return CMD_WARNING; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17729 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I491d319f2829902a8c449db515f928cf7e480482 Gerrit-Change-Number: 17729 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 Apr 6 12:20:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 12:20:34 +0000 Subject: Change in osmo-bsc[master]: vty: clarify EGPRS Packet Channel Request message support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17730 ) Change subject: vty: clarify EGPRS Packet Channel Request message support ...................................................................... Patch Set 1: (2 comments) What about enabling the gprs egprs-packet-channel-request (set it to 1) by default if one enables gprs mode egprs? Of course in a follow-up patch. https://gerrit.osmocom.org/c/osmo-bsc/+/17730/1/include/osmocom/bsc/rest_octets.h File include/osmocom/bsc/rest_octets.h: https://gerrit.osmocom.org/c/osmo-bsc/+/17730/1/include/osmocom/bsc/rest_octets.h at 85 PS1, Line 85: bool ctrl_ack_type_use_block; /* use PACKET CONTROL ACKNOWLEDGMENT */ This one seems duplicated too? https://gerrit.osmocom.org/c/osmo-bsc/+/17730/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17730/1/src/osmo-bsc/bsc_vty.c at 3184 PS1, Line 3184: if (bts->gprs.mode != BTS_GPRS_EGPRS) { Does this really make sense here? You are deactivating it. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ied5bd10a806aeeac65ef32339d4ab0e3700e5da9 Gerrit-Change-Number: 17730 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 06 Apr 2020 12:20: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 Mon Apr 6 12:24:02 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 6 Apr 2020 12:24:02 +0000 Subject: Change in osmo-bsc[master]: vty: clarify EGPRS Packet Channel Request message support In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17730 ) Change subject: vty: clarify EGPRS Packet Channel Request message support ...................................................................... Patch Set 1: > Patch Set 1: > > (2 comments) > > What about enabling the gprs egprs-packet-channel-request (set it to 1) by default if one enables gprs mode egprs? Of course in a follow-up patch. I would not do that by default. You cannot be sure that a customer is using a PHY with 11-but RACH detection capabilities. Moreover, it's disabled in OsmoTRX by default due to performance constraints... -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ied5bd10a806aeeac65ef32339d4ab0e3700e5da9 Gerrit-Change-Number: 17730 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 06 Apr 2020 12:24:02 +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 Apr 6 12:25:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 12:25:42 +0000 Subject: Change in osmo-gsm-tester[master]: suites/gprs/: beautify output result of ping tests References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17731 ) Change subject: suites/gprs/: beautify output result of ping tests ...................................................................... suites/gprs/: beautify output result of ping tests Print ping output at the end and replace the whole test stdout report with ping execution. Change-Id: I90001ddc6bc1145ac9d115aee762f4f3500e8dc8 --- M suites/gprs/ping.py M suites/gprs/ping_idle_ping.py 2 files changed, 25 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/31/17731/1 diff --git a/suites/gprs/ping.py b/suites/gprs/ping.py index 9186fe6..22fe80a 100755 --- a/suites/gprs/ping.py +++ b/suites/gprs/ping.py @@ -51,7 +51,8 @@ print("Setting up data plan for %r" % repr(ctx_id_v4)) ms.setup_context_data_plane(ctx_id_v4) print("Running 10 ping requests for %r" % repr(ctx_id_v4)) -ms.run_netns_wait('ping', ('ping', '-c', '10', ggsn.addr())) +proc = ms.run_netns_wait('ping', ('ping', '-c', '10', ggsn.addr())) +output = proc.get_stdout() ms.deactivate_context(ctx_id_v4) # We need to use inet46 since ofono qmi only uses ipv4v6 eua (OS#2713) @@ -65,3 +66,6 @@ # sleep(5) # TODO: send ping to server or open TCP conn with a socket in python # ms.deactivate_context(ctx_id_v46) + +print(output) +test.set_report_stdout(output) diff --git a/suites/gprs/ping_idle_ping.py b/suites/gprs/ping_idle_ping.py index e0968ac..02e2cdf 100755 --- a/suites/gprs/ping_idle_ping.py +++ b/suites/gprs/ping_idle_ping.py @@ -55,12 +55,27 @@ ctx_id_v4 = ms.activate_context(apn='inet46', protocol=ms.CTX_PROT_IPv4) print("Setting up data plane for %r" % repr(ctx_id_v4)) ms.setup_context_data_plane(ctx_id_v4) -print("[1] Running 10 ping requests for %r" % repr(ctx_id_v4)) -ms.run_netns_wait('ping1', ('ping', '-c', '10', ggsn.addr())) +str = "[1] Running 10 ping requests for %r" % repr(ctx_id_v4) +output = str + '\n' +print(str) +proc = ms.run_netns_wait('ping1', ('ping', '-c', '10', ggsn.addr())) +str = proc.get_stdout() +output += str +print(str) -print("Sleeping for 60 seconds") +str = "Sleeping for 60 seconds" +output += str + '\n' +print(str) sleep(60) -print("[2] Running 10 ping requests for %r" % repr(ctx_id_v4)) -ms.run_netns_wait('ping2', ('ping', '-c', '10', ggsn.addr())) +str = "[2] Running 10 ping requests for %r" % repr(ctx_id_v4) +output += str + '\n' +print(str) +proc = ms.run_netns_wait('ping2', ('ping', '-c', '10', ggsn.addr())) +str = proc.get_stdout() +output += str +print(str) + ms.deactivate_context(ctx_id_v4) + +test.set_report_stdout(output) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17731 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: I90001ddc6bc1145ac9d115aee762f4f3500e8dc8 Gerrit-Change-Number: 17731 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 Apr 6 12:29:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 6 Apr 2020 12:29:10 +0000 Subject: Change in osmo-bsc[master]: vty: clarify EGPRS Packet Channel Request message support In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17730 ) Change subject: vty: clarify EGPRS Packet Channel Request message support ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/17730/1/include/osmocom/bsc/rest_octets.h File include/osmocom/bsc/rest_octets.h: https://gerrit.osmocom.org/c/osmo-bsc/+/17730/1/include/osmocom/bsc/rest_octets.h at 85 PS1, Line 85: bool ctrl_ack_type_use_block; /* use PACKET CONTROL ACKNOWLEDGMENT */ > This one seems duplicated too? No. Why do you think so? https://gerrit.osmocom.org/c/osmo-bsc/+/17730/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17730/1/src/osmo-bsc/bsc_vty.c at 3184 PS1, Line 3184: if (bts->gprs.mode != BTS_GPRS_EGPRS) { > Does this really make sense here? You are deactivating it. Not sure. Probably I should remove this check... -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ied5bd10a806aeeac65ef32339d4ab0e3700e5da9 Gerrit-Change-Number: 17730 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 06 Apr 2020 12:29:10 +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 Apr 6 12:49:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 12:49:14 +0000 Subject: Change in osmo-bsc[master]: vty: clarify EGPRS Packet Channel Request message support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17730 ) Change subject: vty: clarify EGPRS Packet Channel Request message support ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17730/1/include/osmocom/bsc/rest_octets.h File include/osmocom/bsc/rest_octets.h: https://gerrit.osmocom.org/c/osmo-bsc/+/17730/1/include/osmocom/bsc/rest_octets.h at 85 PS1, Line 85: bool ctrl_ack_type_use_block; /* use PACKET CONTROL ACKNOWLEDGMENT */ > No. [?] https://gerrit.osmocom.org/c/osmo-bsc/+/17730/1/include/osmocom/bsc/gsm_data.h#1168 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ied5bd10a806aeeac65ef32339d4ab0e3700e5da9 Gerrit-Change-Number: 17730 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 06 Apr 2020 12:49:14 +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 Apr 6 12:50:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 12:50:16 +0000 Subject: Change in osmo-gsm-tester[master]: suites/gprs/: beautify output result of ping tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17731 ) Change subject: suites/gprs/: beautify output result of ping tests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17731 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: I90001ddc6bc1145ac9d115aee762f4f3500e8dc8 Gerrit-Change-Number: 17731 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 06 Apr 2020 12:50: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 Apr 6 12:50:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 12:50:20 +0000 Subject: Change in osmo-gsm-tester[master]: suites/gprs/: beautify output result of ping tests In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17731 ) Change subject: suites/gprs/: beautify output result of ping tests ...................................................................... suites/gprs/: beautify output result of ping tests Print ping output at the end and replace the whole test stdout report with ping execution. Change-Id: I90001ddc6bc1145ac9d115aee762f4f3500e8dc8 --- M suites/gprs/ping.py M suites/gprs/ping_idle_ping.py 2 files changed, 25 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/suites/gprs/ping.py b/suites/gprs/ping.py index 9186fe6..22fe80a 100755 --- a/suites/gprs/ping.py +++ b/suites/gprs/ping.py @@ -51,7 +51,8 @@ print("Setting up data plan for %r" % repr(ctx_id_v4)) ms.setup_context_data_plane(ctx_id_v4) print("Running 10 ping requests for %r" % repr(ctx_id_v4)) -ms.run_netns_wait('ping', ('ping', '-c', '10', ggsn.addr())) +proc = ms.run_netns_wait('ping', ('ping', '-c', '10', ggsn.addr())) +output = proc.get_stdout() ms.deactivate_context(ctx_id_v4) # We need to use inet46 since ofono qmi only uses ipv4v6 eua (OS#2713) @@ -65,3 +66,6 @@ # sleep(5) # TODO: send ping to server or open TCP conn with a socket in python # ms.deactivate_context(ctx_id_v46) + +print(output) +test.set_report_stdout(output) diff --git a/suites/gprs/ping_idle_ping.py b/suites/gprs/ping_idle_ping.py index e0968ac..02e2cdf 100755 --- a/suites/gprs/ping_idle_ping.py +++ b/suites/gprs/ping_idle_ping.py @@ -55,12 +55,27 @@ ctx_id_v4 = ms.activate_context(apn='inet46', protocol=ms.CTX_PROT_IPv4) print("Setting up data plane for %r" % repr(ctx_id_v4)) ms.setup_context_data_plane(ctx_id_v4) -print("[1] Running 10 ping requests for %r" % repr(ctx_id_v4)) -ms.run_netns_wait('ping1', ('ping', '-c', '10', ggsn.addr())) +str = "[1] Running 10 ping requests for %r" % repr(ctx_id_v4) +output = str + '\n' +print(str) +proc = ms.run_netns_wait('ping1', ('ping', '-c', '10', ggsn.addr())) +str = proc.get_stdout() +output += str +print(str) -print("Sleeping for 60 seconds") +str = "Sleeping for 60 seconds" +output += str + '\n' +print(str) sleep(60) -print("[2] Running 10 ping requests for %r" % repr(ctx_id_v4)) -ms.run_netns_wait('ping2', ('ping', '-c', '10', ggsn.addr())) +str = "[2] Running 10 ping requests for %r" % repr(ctx_id_v4) +output += str + '\n' +print(str) +proc = ms.run_netns_wait('ping2', ('ping', '-c', '10', ggsn.addr())) +str = proc.get_stdout() +output += str +print(str) + ms.deactivate_context(ctx_id_v4) + +test.set_report_stdout(output) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17731 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: I90001ddc6bc1145ac9d115aee762f4f3500e8dc8 Gerrit-Change-Number: 17731 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Apr 6 12:50:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 12:50:38 +0000 Subject: Change in osmo-ci[master]: ansible: ogt: Create target amarisoft dirs in slaves In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17726 ) Change subject: ansible: ogt: Create target amarisoft dirs in slaves ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Idd013ac01db545771217808e458e916900fe89a1 Gerrit-Change-Number: 17726 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 06 Apr 2020 12:50: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 Apr 6 13:15:31 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 6 Apr 2020 13:15:31 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: Support zmq rf_driver References: Message-ID: Hello pespin, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17732 to review the following change. Change subject: amarisoft_enb: Support zmq rf_driver ...................................................................... amarisoft_enb: Support zmq rf_driver Change-Id: I958834d99584e33f632b839a0bd0acccc2379049 --- M src/osmo_gsm_tester/amarisoft_enb.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl 3 files changed, 43 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/32/17732/1 diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index 2ef713f..e4f3d64 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -24,7 +24,7 @@ from . import enb def rf_type_valid(rf_type_str): - return rf_type_str in ('uhd') + return rf_type_str in ('uhd', 'zmq') #reference: srsLTE.git srslte_symbol_sz() def num_prb2symbol_sz(num_prb): @@ -167,6 +167,38 @@ self._num_cells = int(values['enb'].get('num_cells', None)) assert self._num_cells + # 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.num_prb()) + rf_dev_args = 'fail_on_disconnect=true' \ + + ',tx_port0=tcp://' + self.addr() + ':2000' \ + + ',tx_port1=tcp://' + self.addr() + ':2002' \ + + ',rx_port0=tcp://' + self.ue.addr() + ':2001' \ + + ',rx_port1=tcp://' + self.ue.addr() + ':2003' \ + + ',tx_freq=2630e6,rx_freq=2510e6,tx_freq2=2650e6,rx_freq2=2530e6' \ + + ',id=enb,base_srate=' + str(base_srate) + config.overlay(values, dict(enb=dict(sample_rate = base_srate / (1000*1000), + rf_dev_args=rf_dev_args))) + + # Set UHD frame size as a function of the cell bandwidth on B2XX + if self._conf.get('rf_dev_type') == 'UHD' and values['enb'].get('rf_dev_args', None) is not None: + if 'b200' in values['enb'].get('rf_dev_args'): + rf_dev_args = values['enb'].get('rf_dev_args', '') + rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else '' + + if self._num_prb < 25: + rf_dev_args += 'send_frame_size=512,recv_frame_size=512' + elif self._num_prb == 25: + rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024' + elif self._num_prb > 25: + rf_dev_args += 'num_recv_frames=64,num_send_frames=64' + + if self._num_prb > 50: + # Reduce over the wire format to sc12 + rf_dev_args += ',otw_format=sc12' + + config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) + logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file config.overlay(values, dict(enb=dict(log_filename=logfile))) diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index fab1649..532472a 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -10,6 +10,11 @@ }, %endif +% if enb.rf_dev_type == 'zmq': + /* Force sampling rate (if uncommented) */ + sample_rate: ${enb.sample_rate}, +%endif + /* Log filter: syntax: layer.field=value[,...] Possible layers are phy, mac, rlc, pdcp, rrc, nas, s1ap, x2ap, gtpu and 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 bbf9b47..466bc8f 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -1,18 +1,13 @@ -/* Parameters for b2x0 UHD device version 2018-10-18 - * Copyright (C) 2015-2018 Amarisoft - */ rf_driver: { name: "${enb.rf_dev_type}", - sync: "none", + sync: "${'1' if enb.rf_dev_type == 'zmq' else 'none'}", /* Use this for b2x0 devices. Bandwidth >= 10 Mhz */ args: "${enb.rf_dev_args}", - - /* Use this for bandwidth == 5 Mhz */ - //args: "send_frame_size=1024,recv_frame_size=1024", - - /* Use this for bandwidth < 5 Mhz */ - //args: "send_frame_size=512,recv_frame_size=512", +% if enb.rf_dev_type == 'zmq': + dl_sample_bits: 16, + ul_sample_bits: 16, +% endif }, tx_gain: 89.0, /* TX gain (in dB) B2x0: 0 to 89.8 dB */ -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17732 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: I958834d99584e33f632b839a0bd0acccc2379049 Gerrit-Change-Number: 17732 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 6 13:15:31 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 6 Apr 2020 13:15:31 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_rf_driver_temp: fix tx time offset for ZMQ driver References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17733 ) Change subject: amarisoft_rf_driver_temp: fix tx time offset for ZMQ driver ...................................................................... amarisoft_rf_driver_temp: fix tx time offset for ZMQ driver Change-Id: Icee282837e62e02a17b93efba4c22756efa2a5d3 --- M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/33/17733/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 466bc8f..7f9d929 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -12,4 +12,8 @@ tx_gain: 89.0, /* TX gain (in dB) B2x0: 0 to 89.8 dB */ rx_gain: 60.0, /* RX gain (in dB) B2x0: 0 to 73 dB */ -tx_time_offset: -150, /* in samples */ +% if enb.rf_dev_type == 'zmq': +tx_time_offset: 0, +% else: +tx_time_offset: -150, +% endif -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17733 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: Icee282837e62e02a17b93efba4c22756efa2a5d3 Gerrit-Change-Number: 17733 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 Apr 6 13:15:32 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 6 Apr 2020 13:15:32 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: add handling of num_cells modifier References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17734 ) Change subject: amarisoft_enb: add handling of num_cells modifier ...................................................................... amarisoft_enb: add handling of num_cells modifier the num_cells modifier allows to create multiple cells in a single enb both cells are by default configured for CA Change-Id: Ie9f16ce06ee56002c01097f2d338278f09ea4337 --- M src/osmo_gsm_tester/amarisoft_enb.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl 2 files changed, 55 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/34/17734/1 diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index e4f3d64..374393a 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -175,7 +175,6 @@ + ',tx_port1=tcp://' + self.addr() + ':2002' \ + ',rx_port0=tcp://' + self.ue.addr() + ':2001' \ + ',rx_port1=tcp://' + self.ue.addr() + ':2003' \ - + ',tx_freq=2630e6,rx_freq=2510e6,tx_freq2=2650e6,rx_freq2=2530e6' \ + ',id=enb,base_srate=' + str(base_srate) config.overlay(values, dict(enb=dict(sample_rate = base_srate / (1000*1000), rf_dev_args=rf_dev_args))) diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 532472a..763af08 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -56,31 +56,44 @@ /* list of cells */ cell_list: [ { + // First cell + dl_earfcn: 2850, + rf_port: 0, + cell_id: 0x01, + n_id_cell: 1, + tac: 0x0001, + root_sequence_index: 204, /* PRACH root sequence index */ + +% if enb.get('num_cells') == '2': + scell_list: [ + { cell_id: 0x02, cross_carrier_scheduling: false, scheduling_cell_id: 0x01, ul_allowed: true}, + ], +% endif + }, +% if enb.get('num_cells') == '2': + { + // Second Cell + dl_earfcn: 3050, + rf_port: 1, + cell_id: 0x02, + n_id_cell: 2, + tac: 0x0001, + root_sequence_index: 205, + + scell_list: [ + { cell_id: 0x01, cross_carrier_scheduling: false, scheduling_cell_id: 0x02, ul_allowed: true}, + ], + }, +% endif + ], /* cell_list */ + + /* default cell parameters */ + cell_default: { /* Broadcasted PLMN identities */ plmn_list: [ "${enb.mcc}${enb.mnc}", ], - //dl_earfcn: 300, /* DL center frequency: 2132 MHz (Band 1) */ - //dl_earfcn: 900, /* DL center frequency: 1960 MHz (Band 2) */ - //dl_earfcn: 1575, /* DL center frequency: 1842.5 MHz (Band 3) */ - //dl_earfcn: 2150, /* DL center frequency: 2130 MHz (Band 4) */ - //dl_earfcn: 2525, /* DL center frequency: 881.5 MHz (Band 5) */ - dl_earfcn: 2850, /* DL center frequency: 2680 MHz (Band 7) */ - //dl_earfcn: 6300, /* 806 MHz (Band 20) */ - //dl_earfcn: 38050, /* 2600 MHz (band 38) */ - //dl_earfcn: 40620, /* 2593 MHz (band 41) */ - //dl_earfcn: 42590, /* 3500 MHz (band 42) */ - - n_id_cell: 1, - cell_id: 0x01, - tac: 0x0001, - root_sequence_index: 204, /* PRACH root sequence index */ - }, - ], /* cell_list */ - - /* default cell parameters */ - cell_default: { n_antenna_dl: 1, /* number of DL antennas */ n_antenna_ul: 1, /* number of UL antennas */ n_rb_dl: ${enb.num_prb}, /* Bandwidth: 25: 5 MHz, 50: 10 MHz, 75: 15 MHz, 100: 20 MHz */ @@ -144,6 +157,28 @@ m_ri = 0 (default) disables RI reporting. */ // m_ri: 8, + pucch_dedicated: { + /* ack/nack feedback mode when carrier aggregation is + enabled. It can be "cs" (for at most two scells) or "pucch3" + (used in all cases if more than two cells). */ + ack_nack_feedback_mode_ca: "cs", + + /* TDD ack/nack feedback mode when a rel 10 UE is detected. It + can be "bundling", "multiplexing", "cs" or "pucch3". By + default is it the same as tdd_ack_nack_feedback_mode. */ + // tdd_ack_nack_feedback_mode_r10: "cs", + + /* 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. */ + n1_pucch_an_cs_count: 1, + + /* number of resource blocks for PUCCH 3. It determines + the maximum number of UEs that can be scheduled in one TTI + using carrier aggregation with PUCCH 3 ack/nack feedback. */ + n3_pucch_an_n_rb: 0, + }, + /* SRS dedicated config. All UEs share these parameters. srs_config_index and freq_domain_position are allocated for each UE) */ -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17734 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: Ie9f16ce06ee56002c01097f2d338278f09ea4337 Gerrit-Change-Number: 17734 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 Apr 6 13:15:33 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 6 Apr 2020 13:15:33 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: fix the configuration of UE params for carrier aggre... References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735 ) Change subject: srsue.conf.tmpl: fix the configuration of UE params for carrier aggregation ...................................................................... srsue.conf.tmpl: fix the configuration of UE params for carrier aggregation the num_carriers is parsed as a string in the conf dict and therefore needs to checked as a string to match Change-Id: I1386812d32e1181ba666720bbb875bf9bbce0f51 --- M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/35/17735/1 diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index c69617c..bedca16 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -109,7 +109,7 @@ 'modem[].features[]': schema.MODEM_FEATURE, 'modem[].rf_dev_type': schema.STR, 'modem[].rf_dev_args': schema.STR, - 'modem[].num_carriers': schema.STR, + 'modem[].num_carriers': schema.INT, 'modem[].additional_args': schema.STR, 'modem[].airplane_t_on_ms': schema.INT, 'modem[].airplane_t_off_ms': schema.INT, diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 90925b3..8f6468a 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -31,7 +31,7 @@ # Default is auto (yes for UHD, no for rest) ##################################################################### [rf] -% if ue.num_carriers == 2: +% if ue.num_carriers == '2': dl_earfcn = 2850,3050 % else: dl_earfcn = 2850 @@ -143,7 +143,7 @@ # mbms_service_port: Port of the MBMS service ##################################################################### [rrc] -% if ue.num_carriers == 2: +% if ue.num_carriers == '2': ue_category = 7 release = 10 % else: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735 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: I1386812d32e1181ba666720bbb875bf9bbce0f51 Gerrit-Change-Number: 17735 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 Apr 6 13:16:52 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 6 Apr 2020 13:16:52 +0000 Subject: Change in osmo-gsm-tester[master]: epc: Replace rlc_drb_mode with qci attribute In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17725 ) Change subject: epc: Replace rlc_drb_mode with qci attribute ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17725 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: I21b7d7009f9b0df8ec4f59189a65cfc26f164f04 Gerrit-Change-Number: 17725 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Mon, 06 Apr 2020 13:16: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 Apr 6 13:17:19 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 6 Apr 2020 13:17:19 +0000 Subject: Change in osmo-gsm-tester[master]: epc: Replace rlc_drb_mode with qci attribute In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17725 ) Change subject: epc: Replace rlc_drb_mode with qci attribute ...................................................................... Patch Set 2: All good. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17725 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: I21b7d7009f9b0df8ec4f59189a65cfc26f164f04 Gerrit-Change-Number: 17725 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Mon, 06 Apr 2020 13:17: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 Mon Apr 6 13:17:28 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 6 Apr 2020 13:17:28 +0000 Subject: Change in osmo-gsm-tester[master]: epc: Replace rlc_drb_mode with qci attribute In-Reply-To: References: Message-ID: srs_andre has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17725 ) Change subject: epc: Replace rlc_drb_mode with qci attribute ...................................................................... epc: Replace rlc_drb_mode with qci attribute Change-Id: I21b7d7009f9b0df8ec4f59189a65cfc26f164f04 --- M example/defaults.conf A example/scenarios/cfg-epc-qci at .conf D example/scenarios/cfg-epc-rlcmode at .conf M src/osmo_gsm_tester/amarisoft_epc.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/schema.py M src/osmo_gsm_tester/srs_epc.py M src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl 8 files changed, 10 insertions(+), 35 deletions(-) Approvals: srs_andre: Looks good to me, approved Jenkins Builder: Verified diff --git a/example/defaults.conf b/example/defaults.conf index 0b9136d..5cda132 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -97,8 +97,9 @@ type: srsepc mcc: 901 mnc: 70 + qci: 9 + srsepc: - rlc_drb_mode: UM enable_pcap: false amarisoft: diff --git a/example/scenarios/cfg-epc-qci at .conf b/example/scenarios/cfg-epc-qci at .conf new file mode 100644 index 0000000..8f9c937 --- /dev/null +++ b/example/scenarios/cfg-epc-qci at .conf @@ -0,0 +1,3 @@ +config: + epc: + qci: ${param1} diff --git a/example/scenarios/cfg-epc-rlcmode at .conf b/example/scenarios/cfg-epc-rlcmode at .conf deleted file mode 100644 index 2ddb044..0000000 --- a/example/scenarios/cfg-epc-rlcmode at .conf +++ /dev/null @@ -1,3 +0,0 @@ -config: - epc: - rlc_drb_mode: ${param1} diff --git a/src/osmo_gsm_tester/amarisoft_epc.py b/src/osmo_gsm_tester/amarisoft_epc.py index c1f341c..a117a9e 100644 --- a/src/osmo_gsm_tester/amarisoft_epc.py +++ b/src/osmo_gsm_tester/amarisoft_epc.py @@ -23,13 +23,6 @@ from . import log, util, config, template, process, remote from . import epc -#def rlc_drb_mode2qci(rlc_drb_mode): -# if rlc_drb_mode.upper() == "UM": -# return 7; -# elif rlc_drb_mode.upper() == "AM": -# return 9; -# raise log.Error('Unexpected rlc_drb_mode', rlc_drb_mode=rlc_drb_mode) - class AmarisoftEPC(epc.EPC): REMOTE_DIR = '/osmo-gsm-tester-amarisoftepc' @@ -150,11 +143,6 @@ config.overlay(values, dict(epc=dict(log_filename=logfile, ifup_filename=ifupfile))) - # Set qci for each subscriber: - #rlc_drb_mode = values['epc'].get('rlc_drb_mode', None) - #assert rlc_drb_mode is not None - #for i in range(len(self.subscriber_list)): - # self.subscriber_list[i]['qci'] = rlc_drb_mode2qci(rlc_drb_mode) 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/resource.py b/src/osmo_gsm_tester/resource.py index c69617c..ad8f4b2 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -125,7 +125,7 @@ 'config.bsc.net.codec_list[]': schema.CODEC, 'config.enb.enable_pcap': schema.BOOL_STR, 'config.epc.type': schema.STR, - 'config.epc.rlc_drb_mode': schema.LTE_RLC_DRB_MODE, + 'config.epc.qci': schema.UINT, 'config.epc.enable_pcap': schema.BOOL_STR, 'config.modem.enable_pcap': schema.BOOL_STR, 'config.amarisoft.license_server_addr': schema.IPV4, diff --git a/src/osmo_gsm_tester/schema.py b/src/osmo_gsm_tester/schema.py index e9d1411..d343bef 100644 --- a/src/osmo_gsm_tester/schema.py +++ b/src/osmo_gsm_tester/schema.py @@ -131,11 +131,6 @@ return raise ValueError('LTE Transmission Mode %d not in expected range' % n) -def lte_rlc_drb_mode(val): - if val.upper() in ('UM', 'AM'): - return - raise ValueError('Unknown LTE RLC DRB Mode value: %r' % val) - def duration(val): if val.isdecimal() or val.endswith('m') or val.endswith('h'): return @@ -161,7 +156,6 @@ CODEC = 'codec' OSMO_TRX_CLOCK_REF = 'osmo_trx_clock_ref' LTE_TRANSMISSION_MODE = 'lte_transmission_mode' -LTE_RLC_DRB_MODE = 'lte_rlc_drb_mode' DURATION = 'duration' SCHEMA_TYPES = { @@ -185,7 +179,6 @@ CODEC: codec, OSMO_TRX_CLOCK_REF: osmo_trx_clock_ref, LTE_TRANSMISSION_MODE: lte_transmission_mode, - LTE_RLC_DRB_MODE: lte_rlc_drb_mode, DURATION: duration, } diff --git a/src/osmo_gsm_tester/srs_epc.py b/src/osmo_gsm_tester/srs_epc.py index b2d728a..7c32486 100644 --- a/src/osmo_gsm_tester/srs_epc.py +++ b/src/osmo_gsm_tester/srs_epc.py @@ -23,13 +23,6 @@ from . import log, util, config, template, process, remote from . import epc -def rlc_drb_mode2qci(rlc_drb_mode): - if rlc_drb_mode.upper() == "UM": - return 7; - elif rlc_drb_mode.upper() == "AM": - return 9; - raise log.Error('Unexpected rlc_drb_mode', rlc_drb_mode=rlc_drb_mode) - class srsEPC(epc.EPC): REMOTE_DIR = '/osmo-gsm-tester-srsepc' @@ -165,10 +158,10 @@ config.overlay(values, dict(epc={'enable_pcap': self.enable_pcap})) # Set qci for each subscriber: - rlc_drb_mode = values['epc'].get('rlc_drb_mode', None) - assert rlc_drb_mode is not None + qci = values['epc'].get('qci', None) + assert qci is not None for i in range(len(self.subscriber_list)): - self.subscriber_list[i]['qci'] = rlc_drb_mode2qci(rlc_drb_mode) + self.subscriber_list[i]['qci'] = qci 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 f17248e..ce7200f 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl @@ -63,7 +63,7 @@ dns_addr: "8.8.8.8", /* Google DNS address */ erabs: [ { - qci: 9, + qci: ${epc.qci}, priority_level: 15, pre_emption_capability: "shall_not_trigger_pre_emption", pre_emption_vulnerability: "not_pre_emptable", -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17725 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: I21b7d7009f9b0df8ec4f59189a65cfc26f164f04 Gerrit-Change-Number: 17725 Gerrit-PatchSet: 3 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 Mon Apr 6 13:19:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 13:19:44 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: Support zmq rf_driver In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17732 ) Change subject: amarisoft_enb: Support zmq rf_driver ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17732 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: I958834d99584e33f632b839a0bd0acccc2379049 Gerrit-Change-Number: 17732 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 06 Apr 2020 13:19: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 Apr 6 13:19:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 13:19:49 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_rf_driver_temp: fix tx time offset for ZMQ driver In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17733 ) Change subject: amarisoft_rf_driver_temp: fix tx time offset for ZMQ driver ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17733 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: Icee282837e62e02a17b93efba4c22756efa2a5d3 Gerrit-Change-Number: 17733 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 06 Apr 2020 13:19: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 Apr 6 13:20:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 13:20:08 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: add handling of num_cells modifier In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17734 ) Change subject: amarisoft_enb: add handling of num_cells modifier ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17734 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: Ie9f16ce06ee56002c01097f2d338278f09ea4337 Gerrit-Change-Number: 17734 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 06 Apr 2020 13:20: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 Apr 6 13:22:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 13:22:26 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: fix the configuration of UE params for carrier aggre... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735 ) Change subject: srsue.conf.tmpl: fix the configuration of UE params for carrier aggregation ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735/1/src/osmo_gsm_tester/resource.py File src/osmo_gsm_tester/resource.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735/1/src/osmo_gsm_tester/resource.py at 112 PS1, Line 112: 'modem[].num_carriers': schema.INT, UINT? https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735/1/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/+/17735/1/src/osmo_gsm_tester/templates/srsue.conf.tmpl at 34 PS1, Line 34: % if ue.num_carriers == '2': what about int(ue.num_carriers) == 2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735 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: I1386812d32e1181ba666720bbb875bf9bbce0f51 Gerrit-Change-Number: 17735 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 06 Apr 2020 13:22: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 Apr 6 13:24:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 6 Apr 2020 13:24:15 +0000 Subject: Change in osmo-bsc[master]: vty: clarify EGPRS Packet Channel Request message support In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17730 ) Change subject: vty: clarify EGPRS Packet Channel Request message support ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/17730/1/include/osmocom/bsc/rest_octets.h File include/osmocom/bsc/rest_octets.h: https://gerrit.osmocom.org/c/osmo-bsc/+/17730/1/include/osmocom/bsc/rest_octets.h at a85 PS1, Line 85: supports_egprs_11bit_rach This parameter is a duplicate of... https://gerrit.osmocom.org/c/osmo-bsc/+/17730/1/include/osmocom/bsc/rest_octets.h at a91 PS1, Line 91: use_egprs_p_ch_req this parameter. https://gerrit.osmocom.org/c/osmo-bsc/+/17730/1/include/osmocom/bsc/rest_octets.h at 85 PS1, Line 85: bool ctrl_ack_type_use_block; /* use PACKET CONTROL ACKNOWLEDGMENT */ > https://gerrit.osmocom.org/c/osmo-bsc/+/17730/1/include/osmocom/bsc/gsm_data. [?] This structure is an abstract representation of GPRS Cell Options IE, while your link points to a sub-structure of 'gsm_bts', where we store some GPRS specific parameters (some of them configured from the VTY). I am just removing duplication within the same structure... -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ied5bd10a806aeeac65ef32339d4ab0e3700e5da9 Gerrit-Change-Number: 17730 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 06 Apr 2020 13:24:15 +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 Mon Apr 6 13:24:59 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 6 Apr 2020 13:24:59 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: fix the configuration of UE params for carrier aggre... In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735 ) Change subject: srsue.conf.tmpl: fix the configuration of UE params for carrier aggregation ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735/1/src/osmo_gsm_tester/resource.py File src/osmo_gsm_tester/resource.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735/1/src/osmo_gsm_tester/resource.py at 112 PS1, Line 112: 'modem[].num_carriers': schema.INT, > UINT? Ack https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735/1/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/+/17735/1/src/osmo_gsm_tester/templates/srsue.conf.tmpl at 34 PS1, Line 34: % if ue.num_carriers == '2': > what about int(ue. [?] sure, sounds good -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735 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: I1386812d32e1181ba666720bbb875bf9bbce0f51 Gerrit-Change-Number: 17735 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Mon, 06 Apr 2020 13:24:59 +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 Apr 6 13:28:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 13:28:42 +0000 Subject: Change in osmo-bsc[master]: vty: clarify EGPRS Packet Channel Request message support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17730 ) Change subject: vty: clarify EGPRS Packet Channel Request message support ...................................................................... Patch Set 1: Code-Review+1 I'd still drop the check during deactivation in the VTY file. Other than that looks good to me. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ied5bd10a806aeeac65ef32339d4ab0e3700e5da9 Gerrit-Change-Number: 17730 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 06 Apr 2020 13:28: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 Apr 6 13:29:49 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 6 Apr 2020 13:29:49 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: fix the configuration of UE params for carrier aggre... In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735 to look at the new patch set (#2). Change subject: srsue.conf.tmpl: fix the configuration of UE params for carrier aggregation ...................................................................... srsue.conf.tmpl: fix the configuration of UE params for carrier aggregation the num_carriers is parsed as a string in the conf dict and therefore needs to converted to int before matching also changed the num_carriers to be of type UINT Change-Id: I1386812d32e1181ba666720bbb875bf9bbce0f51 --- M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/35/17735/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735 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: I1386812d32e1181ba666720bbb875bf9bbce0f51 Gerrit-Change-Number: 17735 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 6 13:34:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 13:34:17 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: fix the configuration of UE params for carrier aggre... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735 ) Change subject: srsue.conf.tmpl: fix the configuration of UE params for carrier aggregation ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735 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: I1386812d32e1181ba666720bbb875bf9bbce0f51 Gerrit-Change-Number: 17735 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Mon, 06 Apr 2020 13: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 Mon Apr 6 13:44:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 13:44:43 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: fix the configuration of UE params for carrier aggre... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735 ) Change subject: srsue.conf.tmpl: fix the configuration of UE params for carrier aggregation ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735 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: I1386812d32e1181ba666720bbb875bf9bbce0f51 Gerrit-Change-Number: 17735 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 06 Apr 2020 13:44: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 Apr 6 13:44:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 13:44:45 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: Support zmq rf_driver In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17732 ) Change subject: amarisoft_enb: Support zmq rf_driver ...................................................................... amarisoft_enb: Support zmq rf_driver Change-Id: I958834d99584e33f632b839a0bd0acccc2379049 --- M src/osmo_gsm_tester/amarisoft_enb.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl 3 files changed, 43 insertions(+), 11 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index 2ef713f..e4f3d64 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -24,7 +24,7 @@ from . import enb def rf_type_valid(rf_type_str): - return rf_type_str in ('uhd') + return rf_type_str in ('uhd', 'zmq') #reference: srsLTE.git srslte_symbol_sz() def num_prb2symbol_sz(num_prb): @@ -167,6 +167,38 @@ self._num_cells = int(values['enb'].get('num_cells', None)) assert self._num_cells + # 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.num_prb()) + rf_dev_args = 'fail_on_disconnect=true' \ + + ',tx_port0=tcp://' + self.addr() + ':2000' \ + + ',tx_port1=tcp://' + self.addr() + ':2002' \ + + ',rx_port0=tcp://' + self.ue.addr() + ':2001' \ + + ',rx_port1=tcp://' + self.ue.addr() + ':2003' \ + + ',tx_freq=2630e6,rx_freq=2510e6,tx_freq2=2650e6,rx_freq2=2530e6' \ + + ',id=enb,base_srate=' + str(base_srate) + config.overlay(values, dict(enb=dict(sample_rate = base_srate / (1000*1000), + rf_dev_args=rf_dev_args))) + + # Set UHD frame size as a function of the cell bandwidth on B2XX + if self._conf.get('rf_dev_type') == 'UHD' and values['enb'].get('rf_dev_args', None) is not None: + if 'b200' in values['enb'].get('rf_dev_args'): + rf_dev_args = values['enb'].get('rf_dev_args', '') + rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else '' + + if self._num_prb < 25: + rf_dev_args += 'send_frame_size=512,recv_frame_size=512' + elif self._num_prb == 25: + rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024' + elif self._num_prb > 25: + rf_dev_args += 'num_recv_frames=64,num_send_frames=64' + + if self._num_prb > 50: + # Reduce over the wire format to sc12 + rf_dev_args += ',otw_format=sc12' + + config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) + logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file config.overlay(values, dict(enb=dict(log_filename=logfile))) diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index fab1649..532472a 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -10,6 +10,11 @@ }, %endif +% if enb.rf_dev_type == 'zmq': + /* Force sampling rate (if uncommented) */ + sample_rate: ${enb.sample_rate}, +%endif + /* Log filter: syntax: layer.field=value[,...] Possible layers are phy, mac, rlc, pdcp, rrc, nas, s1ap, x2ap, gtpu and 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 bbf9b47..466bc8f 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -1,18 +1,13 @@ -/* Parameters for b2x0 UHD device version 2018-10-18 - * Copyright (C) 2015-2018 Amarisoft - */ rf_driver: { name: "${enb.rf_dev_type}", - sync: "none", + sync: "${'1' if enb.rf_dev_type == 'zmq' else 'none'}", /* Use this for b2x0 devices. Bandwidth >= 10 Mhz */ args: "${enb.rf_dev_args}", - - /* Use this for bandwidth == 5 Mhz */ - //args: "send_frame_size=1024,recv_frame_size=1024", - - /* Use this for bandwidth < 5 Mhz */ - //args: "send_frame_size=512,recv_frame_size=512", +% if enb.rf_dev_type == 'zmq': + dl_sample_bits: 16, + ul_sample_bits: 16, +% endif }, tx_gain: 89.0, /* TX gain (in dB) B2x0: 0 to 89.8 dB */ -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17732 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: I958834d99584e33f632b839a0bd0acccc2379049 Gerrit-Change-Number: 17732 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 Apr 6 13:44:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 13:44:45 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_rf_driver_temp: fix tx time offset for ZMQ driver In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17733 ) Change subject: amarisoft_rf_driver_temp: fix tx time offset for ZMQ driver ...................................................................... amarisoft_rf_driver_temp: fix tx time offset for ZMQ driver Change-Id: Icee282837e62e02a17b93efba4c22756efa2a5d3 --- M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: 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 466bc8f..7f9d929 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -12,4 +12,8 @@ tx_gain: 89.0, /* TX gain (in dB) B2x0: 0 to 89.8 dB */ rx_gain: 60.0, /* RX gain (in dB) B2x0: 0 to 73 dB */ -tx_time_offset: -150, /* in samples */ +% if enb.rf_dev_type == 'zmq': +tx_time_offset: 0, +% else: +tx_time_offset: -150, +% endif -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17733 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: Icee282837e62e02a17b93efba4c22756efa2a5d3 Gerrit-Change-Number: 17733 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 Apr 6 13:44:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 13:44:46 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: add handling of num_cells modifier In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17734 ) Change subject: amarisoft_enb: add handling of num_cells modifier ...................................................................... amarisoft_enb: add handling of num_cells modifier the num_cells modifier allows to create multiple cells in a single enb both cells are by default configured for CA Change-Id: Ie9f16ce06ee56002c01097f2d338278f09ea4337 --- M src/osmo_gsm_tester/amarisoft_enb.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl 2 files changed, 55 insertions(+), 21 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index e4f3d64..374393a 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -175,7 +175,6 @@ + ',tx_port1=tcp://' + self.addr() + ':2002' \ + ',rx_port0=tcp://' + self.ue.addr() + ':2001' \ + ',rx_port1=tcp://' + self.ue.addr() + ':2003' \ - + ',tx_freq=2630e6,rx_freq=2510e6,tx_freq2=2650e6,rx_freq2=2530e6' \ + ',id=enb,base_srate=' + str(base_srate) config.overlay(values, dict(enb=dict(sample_rate = base_srate / (1000*1000), rf_dev_args=rf_dev_args))) diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 532472a..763af08 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -56,31 +56,44 @@ /* list of cells */ cell_list: [ { + // First cell + dl_earfcn: 2850, + rf_port: 0, + cell_id: 0x01, + n_id_cell: 1, + tac: 0x0001, + root_sequence_index: 204, /* PRACH root sequence index */ + +% if enb.get('num_cells') == '2': + scell_list: [ + { cell_id: 0x02, cross_carrier_scheduling: false, scheduling_cell_id: 0x01, ul_allowed: true}, + ], +% endif + }, +% if enb.get('num_cells') == '2': + { + // Second Cell + dl_earfcn: 3050, + rf_port: 1, + cell_id: 0x02, + n_id_cell: 2, + tac: 0x0001, + root_sequence_index: 205, + + scell_list: [ + { cell_id: 0x01, cross_carrier_scheduling: false, scheduling_cell_id: 0x02, ul_allowed: true}, + ], + }, +% endif + ], /* cell_list */ + + /* default cell parameters */ + cell_default: { /* Broadcasted PLMN identities */ plmn_list: [ "${enb.mcc}${enb.mnc}", ], - //dl_earfcn: 300, /* DL center frequency: 2132 MHz (Band 1) */ - //dl_earfcn: 900, /* DL center frequency: 1960 MHz (Band 2) */ - //dl_earfcn: 1575, /* DL center frequency: 1842.5 MHz (Band 3) */ - //dl_earfcn: 2150, /* DL center frequency: 2130 MHz (Band 4) */ - //dl_earfcn: 2525, /* DL center frequency: 881.5 MHz (Band 5) */ - dl_earfcn: 2850, /* DL center frequency: 2680 MHz (Band 7) */ - //dl_earfcn: 6300, /* 806 MHz (Band 20) */ - //dl_earfcn: 38050, /* 2600 MHz (band 38) */ - //dl_earfcn: 40620, /* 2593 MHz (band 41) */ - //dl_earfcn: 42590, /* 3500 MHz (band 42) */ - - n_id_cell: 1, - cell_id: 0x01, - tac: 0x0001, - root_sequence_index: 204, /* PRACH root sequence index */ - }, - ], /* cell_list */ - - /* default cell parameters */ - cell_default: { n_antenna_dl: 1, /* number of DL antennas */ n_antenna_ul: 1, /* number of UL antennas */ n_rb_dl: ${enb.num_prb}, /* Bandwidth: 25: 5 MHz, 50: 10 MHz, 75: 15 MHz, 100: 20 MHz */ @@ -144,6 +157,28 @@ m_ri = 0 (default) disables RI reporting. */ // m_ri: 8, + pucch_dedicated: { + /* ack/nack feedback mode when carrier aggregation is + enabled. It can be "cs" (for at most two scells) or "pucch3" + (used in all cases if more than two cells). */ + ack_nack_feedback_mode_ca: "cs", + + /* TDD ack/nack feedback mode when a rel 10 UE is detected. It + can be "bundling", "multiplexing", "cs" or "pucch3". By + default is it the same as tdd_ack_nack_feedback_mode. */ + // tdd_ack_nack_feedback_mode_r10: "cs", + + /* 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. */ + n1_pucch_an_cs_count: 1, + + /* number of resource blocks for PUCCH 3. It determines + the maximum number of UEs that can be scheduled in one TTI + using carrier aggregation with PUCCH 3 ack/nack feedback. */ + n3_pucch_an_n_rb: 0, + }, + /* SRS dedicated config. All UEs share these parameters. srs_config_index and freq_domain_position are allocated for each UE) */ -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17734 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: Ie9f16ce06ee56002c01097f2d338278f09ea4337 Gerrit-Change-Number: 17734 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 Apr 6 13:44:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 13:44:46 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: fix the configuration of UE params for carrier aggre... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735 ) Change subject: srsue.conf.tmpl: fix the configuration of UE params for carrier aggregation ...................................................................... srsue.conf.tmpl: fix the configuration of UE params for carrier aggregation the num_carriers is parsed as a string in the conf dict and therefore needs to converted to int before matching also changed the num_carriers to be of type UINT Change-Id: I1386812d32e1181ba666720bbb875bf9bbce0f51 --- M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 3 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index ad8f4b2..bff8282 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -109,7 +109,7 @@ 'modem[].features[]': schema.MODEM_FEATURE, 'modem[].rf_dev_type': schema.STR, 'modem[].rf_dev_args': schema.STR, - 'modem[].num_carriers': schema.STR, + 'modem[].num_carriers': schema.UINT, 'modem[].additional_args': schema.STR, 'modem[].airplane_t_on_ms': schema.INT, 'modem[].airplane_t_off_ms': schema.INT, diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 90925b3..d97b00c 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -31,7 +31,7 @@ # Default is auto (yes for UHD, no for rest) ##################################################################### [rf] -% if ue.num_carriers == 2: +% if int(ue.num_carriers) == 2: dl_earfcn = 2850,3050 % else: dl_earfcn = 2850 @@ -143,7 +143,7 @@ # mbms_service_port: Port of the MBMS service ##################################################################### [rrc] -% if ue.num_carriers == 2: +% if int(ue.num_carriers) == 2: ue_category = 7 release = 10 % else: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17735 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: I1386812d32e1181ba666720bbb875bf9bbce0f51 Gerrit-Change-Number: 17735 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-CC: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 6 13:55:11 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 6 Apr 2020 13:55:11 +0000 Subject: Change in libosmocore[master]: dtx: add decoding for AMR-DTX frames In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17095 ) Change subject: dtx: add decoding for AMR-DTX frames ...................................................................... Patch Set 12: (2 comments) This should now work as it should https://gerrit.osmocom.org/c/libosmocore/+/17095/10/src/coding/gsm0503_amr_dtx.c File src/coding/gsm0503_amr_dtx.c: https://gerrit.osmocom.org/c/libosmocore/+/17095/10/src/coding/gsm0503_amr_dtx.c at 228 PS10, Line 228: static inline bool detect_afs_sid_first(int *n_errors, int *n_bits_total, const ubit_t *ubits) > I would argue you can remove all that explicit 'inline'. [?] Done https://gerrit.osmocom.org/c/libosmocore/+/17095/10/src/coding/gsm0503_coding.c File src/coding/gsm0503_coding.c: https://gerrit.osmocom.org/c/libosmocore/+/17095/10/src/coding/gsm0503_coding.c at 2203 PS10, Line 2203: if (*dtx == AFS_SID_UPDATE) > style-wise, I would have used a switch (*dtx) here, but please don't change it now, just mentioning [?] I was thinking about it, but with ahs the logic requires an if statement and I wanted to give both implementation a similar look. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2bbdb39ea20461ca08b2e6f1a33532cb55cd5195 Gerrit-Change-Number: 17095 Gerrit-PatchSet: 12 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 06 Apr 2020 13:55:11 +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 Apr 6 13:55:53 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 6 Apr 2020 13:55:53 +0000 Subject: Change in osmo-bts[master]: dtx: add detection of AMR DTX frames for osmo-bts-trx In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17221 ) Change subject: dtx: add detection of AMR DTX frames for osmo-bts-trx ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5afe730fff2fa3199a5913b0de4f5c7b23a39f31 Gerrit-Change-Number: 17221 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Mon, 06 Apr 2020 13:55: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 Mon Apr 6 14:42:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 14:42:08 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: build amarisoft: Set trx_zmq.so RPATH to point to copied dep... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17736 ) Change subject: contrib: build amarisoft: Set trx_zmq.so RPATH to point to copied dependency libsrslte_rf.so ...................................................................... contrib: build amarisoft: Set trx_zmq.so RPATH to point to copied dependency libsrslte_rf.so In the ENB case it's not really required since osmo-gsm-tester makes use of LD_LIBRARY_PATH. However, since the UE is potentially run with capabilitites to create tunnels and alike, LD_LIBRARY_PATH cannot be used and lteue will fail to load trx_zmq.so (because it cannot find its dependency libsrslte_rf.so). Change-Id: Ifcbc6ed1c4c465b4cfab4c5689cde44624095f29 --- M contrib/jenkins-build-amarisoft.sh 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/36/17736/1 diff --git a/contrib/jenkins-build-amarisoft.sh b/contrib/jenkins-build-amarisoft.sh index f971578..e4b37cc 100755 --- a/contrib/jenkins-build-amarisoft.sh +++ b/contrib/jenkins-build-amarisoft.sh @@ -47,6 +47,7 @@ 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 + patchelf --set-rpath '$ORIGIN/' inst-amarisoftenb/trx_zmq.so fi cp ${base}/inst-tmp/trx_uhd-linux*/trx_uhd.so inst-amarisoftenb/ this="amarisoftenb.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" @@ -60,6 +61,7 @@ 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_zmq}/build/libtrx_zmq-linux-2018-10-18.so inst-amarisoftue/trx_zmq.so + patchelf --set-rpath '$ORIGIN/' inst-amarisoftue/trx_zmq.so fi cp ${base}/inst-tmp/trx_uhd-linux*/trx_uhd.so inst-amarisoftue/ this="amarisoftue.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17736 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: Ifcbc6ed1c4c465b4cfab4c5689cde44624095f29 Gerrit-Change-Number: 17736 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 Apr 6 14:55:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 14:55:03 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: build amarisoft: Set trx_zmq.so RPATH to point to copied dep... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17736 ) Change subject: contrib: build amarisoft: Set trx_zmq.so RPATH to point to copied dependency libsrslte_rf.so ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17736 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: Ifcbc6ed1c4c465b4cfab4c5689cde44624095f29 Gerrit-Change-Number: 17736 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 06 Apr 2020 14:55: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 Apr 6 14:55:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 14:55:05 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: build amarisoft: Set trx_zmq.so RPATH to point to copied dep... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17736 ) Change subject: contrib: build amarisoft: Set trx_zmq.so RPATH to point to copied dependency libsrslte_rf.so ...................................................................... contrib: build amarisoft: Set trx_zmq.so RPATH to point to copied dependency libsrslte_rf.so In the ENB case it's not really required since osmo-gsm-tester makes use of LD_LIBRARY_PATH. However, since the UE is potentially run with capabilitites to create tunnels and alike, LD_LIBRARY_PATH cannot be used and lteue will fail to load trx_zmq.so (because it cannot find its dependency libsrslte_rf.so). Change-Id: Ifcbc6ed1c4c465b4cfab4c5689cde44624095f29 --- M contrib/jenkins-build-amarisoft.sh 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/contrib/jenkins-build-amarisoft.sh b/contrib/jenkins-build-amarisoft.sh index f971578..e4b37cc 100755 --- a/contrib/jenkins-build-amarisoft.sh +++ b/contrib/jenkins-build-amarisoft.sh @@ -47,6 +47,7 @@ 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 + patchelf --set-rpath '$ORIGIN/' inst-amarisoftenb/trx_zmq.so fi cp ${base}/inst-tmp/trx_uhd-linux*/trx_uhd.so inst-amarisoftenb/ this="amarisoftenb.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" @@ -60,6 +61,7 @@ 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_zmq}/build/libtrx_zmq-linux-2018-10-18.so inst-amarisoftue/trx_zmq.so + patchelf --set-rpath '$ORIGIN/' inst-amarisoftue/trx_zmq.so fi cp ${base}/inst-tmp/trx_uhd-linux*/trx_uhd.so inst-amarisoftue/ this="amarisoftue.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17736 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: Ifcbc6ed1c4c465b4cfab4c5689cde44624095f29 Gerrit-Change-Number: 17736 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Apr 6 16:02:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 16:02:54 +0000 Subject: Change in osmo-gsm-tester[master]: pcu: Improve logging and gsmtap References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17737 ) Change subject: pcu: Improve logging and gsmtap ...................................................................... pcu: Improve logging and gsmtap Change-Id: I506a39b114eed55a185d329cea5e9d6ba379a2ae --- M src/osmo_gsm_tester/pcu_oc2g.py M src/osmo_gsm_tester/pcu_osmo.py M src/osmo_gsm_tester/pcu_sysmo.py M src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl 11 files changed, 87 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/37/17737/1 diff --git a/src/osmo_gsm_tester/pcu_oc2g.py b/src/osmo_gsm_tester/pcu_oc2g.py index b0572f4..df96fe2 100644 --- a/src/osmo_gsm_tester/pcu_oc2g.py +++ b/src/osmo_gsm_tester/pcu_oc2g.py @@ -110,6 +110,7 @@ config.overlay(values, self.suite_run.config()) config.overlay(values, { 'osmo_pcu_oc2g': { + 'bts_addr': self.btsoc2g.remote_addr(), 'pcu_socket_path': self.btsoc2g.pcu_socket_path() } }) diff --git a/src/osmo_gsm_tester/pcu_osmo.py b/src/osmo_gsm_tester/pcu_osmo.py index 767264c..c5f45d1 100644 --- a/src/osmo_gsm_tester/pcu_osmo.py +++ b/src/osmo_gsm_tester/pcu_osmo.py @@ -68,6 +68,7 @@ config.overlay(values, self.suite_run.config()) config.overlay(values, { 'osmo_pcu': { + 'bts_addr': self.bts.remote_addr(), 'pcu_socket_path': self.bts.pcu_socket_path(), } }) diff --git a/src/osmo_gsm_tester/pcu_sysmo.py b/src/osmo_gsm_tester/pcu_sysmo.py index cd3b75e..3f6149d 100644 --- a/src/osmo_gsm_tester/pcu_sysmo.py +++ b/src/osmo_gsm_tester/pcu_sysmo.py @@ -110,6 +110,7 @@ config.overlay(values, self.suite_run.config()) config.overlay(values, { 'osmo_pcu_sysmo': { + 'bts_addr': self.sysmobts.remote_addr(), 'pcu_socket_path': self.sysmobts.pcu_socket_path() } }) diff --git a/src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl index 1927061..d4f73ad 100644 --- a/src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl @@ -33,9 +33,9 @@ gsmtap-sapi sdcch gsmtap-sapi tch/f gsmtap-sapi tch/h - gsmtap-sapi pacch - gsmtap-sapi pdtch - gsmtap-sapi ptcch + !gsmtap-sapi pacch + !gsmtap-sapi pdtch + !gsmtap-sapi ptcch gsmtap-sapi cbch gsmtap-sapi sacch trx 0 diff --git a/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl index 3548979..b816036 100644 --- a/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl @@ -39,9 +39,9 @@ gsmtap-sapi sdcch gsmtap-sapi tch/f gsmtap-sapi tch/h - gsmtap-sapi pacch - gsmtap-sapi pdtch - gsmtap-sapi ptcch + !gsmtap-sapi pacch + !gsmtap-sapi pdtch + !gsmtap-sapi ptcch gsmtap-sapi cbch gsmtap-sapi sacch %for trx in osmo_bts_octphy.trx_list: diff --git a/src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl index 536e5cb..2533354 100644 --- a/src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl @@ -32,9 +32,9 @@ gsmtap-sapi sdcch gsmtap-sapi tch/f gsmtap-sapi tch/h - gsmtap-sapi pacch - gsmtap-sapi pdtch - gsmtap-sapi ptcch + !gsmtap-sapi pacch + !gsmtap-sapi pdtch + !gsmtap-sapi ptcch gsmtap-sapi cbch gsmtap-sapi sacch trx 0 diff --git a/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl index 2239f74..8a962a5 100644 --- a/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl @@ -44,9 +44,9 @@ gsmtap-sapi sdcch gsmtap-sapi tch/f gsmtap-sapi tch/h - gsmtap-sapi pacch - gsmtap-sapi pdtch - gsmtap-sapi ptcch + !gsmtap-sapi pacch + !gsmtap-sapi pdtch + !gsmtap-sapi ptcch gsmtap-sapi cbch gsmtap-sapi sacch %for chan in osmo_bts_trx.osmo_trx.channels: diff --git a/src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl index cb2e1ec..2276c86 100644 --- a/src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl @@ -35,9 +35,9 @@ gsmtap-sapi sdcch gsmtap-sapi tch/f gsmtap-sapi tch/h - gsmtap-sapi pacch - gsmtap-sapi pdtch - gsmtap-sapi ptcch + !gsmtap-sapi pacch + !gsmtap-sapi pdtch + !gsmtap-sapi ptcch gsmtap-sapi cbch gsmtap-sapi sacch trx 0 diff --git a/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl index 5c03636..0b1cd2d 100644 --- a/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl @@ -1,8 +1,13 @@ log stderr - logging color 1 - logging print extended-timestamp 1 - logging print category 1 - logging level set-all info + logging color 1 + logging print extended-timestamp 1 + logging print category 1 + logging print category-hex 0 + logging print file basename + logging level set-all info +line vty + no login + bind ${osmo_pcu_oc2g.bts_addr} pcu pcu-socket ${osmo_pcu_oc2g.pcu_socket_path} flow-control-interval 10 @@ -10,3 +15,17 @@ alloc-algorithm dynamic alpha 0 gamma 0 + gsmtap-category dl-unknown + !gsmtap-category dl-dummy + gsmtap-category dl-ctrl + gsmtap-category dl-data-gprs + gsmtap-category dl-data-egprs + gsmtap-category dl-ptcch + gsmtap-category dl-agch + gsmtap-category dl-pch + gsmtap-category ul-unknown + !gsmtap-category ul-dummy + gsmtap-category ul-ctrl + gsmtap-category ul-data-gprs + gsmtap-category ul-data-egprs + gsmtap-category ul-rach diff --git a/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl index bcb3d7c..ea1a69a 100644 --- a/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl @@ -1,8 +1,13 @@ log stderr - logging color 1 - logging print extended-timestamp 1 - logging print category 1 - logging level set-all info + logging color 1 + logging print extended-timestamp 1 + logging print category 1 + logging print category-hex 0 + logging print file basename + logging level set-all info +line vty + no login + bind ${osmo_pcu_sysmo.bts_addr} pcu pcu-socket ${osmo_pcu_sysmo.pcu_socket_path} flow-control-interval 10 @@ -10,3 +15,17 @@ alloc-algorithm dynamic alpha 0 gamma 0 + gsmtap-category dl-unknown + !gsmtap-category dl-dummy + gsmtap-category dl-ctrl + gsmtap-category dl-data-gprs + gsmtap-category dl-data-egprs + gsmtap-category dl-ptcch + gsmtap-category dl-agch + gsmtap-category dl-pch + gsmtap-category ul-unknown + !gsmtap-category ul-dummy + gsmtap-category ul-ctrl + gsmtap-category ul-data-gprs + gsmtap-category ul-data-egprs + gsmtap-category ul-rach diff --git a/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl index da7425c..1d050c1 100644 --- a/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl @@ -1,8 +1,13 @@ log stderr - logging color 1 - logging print extended-timestamp 1 - logging print category 1 - logging level set-all info + logging color 1 + logging print extended-timestamp 1 + logging print category 1 + logging print category-hex 0 + logging print file basename + logging level set-all info +line vty + no login + bind ${osmo_pcu.bts_addr} pcu pcu-socket ${osmo_pcu.pcu_socket_path} flow-control-interval 10 @@ -10,3 +15,17 @@ alloc-algorithm dynamic alpha 0 gamma 0 + gsmtap-category dl-unknown + !gsmtap-category dl-dummy + gsmtap-category dl-ctrl + gsmtap-category dl-data-gprs + gsmtap-category dl-data-egprs + gsmtap-category dl-ptcch + gsmtap-category dl-agch + gsmtap-category dl-pch + gsmtap-category ul-unknown + !gsmtap-category ul-dummy + gsmtap-category ul-ctrl + gsmtap-category ul-data-gprs + gsmtap-category ul-data-egprs + gsmtap-category ul-rach -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17737 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: I506a39b114eed55a185d329cea5e9d6ba379a2ae Gerrit-Change-Number: 17737 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 Apr 6 16:02:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 6 Apr 2020 16:02:55 +0000 Subject: Change in osmo-gsm-tester[master]: templates: Improve cs7 config in osmo-{bsc, msc} References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17738 ) Change subject: templates: Improve cs7 config in osmo-{bsc,msc} ...................................................................... templates: Improve cs7 config in osmo-{bsc,msc} Change-Id: I0aa0057c85e606d45e67d01b818db7549033bdbd --- M src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl 3 files changed, 12 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/38/17738/1 diff --git a/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl index 572e765..a03bb0b 100644 --- a/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl @@ -13,9 +13,10 @@ e1_input e1_line 0 driver ipa ipa bind ${bsc.ip_address.addr} -cs7 instance 1 +cs7 instance 0 point-code 0.0.2 asp asp0 2905 0 m3ua + local-ip ${bsc.ip_address.addr} remote-ip ${stp.ip_address.addr} as as0 m3ua asp asp0 diff --git a/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl index 31c57d3..8d0ab23 100644 --- a/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl @@ -18,6 +18,7 @@ cs7 instance 0 point-code 0.0.1 asp asp0 2905 0 m3ua + local-ip ${msc.ip_address.addr} remote-ip ${stp.ip_address.addr} as as0 m3ua asp asp0 diff --git a/src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl index a59b7cd..7d12ab5 100644 --- a/src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl @@ -10,6 +10,15 @@ logging level set-all debug line vty no login +!cs7 instance 0 +! point-code 0.23.4 +! asp asp-clnt-OsmoSGSN-A 2905 0 m3ua +! local-ip ${sgsn.ip_address.addr} +! remote-ip stp.ip_address.addr +! as as-clnt-OsmoSGSN-A m3ua +! asp asp-clnt-OsmoSGSN-A +! routing-key 3 0.23.4 + sgsn gtp local-ip ${sgsn.ip_address.addr} ggsn 0 remote-ip ${ggsn.ip_address.addr} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17738 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: I0aa0057c85e606d45e67d01b818db7549033bdbd Gerrit-Change-Number: 17738 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 Apr 7 08:03:16 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 7 Apr 2020 08:03:16 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoftue.cfg.tmpl: fix UE bandwidth/rate config and power on autom... References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17739 ) Change subject: amarisoftue.cfg.tmpl: fix UE bandwidth/rate config and power on automatically ...................................................................... amarisoftue.cfg.tmpl: fix UE bandwidth/rate config and power on automatically Change-Id: I2d63055d0648a1758905fd277c20edaeec8f9b85 --- M src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl 2 files changed, 12 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/39/17739/1 diff --git a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl index fb34917..4831278 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl @@ -15,7 +15,6 @@ sample_rate: ${ue.sample_rate}, %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", log_filename: "${ue.log_filename}", @@ -25,17 +24,14 @@ include "amarisoft_rf_driver.cfg", - bandwidth: 5, - /* If true, allow the simulation of several UEs at the same time and allow dynamic UE creation from remote API */ - multi_ue: false, + multi_ue: true, cells: [ { - dl_earfcn: 3350, /* 2850 MHz (band 7) */ -// dl_earfcn: 40620, /* 3500 MHz (band 41) */ - n_antenna_dl: 1, /* number of downlink antennas */ + dl_earfcn: 2850, + n_antenna_dl: 1, n_antenna_ul: 1, /* must be provided if multi_ue = true */ @@ -58,6 +54,12 @@ /* Enable it to create a TUN interface for each UE PDN */ //tun_setup_script: "ue-ifup", + + sim_events: [{ + event: "power_on", + start_time: 1, + }], + ue_count: 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 1e385d0..874feca 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -2,11 +2,11 @@ name: "${trx.rf_dev_type}", sync: "${'1' if trx.rf_dev_type == 'zmq' else 'none'}", - /* Use this for b2x0 devices. Bandwidth >= 10 Mhz */ args: "${trx.rf_dev_args}", + % if trx.rf_dev_type == 'zmq': - dl_sample_bits: 16, - ul_sample_bits: 16, + dl_sample_bits: 16, + ul_sample_bits: 16, % endif }, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17739 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: I2d63055d0648a1758905fd277c20edaeec8f9b85 Gerrit-Change-Number: 17739 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 Apr 7 09:20:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 09:20:28 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoftUE: adding basic support for Amarisoft UE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17714 ) Change subject: amarisoftUE: adding basic support for Amarisoft UE ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17714 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: Idda0d3a040663969dd71781814198b47fff7daf3 Gerrit-Change-Number: 17714 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Tue, 07 Apr 2020 09:20: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 Tue Apr 7 09:21:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 09:21:36 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoftue.cfg.tmpl: fix UE bandwidth/rate config and power on autom... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17739 ) Change subject: amarisoftue.cfg.tmpl: fix UE bandwidth/rate config and power on automatically ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17739 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: I2d63055d0648a1758905fd277c20edaeec8f9b85 Gerrit-Change-Number: 17739 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 07 Apr 2020 09:21: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 Apr 7 09:21:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 09:21:41 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoftUE: adding basic support for Amarisoft UE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17714 ) Change subject: amarisoftUE: adding basic support for Amarisoft UE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17714 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: Idda0d3a040663969dd71781814198b47fff7daf3 Gerrit-Change-Number: 17714 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Tue, 07 Apr 2020 09:21: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 Apr 7 09:21:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 09:21:59 +0000 Subject: Change in osmo-gsm-tester[master]: pcu: Improve logging and gsmtap In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17737 ) Change subject: pcu: Improve logging and gsmtap ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17737 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: I506a39b114eed55a185d329cea5e9d6ba379a2ae Gerrit-Change-Number: 17737 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 07 Apr 2020 09: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 Tue Apr 7 09:22:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 09:22:01 +0000 Subject: Change in osmo-gsm-tester[master]: templates: Improve cs7 config in osmo-{bsc, msc} In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17738 ) Change subject: templates: Improve cs7 config in osmo-{bsc,msc} ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17738 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: I0aa0057c85e606d45e67d01b818db7549033bdbd Gerrit-Change-Number: 17738 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 07 Apr 2020 09:22: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 Apr 7 09:22:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 09:22:04 +0000 Subject: Change in osmo-gsm-tester[master]: pcu: Improve logging and gsmtap In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17737 ) Change subject: pcu: Improve logging and gsmtap ...................................................................... pcu: Improve logging and gsmtap Change-Id: I506a39b114eed55a185d329cea5e9d6ba379a2ae --- M src/osmo_gsm_tester/pcu_oc2g.py M src/osmo_gsm_tester/pcu_osmo.py M src/osmo_gsm_tester/pcu_sysmo.py M src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl 11 files changed, 87 insertions(+), 27 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/pcu_oc2g.py b/src/osmo_gsm_tester/pcu_oc2g.py index b0572f4..df96fe2 100644 --- a/src/osmo_gsm_tester/pcu_oc2g.py +++ b/src/osmo_gsm_tester/pcu_oc2g.py @@ -110,6 +110,7 @@ config.overlay(values, self.suite_run.config()) config.overlay(values, { 'osmo_pcu_oc2g': { + 'bts_addr': self.btsoc2g.remote_addr(), 'pcu_socket_path': self.btsoc2g.pcu_socket_path() } }) diff --git a/src/osmo_gsm_tester/pcu_osmo.py b/src/osmo_gsm_tester/pcu_osmo.py index 767264c..c5f45d1 100644 --- a/src/osmo_gsm_tester/pcu_osmo.py +++ b/src/osmo_gsm_tester/pcu_osmo.py @@ -68,6 +68,7 @@ config.overlay(values, self.suite_run.config()) config.overlay(values, { 'osmo_pcu': { + 'bts_addr': self.bts.remote_addr(), 'pcu_socket_path': self.bts.pcu_socket_path(), } }) diff --git a/src/osmo_gsm_tester/pcu_sysmo.py b/src/osmo_gsm_tester/pcu_sysmo.py index cd3b75e..3f6149d 100644 --- a/src/osmo_gsm_tester/pcu_sysmo.py +++ b/src/osmo_gsm_tester/pcu_sysmo.py @@ -110,6 +110,7 @@ config.overlay(values, self.suite_run.config()) config.overlay(values, { 'osmo_pcu_sysmo': { + 'bts_addr': self.sysmobts.remote_addr(), 'pcu_socket_path': self.sysmobts.pcu_socket_path() } }) diff --git a/src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl index 1927061..d4f73ad 100644 --- a/src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl @@ -33,9 +33,9 @@ gsmtap-sapi sdcch gsmtap-sapi tch/f gsmtap-sapi tch/h - gsmtap-sapi pacch - gsmtap-sapi pdtch - gsmtap-sapi ptcch + !gsmtap-sapi pacch + !gsmtap-sapi pdtch + !gsmtap-sapi ptcch gsmtap-sapi cbch gsmtap-sapi sacch trx 0 diff --git a/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl index 3548979..b816036 100644 --- a/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl @@ -39,9 +39,9 @@ gsmtap-sapi sdcch gsmtap-sapi tch/f gsmtap-sapi tch/h - gsmtap-sapi pacch - gsmtap-sapi pdtch - gsmtap-sapi ptcch + !gsmtap-sapi pacch + !gsmtap-sapi pdtch + !gsmtap-sapi ptcch gsmtap-sapi cbch gsmtap-sapi sacch %for trx in osmo_bts_octphy.trx_list: diff --git a/src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl index 536e5cb..2533354 100644 --- a/src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl @@ -32,9 +32,9 @@ gsmtap-sapi sdcch gsmtap-sapi tch/f gsmtap-sapi tch/h - gsmtap-sapi pacch - gsmtap-sapi pdtch - gsmtap-sapi ptcch + !gsmtap-sapi pacch + !gsmtap-sapi pdtch + !gsmtap-sapi ptcch gsmtap-sapi cbch gsmtap-sapi sacch trx 0 diff --git a/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl index 2239f74..8a962a5 100644 --- a/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl @@ -44,9 +44,9 @@ gsmtap-sapi sdcch gsmtap-sapi tch/f gsmtap-sapi tch/h - gsmtap-sapi pacch - gsmtap-sapi pdtch - gsmtap-sapi ptcch + !gsmtap-sapi pacch + !gsmtap-sapi pdtch + !gsmtap-sapi ptcch gsmtap-sapi cbch gsmtap-sapi sacch %for chan in osmo_bts_trx.osmo_trx.channels: diff --git a/src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl index cb2e1ec..2276c86 100644 --- a/src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl @@ -35,9 +35,9 @@ gsmtap-sapi sdcch gsmtap-sapi tch/f gsmtap-sapi tch/h - gsmtap-sapi pacch - gsmtap-sapi pdtch - gsmtap-sapi ptcch + !gsmtap-sapi pacch + !gsmtap-sapi pdtch + !gsmtap-sapi ptcch gsmtap-sapi cbch gsmtap-sapi sacch trx 0 diff --git a/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl index 5c03636..0b1cd2d 100644 --- a/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl @@ -1,8 +1,13 @@ log stderr - logging color 1 - logging print extended-timestamp 1 - logging print category 1 - logging level set-all info + logging color 1 + logging print extended-timestamp 1 + logging print category 1 + logging print category-hex 0 + logging print file basename + logging level set-all info +line vty + no login + bind ${osmo_pcu_oc2g.bts_addr} pcu pcu-socket ${osmo_pcu_oc2g.pcu_socket_path} flow-control-interval 10 @@ -10,3 +15,17 @@ alloc-algorithm dynamic alpha 0 gamma 0 + gsmtap-category dl-unknown + !gsmtap-category dl-dummy + gsmtap-category dl-ctrl + gsmtap-category dl-data-gprs + gsmtap-category dl-data-egprs + gsmtap-category dl-ptcch + gsmtap-category dl-agch + gsmtap-category dl-pch + gsmtap-category ul-unknown + !gsmtap-category ul-dummy + gsmtap-category ul-ctrl + gsmtap-category ul-data-gprs + gsmtap-category ul-data-egprs + gsmtap-category ul-rach diff --git a/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl index bcb3d7c..ea1a69a 100644 --- a/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl @@ -1,8 +1,13 @@ log stderr - logging color 1 - logging print extended-timestamp 1 - logging print category 1 - logging level set-all info + logging color 1 + logging print extended-timestamp 1 + logging print category 1 + logging print category-hex 0 + logging print file basename + logging level set-all info +line vty + no login + bind ${osmo_pcu_sysmo.bts_addr} pcu pcu-socket ${osmo_pcu_sysmo.pcu_socket_path} flow-control-interval 10 @@ -10,3 +15,17 @@ alloc-algorithm dynamic alpha 0 gamma 0 + gsmtap-category dl-unknown + !gsmtap-category dl-dummy + gsmtap-category dl-ctrl + gsmtap-category dl-data-gprs + gsmtap-category dl-data-egprs + gsmtap-category dl-ptcch + gsmtap-category dl-agch + gsmtap-category dl-pch + gsmtap-category ul-unknown + !gsmtap-category ul-dummy + gsmtap-category ul-ctrl + gsmtap-category ul-data-gprs + gsmtap-category ul-data-egprs + gsmtap-category ul-rach diff --git a/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl index da7425c..1d050c1 100644 --- a/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl @@ -1,8 +1,13 @@ log stderr - logging color 1 - logging print extended-timestamp 1 - logging print category 1 - logging level set-all info + logging color 1 + logging print extended-timestamp 1 + logging print category 1 + logging print category-hex 0 + logging print file basename + logging level set-all info +line vty + no login + bind ${osmo_pcu.bts_addr} pcu pcu-socket ${osmo_pcu.pcu_socket_path} flow-control-interval 10 @@ -10,3 +15,17 @@ alloc-algorithm dynamic alpha 0 gamma 0 + gsmtap-category dl-unknown + !gsmtap-category dl-dummy + gsmtap-category dl-ctrl + gsmtap-category dl-data-gprs + gsmtap-category dl-data-egprs + gsmtap-category dl-ptcch + gsmtap-category dl-agch + gsmtap-category dl-pch + gsmtap-category ul-unknown + !gsmtap-category ul-dummy + gsmtap-category ul-ctrl + gsmtap-category ul-data-gprs + gsmtap-category ul-data-egprs + gsmtap-category ul-rach -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17737 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: I506a39b114eed55a185d329cea5e9d6ba379a2ae Gerrit-Change-Number: 17737 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Apr 7 09:22:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 09:22:05 +0000 Subject: Change in osmo-gsm-tester[master]: templates: Improve cs7 config in osmo-{bsc, msc} In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17738 ) Change subject: templates: Improve cs7 config in osmo-{bsc,msc} ...................................................................... templates: Improve cs7 config in osmo-{bsc,msc} Change-Id: I0aa0057c85e606d45e67d01b818db7549033bdbd --- M src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl 3 files changed, 12 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl index 572e765..a03bb0b 100644 --- a/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl @@ -13,9 +13,10 @@ e1_input e1_line 0 driver ipa ipa bind ${bsc.ip_address.addr} -cs7 instance 1 +cs7 instance 0 point-code 0.0.2 asp asp0 2905 0 m3ua + local-ip ${bsc.ip_address.addr} remote-ip ${stp.ip_address.addr} as as0 m3ua asp asp0 diff --git a/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl index 31c57d3..8d0ab23 100644 --- a/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl @@ -18,6 +18,7 @@ cs7 instance 0 point-code 0.0.1 asp asp0 2905 0 m3ua + local-ip ${msc.ip_address.addr} remote-ip ${stp.ip_address.addr} as as0 m3ua asp asp0 diff --git a/src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl index a59b7cd..7d12ab5 100644 --- a/src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl @@ -10,6 +10,15 @@ logging level set-all debug line vty no login +!cs7 instance 0 +! point-code 0.23.4 +! asp asp-clnt-OsmoSGSN-A 2905 0 m3ua +! local-ip ${sgsn.ip_address.addr} +! remote-ip stp.ip_address.addr +! as as-clnt-OsmoSGSN-A m3ua +! asp asp-clnt-OsmoSGSN-A +! routing-key 3 0.23.4 + sgsn gtp local-ip ${sgsn.ip_address.addr} ggsn 0 remote-ip ${ggsn.ip_address.addr} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17738 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: I0aa0057c85e606d45e67d01b818db7549033bdbd Gerrit-Change-Number: 17738 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Apr 7 11:24:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 7 Apr 2020 11:24:12 +0000 Subject: Change in libosmocore[master]: dtx: add decoding for AMR-DTX frames In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17095 ) Change subject: dtx: add decoding for AMR-DTX frames ...................................................................... Patch Set 12: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2bbdb39ea20461ca08b2e6f1a33532cb55cd5195 Gerrit-Change-Number: 17095 Gerrit-PatchSet: 12 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 07 Apr 2020 11:24: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 Apr 7 11:27:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 7 Apr 2020 11:27:19 +0000 Subject: Change in osmo-bts[master]: dtx: add detection of AMR DTX frames for osmo-bts-trx In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17221 ) Change subject: dtx: add detection of AMR DTX frames for osmo-bts-trx ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5afe730fff2fa3199a5913b0de4f5c7b23a39f31 Gerrit-Change-Number: 17221 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 07 Apr 2020 11: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 Tue Apr 7 11:29:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 7 Apr 2020 11:29:09 +0000 Subject: Change in osmo-bsc[master]: vty: clarify EGPRS Packet Channel Request message support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17730 ) Change subject: vty: clarify EGPRS Packet Channel Request message support ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ied5bd10a806aeeac65ef32339d4ab0e3700e5da9 Gerrit-Change-Number: 17730 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 07 Apr 2020 11:29: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 Apr 7 11:29:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 7 Apr 2020 11:29:24 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/virtphy: remove deprecated 'ms-power-control dsp' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17724 ) Change subject: ttcn3-bts-test/virtphy: remove deprecated 'ms-power-control dsp' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17724 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic85603db10c11de911d20313caf2f819e92d94d1 Gerrit-Change-Number: 17724 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 07 Apr 2020 11:29: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 Apr 7 11:29:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 7 Apr 2020 11:29:26 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/virtphy: remove deprecated 'ms-power-control dsp' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17724 ) Change subject: ttcn3-bts-test/virtphy: remove deprecated 'ms-power-control dsp' ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17724 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic85603db10c11de911d20313caf2f819e92d94d1 Gerrit-Change-Number: 17724 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 07 Apr 2020 11:29: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 Apr 7 11:29:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 7 Apr 2020 11:29:29 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/virtphy: remove deprecated 'ms-power-control dsp' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17724 ) Change subject: ttcn3-bts-test/virtphy: remove deprecated 'ms-power-control dsp' ...................................................................... ttcn3-bts-test/virtphy: remove deprecated 'ms-power-control dsp' osmo-bts-virtual fails to start: Error occurred during reading the below line: ms-power-control dsp This BTS model has no DSP/HW MS Power Control support Failed to parse the config file: '/data/osmo-bts.cfg' Change-Id: Ic85603db10c11de911d20313caf2f819e92d94d1 --- M ttcn3-bts-test/virtphy/osmo-bts.cfg 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved laforge: Looks good to me, approved; Verified diff --git a/ttcn3-bts-test/virtphy/osmo-bts.cfg b/ttcn3-bts-test/virtphy/osmo-bts.cfg index 51e6128..478990d 100644 --- a/ttcn3-bts-test/virtphy/osmo-bts.cfg +++ b/ttcn3-bts-test/virtphy/osmo-bts.cfg @@ -78,7 +78,6 @@ power-ramp max-initial 0 mdBm power-ramp step-size 2000 mdB power-ramp step-interval 1 - ms-power-control dsp phy 0 instance 0 ctrl bind 0.0.0.0 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17724 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic85603db10c11de911d20313caf2f819e92d94d1 Gerrit-Change-Number: 17724 Gerrit-PatchSet: 1 Gerrit-Owner: 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 Apr 7 11:30:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 7 Apr 2020 11:30:41 +0000 Subject: Change in osmo-trx[master]: doc: do not set the base-port of the trx In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17595 ) Change subject: doc: do not set the base-port of the trx ...................................................................... doc: do not set the base-port of the trx In current config files a base port for osmo-trx is set. Lets remove this setting so that compiled-in default (which is the same value) is used. Change-Id: I105d1c51424836daa6893e83a81c83cc7ac6afd4 --- M doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg M doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg M doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg M doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg 4 files changed, 0 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, approved diff --git a/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg b/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg index e2c67d6..16c68da 100644 --- a/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg +++ b/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg @@ -12,7 +12,6 @@ trx bind-ip 127.0.0.1 remote-ip 127.0.0.1 - base-port 5700 egprs disable tx-sps 4 rx-sps 4 diff --git a/doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg b/doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg index e2c67d6..16c68da 100644 --- a/doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg +++ b/doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg @@ -12,7 +12,6 @@ trx bind-ip 127.0.0.1 remote-ip 127.0.0.1 - base-port 5700 egprs disable tx-sps 4 rx-sps 4 diff --git a/doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg b/doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg index 1b15b47..d930da4 100644 --- a/doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg +++ b/doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg @@ -12,7 +12,6 @@ trx bind-ip 127.0.0.1 remote-ip 127.0.0.1 - base-port 5700 dev-args addr=192.168.10.2,pa=NONE,pa_power_max_dbm=23,fifo_ctrl_window=0,status_port=12345 egprs disable tx-sps 4 diff --git a/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg b/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg index 7d02506..b851211 100644 --- a/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg +++ b/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg @@ -12,7 +12,6 @@ trx bind-ip 127.0.0.1 remote-ip 127.0.0.1 - base-port 5700 egprs disable tx-sps 4 rx-sps 4 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I105d1c51424836daa6893e83a81c83cc7ac6afd4 Gerrit-Change-Number: 17595 Gerrit-PatchSet: 3 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 Tue Apr 7 12:09:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 12:09:21 +0000 Subject: Change in libosmocore[master]: gsm0503_coding: Fix misleading comment UL vs DL References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17740 ) Change subject: gsm0503_coding: Fix misleading comment UL vs DL ...................................................................... gsm0503_coding: Fix misleading comment UL vs DL Change-Id: I563c60271e218f9953e26f9bf0304d442c6acd43 --- M src/coding/gsm0503_coding.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/40/17740/1 diff --git a/src/coding/gsm0503_coding.c b/src/coding/gsm0503_coding.c index 8480240..9449f4b 100644 --- a/src/coding/gsm0503_coding.c +++ b/src/coding/gsm0503_coding.c @@ -1168,7 +1168,7 @@ } /* - * EGPRS PDTCH UL block encoding + * EGPRS PDTCH DL block encoding */ static int egprs_type3_map(ubit_t *bursts, const ubit_t *hc, const ubit_t *dc, int usf) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17740 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I563c60271e218f9953e26f9bf0304d442c6acd43 Gerrit-Change-Number: 17740 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 Apr 7 12:09:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 12:09:23 +0000 Subject: Change in libosmocore[master]: gsm0503_coding: Fix USF encoding in MCS1-4 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17741 ) Change subject: gsm0503_coding: Fix USF encoding in MCS1-4 ...................................................................... gsm0503_coding: Fix USF encoding in MCS1-4 osmo-gsm-tester raised an ASan warning in osmo-bts-trx during execution of a test with EGPRS enabled and a modem connecting to it (see OS#4483 for full trace): ==12388==ERROR: AddressSanitizer: global-buffer-overflow on address 0x7fa20b9ab8d0 at pc 0x7fa20b982894 bp 0x7ffdfea8b9c0 sp 0x7ffdfea8b9b8 READ of size 1 at 0x7fa20b9ab8d0 thread T0 #0 0x7fa20b982893 in gsm0503_mcs1_dl_interleave /home/osmocom-build/jenkins/workspace/osmo-gsm-tester_build-osmo-bts/libosmocore/src/coding/gsm0503_interleaving.c:165 Function gsm0503_mcs1_dl_interleave() was being passed the 6-bit USF encoding while clrearly expecting a 12 element array. TS 05.03 5.1.5.1.2 "USF precoding" also clearly states that 12bit encoding is to be used for MCS1-4. Fixes: OS#4483 Change-Id: I94db14de770070b17894a9071aa14391d26e776c --- M src/coding/gsm0503_coding.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/41/17741/1 diff --git a/src/coding/gsm0503_coding.c b/src/coding/gsm0503_coding.c index 9449f4b..5592433 100644 --- a/src/coding/gsm0503_coding.c +++ b/src/coding/gsm0503_coding.c @@ -1176,7 +1176,7 @@ ubit_t iB[456]; const ubit_t *hl_hn = gsm0503_pdtch_hl_hn_ubit[3]; - gsm0503_mcs1_dl_interleave(gsm0503_usf2six[usf], hc, dc, iB); + gsm0503_mcs1_dl_interleave(gsm0503_usf2twelve_ubit[usf], hc, dc, iB); for (i = 0; i < 4; i++) { gsm0503_xcch_burst_map(&iB[i * 114], &bursts[i * 116], -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17741 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I94db14de770070b17894a9071aa14391d26e776c Gerrit-Change-Number: 17741 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 Apr 7 12:09:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 12:09:23 +0000 Subject: Change in libosmocore[master]: gsm0503_tables: Document USF encoding tables References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17742 ) Change subject: gsm0503_tables: Document USF encoding tables ...................................................................... gsm0503_tables: Document USF encoding tables Change-Id: I596c10960bd1ff1b1ec14ad953ce5e1ed040d35a --- M src/coding/gsm0503_tables.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/42/17742/1 diff --git a/src/coding/gsm0503_tables.c b/src/coding/gsm0503_tables.c index 5fe634b..df0abee 100644 --- a/src/coding/gsm0503_tables.c +++ b/src/coding/gsm0503_tables.c @@ -63,6 +63,9 @@ { -127,-127, -127, 127, 127,-127, -127,-127 }, }; +/* + * 3GPP TS 05.03 sec 5.1.2.2 "Block code". Rows re-ordered to be indxed by USF in host bit order. + */ const ubit_t gsm0503_usf2six[8][6] = { { 0,0,0, 0,0,0 }, { 1,0,0, 1,0,1 }, @@ -74,6 +77,9 @@ { 1,1,1, 0,0,0 }, }; +/* + * 3GPP TS 05.03 sec 5.1.4.2 "Block code". Rows re-ordered to be indxed by USF in host bit order. + */ const ubit_t gsm0503_usf2twelve_ubit[8][12] = { { 0,0,0, 0,0,0, 0,0,0, 0,0,0 }, { 1,1,0, 1,0,0, 0,0,1, 0,1,1 }, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17742 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I596c10960bd1ff1b1ec14ad953ce5e1ed040d35a Gerrit-Change-Number: 17742 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 Apr 7 12:29:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 12:29:18 +0000 Subject: Change in libosmocore[master]: gsm0503_coding: Fix USF encoding in MCS1-4 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17741 ) Change subject: gsm0503_coding: Fix USF encoding in MCS1-4 ...................................................................... Patch Set 1: I tested this patch manually and also the test in osmo-gsm-tester which was reproducing the crash is passing now after using this patch. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17741 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I94db14de770070b17894a9071aa14391d26e776c Gerrit-Change-Number: 17741 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Tue, 07 Apr 2020 12:29: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 Tue Apr 7 12:32:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 12:32:41 +0000 Subject: Change in osmo-gsm-tester[master]: pcu: Enable 'egprs only' vty option if egprs requested References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17743 ) Change subject: pcu: Enable 'egprs only' vty option if egprs requested ...................................................................... pcu: Enable 'egprs only' vty option if egprs requested Change-Id: Idd0b5bf8769d693480268c0a0b89dbfd63779e48 --- M src/osmo_gsm_tester/bts.py M src/osmo_gsm_tester/bts_osmotrx.py M src/osmo_gsm_tester/pcu.py M src/osmo_gsm_tester/pcu_oc2g.py M src/osmo_gsm_tester/pcu_osmo.py M src/osmo_gsm_tester/pcu_sysmo.py M src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl 9 files changed, 25 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/43/17743/1 diff --git a/src/osmo_gsm_tester/bts.py b/src/osmo_gsm_tester/bts.py index 6b0331e..2ca44d2 100644 --- a/src/osmo_gsm_tester/bts.py +++ b/src/osmo_gsm_tester/bts.py @@ -131,6 +131,9 @@ def remote_addr(self): return self.conf.get('addr') + def egprs_enabled(self): + return self.conf_for_bsc()['gprs_mode'] == 'egprs' + def cleanup(self): 'Nothing to do by default. Subclass can override if required.' pass diff --git a/src/osmo_gsm_tester/bts_osmotrx.py b/src/osmo_gsm_tester/bts_osmotrx.py index 1322a74..22ff4b6 100644 --- a/src/osmo_gsm_tester/bts_osmotrx.py +++ b/src/osmo_gsm_tester/bts_osmotrx.py @@ -78,7 +78,7 @@ 'osmo_trx': { 'bts_ip': self.remote_addr(), 'trx_ip': self.trx_remote_ip(), - 'egprs': 'enable' if self.conf_for_bsc()['gprs_mode'] == 'egprs' else 'disable', + 'egprs': 'enable' if self.egprs_enabled() else 'disable', 'channels': [{} for trx_i in range(self.num_trx())] } } diff --git a/src/osmo_gsm_tester/pcu.py b/src/osmo_gsm_tester/pcu.py index 9ec8f35..cc338cf 100644 --- a/src/osmo_gsm_tester/pcu.py +++ b/src/osmo_gsm_tester/pcu.py @@ -34,6 +34,13 @@ self.bts = bts self.conf = conf +######################## +# PUBLIC - INTERNAL API +######################## + + def egprs_enabled(self): + return self.bts.egprs_enabled() + ################### # PUBLIC (test API included) ################### diff --git a/src/osmo_gsm_tester/pcu_oc2g.py b/src/osmo_gsm_tester/pcu_oc2g.py index df96fe2..36aef60 100644 --- a/src/osmo_gsm_tester/pcu_oc2g.py +++ b/src/osmo_gsm_tester/pcu_oc2g.py @@ -111,7 +111,8 @@ config.overlay(values, { 'osmo_pcu_oc2g': { 'bts_addr': self.btsoc2g.remote_addr(), - 'pcu_socket_path': self.btsoc2g.pcu_socket_path() + 'pcu_socket_path': self.btsoc2g.pcu_socket_path(), + 'egprs_enabled': self.egprs_enabled(), } }) config.overlay(values, { 'osmo_pcu_oc2g': self.conf }) diff --git a/src/osmo_gsm_tester/pcu_osmo.py b/src/osmo_gsm_tester/pcu_osmo.py index c5f45d1..aac6901 100644 --- a/src/osmo_gsm_tester/pcu_osmo.py +++ b/src/osmo_gsm_tester/pcu_osmo.py @@ -70,6 +70,7 @@ 'osmo_pcu': { 'bts_addr': self.bts.remote_addr(), 'pcu_socket_path': self.bts.pcu_socket_path(), + 'egprs_enabled': self.egprs_enabled(), } }) config.overlay(values, { 'osmo_pcu': self.conf }) diff --git a/src/osmo_gsm_tester/pcu_sysmo.py b/src/osmo_gsm_tester/pcu_sysmo.py index 3f6149d..8998622 100644 --- a/src/osmo_gsm_tester/pcu_sysmo.py +++ b/src/osmo_gsm_tester/pcu_sysmo.py @@ -111,7 +111,8 @@ config.overlay(values, { 'osmo_pcu_sysmo': { 'bts_addr': self.sysmobts.remote_addr(), - 'pcu_socket_path': self.sysmobts.pcu_socket_path() + 'pcu_socket_path': self.sysmobts.pcu_socket_path(), + 'egprs_enabled': self.egprs_enabled(), } }) config.overlay(values, { 'osmo_pcu_sysmo': self.conf }) diff --git a/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl index 0b1cd2d..f5eb03e 100644 --- a/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl @@ -15,6 +15,9 @@ alloc-algorithm dynamic alpha 0 gamma 0 +%if osmo_pcu_oc2g.egprs_enabled: + egprs only +%endif gsmtap-category dl-unknown !gsmtap-category dl-dummy gsmtap-category dl-ctrl diff --git a/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl index ea1a69a..c0e6cd2 100644 --- a/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl @@ -15,6 +15,9 @@ alloc-algorithm dynamic alpha 0 gamma 0 +%if osmo_pcu_sysmo.egprs_enabled: + egprs only +%endif gsmtap-category dl-unknown !gsmtap-category dl-dummy gsmtap-category dl-ctrl diff --git a/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl index 1d050c1..7445609 100644 --- a/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl @@ -15,6 +15,9 @@ alloc-algorithm dynamic alpha 0 gamma 0 +%if osmo_pcu.egprs_enabled: + egprs only +%endif gsmtap-category dl-unknown !gsmtap-category dl-dummy gsmtap-category dl-ctrl -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17743 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: Idd0b5bf8769d693480268c0a0b89dbfd63779e48 Gerrit-Change-Number: 17743 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 Apr 7 12:40:56 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 7 Apr 2020 12:40:56 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add measurement config scenario files References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 ) Change subject: enb: add measurement config scenario files ...................................................................... enb: add measurement config scenario files this commit adds basic support for configuring measurement in the eNB config. It currently support A1, A2, and A3 events. By default UE measurements are turned off and need to be enabled with +cfg-enb-meas+ Change-Id: Ia7657be2396886840570bc41645450a268b4cfff --- M example/defaults.conf A example/scenarios/cfg-enb-meas-a1 at .conf A example/scenarios/cfg-enb-meas-a2 at .conf A example/scenarios/cfg-enb-meas-a3 at .conf A example/scenarios/cfg-enb-meas.conf M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl 7 files changed, 72 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/44/17744/1 diff --git a/example/defaults.conf b/example/defaults.conf index 5cda132..59140b2 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -118,6 +118,19 @@ amarisoftenb: num_prb: 100 enable_pcap: false + enable_measurements: false + a1_report_type: rsrp + a1_rsrp: -105 + a1_hysteresis: 0 + a1_time_to_trigger: 640 + a2_report_type: rsrp + a2_rsrp: -110 + a2_hysteresis: 0 + a2_time_to_trigger: 640 + a3_report_type: rsrp + a3_offset: 6 + a3_hysteresis: 0 + a3_time_to_trigger: 480 srsue: enable_pcap: false diff --git a/example/scenarios/cfg-enb-meas-a1 at .conf b/example/scenarios/cfg-enb-meas-a1 at .conf new file mode 100644 index 0000000..3b9ea63 --- /dev/null +++ b/example/scenarios/cfg-enb-meas-a1 at .conf @@ -0,0 +1,6 @@ +config: + enb: + a1_report_type: ${param1} + a1_rsrp: ${param2} + a1_hysteresis: ${param3} + a1_time_to_trigger: ${param4} diff --git a/example/scenarios/cfg-enb-meas-a2 at .conf b/example/scenarios/cfg-enb-meas-a2 at .conf new file mode 100644 index 0000000..0ec4e9e --- /dev/null +++ b/example/scenarios/cfg-enb-meas-a2 at .conf @@ -0,0 +1,6 @@ +config: + enb: + a2_report_type: ${param1} + a2_rsrp: ${param2} + a2_hysteresis: ${param3} + a2_time_to_trigger: ${param4} diff --git a/example/scenarios/cfg-enb-meas-a3 at .conf b/example/scenarios/cfg-enb-meas-a3 at .conf new file mode 100644 index 0000000..8a2bd54 --- /dev/null +++ b/example/scenarios/cfg-enb-meas-a3 at .conf @@ -0,0 +1,6 @@ +config: + enb: + a3_report_type: ${param1} + a3_offset: ${param2} + a3_hysteresis: ${param3} + a3_time_to_trigger: ${param4} diff --git a/example/scenarios/cfg-enb-meas.conf b/example/scenarios/cfg-enb-meas.conf new file mode 100644 index 0000000..7f1776c --- /dev/null +++ b/example/scenarios/cfg-enb-meas.conf @@ -0,0 +1,3 @@ +config: + enb: + enable_measurements: true diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index ea1b543..cce8428 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -124,6 +124,19 @@ { 'defaults.timeout': schema.STR, 'config.bsc.net.codec_list[]': schema.CODEC, 'config.enb.enable_pcap': schema.BOOL_STR, + 'config.enb.enable_measurements': schema.BOOL_STR, + 'config.enb.a1_report_type': schema.STR, + 'config.enb.a1_rsrp': schema.INT, + 'config.enb.a1_hysteresis': schema.INT, + 'config.enb.a1_time_to_trigger': schema.INT, + 'config.enb.a2_report_type': schema.STR, + 'config.enb.a2_rsrp': schema.INT, + 'config.enb.a2_hysteresis': schema.INT, + 'config.enb.a2_time_to_trigger': schema.INT, + 'config.enb.a3_report_type': schema.STR, + 'config.enb.a3_offset': schema.INT, + 'config.enb.a3_hysteresis': schema.INT, + 'config.enb.a3_time_to_trigger': schema.INT, 'config.epc.type': schema.STR, 'config.epc.qci': schema.UINT, 'config.epc.enable_pcap': schema.BOOL_STR, diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 763af08..50b8561 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -229,5 +229,30 @@ /* DRB configuration */ drb_config: "amarisoft_drb.cfg", + +% if enb.enable_measurements == 'True': + /* measurement configuration */ + meas_config_desc: { + a1_report_type: "${enb.a1_report_type}", + a1_rsrp: ${enb.a1_rsrp}, + a1_hysteresis: ${enb.a1_hysteresis}, + a1_time_to_trigger: ${enb.a1_time_to_trigger}, + a2_report_type: "${enb.a2_report_type}", + a2_rsrp: ${enb.a2_rsrp}, + a2_hysteresis: ${enb.a2_hysteresis}, + a2_time_to_trigger: ${enb.a2_time_to_trigger}, + a3_report_type: "${enb.a3_report_type}", + a3_offset: ${enb.a3_offset}, + a3_hysteresis: ${enb.a3_hysteresis}, + a3_time_to_trigger: ${enb.a3_time_to_trigger}, + }, + + /* measurement gap configuration */ + meas_gap_config: "gp0", + + /* if true, initiate a handover when a suitable measurement report + is received */ + ho_from_meas: true, +% endif }, } -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 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: Ia7657be2396886840570bc41645450a268b4cfff Gerrit-Change-Number: 17744 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 Apr 7 12:57:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 12:57:22 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add measurement config scenario files In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 ) Change subject: enb: add measurement config scenario files ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744/1/example/scenarios/cfg-enb-meas-a1%40.conf File example/scenarios/cfg-enb-meas-a1 at .conf: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744/1/example/scenarios/cfg-enb-meas-a1%40.conf at 3 PS1, Line 3: a1_report_type: ${param1} Why not making one scenario conf out of the 4 you introduce? config: enb: enable_measurements: true ${param1}_report_type: ${param2} ${param1}_rsrp: ${param3} ${param1}_hysteresis: ${param4} ${param1}_time_to_trigger: ${param5} https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744/1/src/osmo_gsm_tester/resource.py File src/osmo_gsm_tester/resource.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744/1/src/osmo_gsm_tester/resource.py at 127 PS1, Line 127: 'config.enb.enable_measurements': schema.BOOL_STR, I'd better put this under RESOURCE_SCHEMA as use "modifier". This way it can be configured per ENB. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 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: Ia7657be2396886840570bc41645450a268b4cfff Gerrit-Change-Number: 17744 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 07 Apr 2020 12:57: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 Tue Apr 7 13:04:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 7 Apr 2020 13:04:52 +0000 Subject: Change in libosmocore[master]: gsm0503_coding: Fix misleading comment UL vs DL In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17740 ) Change subject: gsm0503_coding: Fix misleading comment UL vs DL ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17740 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I563c60271e218f9953e26f9bf0304d442c6acd43 Gerrit-Change-Number: 17740 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 07 Apr 2020 13:04: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 Apr 7 13:07:07 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 7 Apr 2020 13:07:07 +0000 Subject: Change in libosmocore[master]: gsm0503_coding: Fix USF encoding in MCS1-4 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17741 ) Change subject: gsm0503_coding: Fix USF encoding in MCS1-4 ...................................................................... Patch Set 1: Code-Review+1 Can you please add a unit test to tests/coding? Thanks! -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17741 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I94db14de770070b17894a9071aa14391d26e776c Gerrit-Change-Number: 17741 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Tue, 07 Apr 2020 13: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 Tue Apr 7 13:07:44 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 7 Apr 2020 13:07:44 +0000 Subject: Change in libosmocore[master]: gsm0503_tables: Document USF encoding tables In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17742 ) Change subject: gsm0503_tables: Document USF encoding tables ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17742 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I596c10960bd1ff1b1ec14ad953ce5e1ed040d35a Gerrit-Change-Number: 17742 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 07 Apr 2020 13:07: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 Apr 7 13:07:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 7 Apr 2020 13:07:52 +0000 Subject: Change in libosmocore[master]: gsm0503_coding: Fix misleading comment UL vs DL In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17740 ) Change subject: gsm0503_coding: Fix misleading comment UL vs DL ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17740 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I563c60271e218f9953e26f9bf0304d442c6acd43 Gerrit-Change-Number: 17740 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 07 Apr 2020 13: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 Tue Apr 7 13:58:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 7 Apr 2020 13:58:57 +0000 Subject: Change in libosmocore[master]: gsm0503_coding: Fix misleading comment UL vs DL In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17740 ) Change subject: gsm0503_coding: Fix misleading comment UL vs DL ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17740 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I563c60271e218f9953e26f9bf0304d442c6acd43 Gerrit-Change-Number: 17740 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 07 Apr 2020 13:58: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 Apr 7 13:58:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 7 Apr 2020 13:58:59 +0000 Subject: Change in libosmocore[master]: gsm0503_coding: Fix misleading comment UL vs DL In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17740 ) Change subject: gsm0503_coding: Fix misleading comment UL vs DL ...................................................................... gsm0503_coding: Fix misleading comment UL vs DL Change-Id: I563c60271e218f9953e26f9bf0304d442c6acd43 --- M src/coding/gsm0503_coding.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/coding/gsm0503_coding.c b/src/coding/gsm0503_coding.c index 8480240..9449f4b 100644 --- a/src/coding/gsm0503_coding.c +++ b/src/coding/gsm0503_coding.c @@ -1168,7 +1168,7 @@ } /* - * EGPRS PDTCH UL block encoding + * EGPRS PDTCH DL block encoding */ static int egprs_type3_map(ubit_t *bursts, const ubit_t *hc, const ubit_t *dc, int usf) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17740 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I563c60271e218f9953e26f9bf0304d442c6acd43 Gerrit-Change-Number: 17740 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 Apr 7 13:59:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 7 Apr 2020 13:59:22 +0000 Subject: Change in libosmocore[master]: gsm0503_coding: Fix USF encoding in MCS1-4 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17741 ) Change subject: gsm0503_coding: Fix USF encoding in MCS1-4 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17741 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I94db14de770070b17894a9071aa14391d26e776c Gerrit-Change-Number: 17741 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Tue, 07 Apr 2020 13:59: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 Apr 7 13:59:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 7 Apr 2020 13:59:39 +0000 Subject: Change in libosmocore[master]: gsm0503_tables: Document USF encoding tables In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17742 ) Change subject: gsm0503_tables: Document USF encoding tables ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17742 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I596c10960bd1ff1b1ec14ad953ce5e1ed040d35a Gerrit-Change-Number: 17742 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 07 Apr 2020 13: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 Tue Apr 7 14:01:08 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 7 Apr 2020 14:01:08 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add measurement config scenario files In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 to look at the new patch set (#2). Change subject: enb: add measurement config scenario files ...................................................................... enb: add measurement config scenario files this commit adds basic support for configuring measurement in the eNB config. It currently support A1, A2, and A3 events. By default UE measurements are turned off and need to be enabled with: +cfg-enb-meas+ An event can be configured with: +cfg-enb-meas-event@{name},{report_type},{value},{hysterisis},{time to trigger} For example one can update the a2 and a3 event with: +cfg-enb-meas-event at a2,rsrq,-40,2,480+cfg-enb-meas-event at a3,rsrp,6,1,512 Change-Id: Ia7657be2396886840570bc41645450a268b4cfff --- M example/defaults.conf A example/scenarios/cfg-enb-meas-event at .conf A example/scenarios/cfg-enb-meas.conf M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl 5 files changed, 60 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/44/17744/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 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: Ia7657be2396886840570bc41645450a268b4cfff Gerrit-Change-Number: 17744 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 Tue Apr 7 14:07:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 14:07:28 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add measurement config scenario files In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 ) Change subject: enb: add measurement config scenario files ...................................................................... Patch Set 2: Code-Review-1 Not all my comments were addressed in the new version. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 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: Ia7657be2396886840570bc41645450a268b4cfff Gerrit-Change-Number: 17744 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 07 Apr 2020 14:07: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 Tue Apr 7 14:18:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 7 Apr 2020 14:18:41 +0000 Subject: Change in osmo-iuh[master]: tests/test-helpers: fix some -Wpointer-sign warnings reported by GCC References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17745 ) Change subject: tests/test-helpers: fix some -Wpointer-sign warnings reported by GCC ...................................................................... tests/test-helpers: fix some -Wpointer-sign warnings reported by GCC Change-Id: I7ebc99fe919fe7ba515c9d8ba601dceb820bf11f --- M src/tests/test-helpers.c 1 file changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/45/17745/1 diff --git a/src/tests/test-helpers.c b/src/tests/test-helpers.c index f218a79..d7ad758 100644 --- a/src/tests/test-helpers.c +++ b/src/tests/test-helpers.c @@ -64,12 +64,12 @@ const uint32_t val1 = 0xdeadbeef; const OCTET_STRING_t text1 = { - .buf = "0123456789012345", + .buf = (uint8_t *) "0123456789012345", .size = 16, }; const OCTET_STRING_t text2 = { - .buf = "01234567890123456789012345678901234567890", + .buf = (uint8_t *) "01234567890123456789012345678901234567890", .size = 40, }; @@ -145,9 +145,9 @@ printf("Testing ranap common functions\n"); - printf("PLMN-Id [ %s]", osmo_hexdump((char*)lai.pLMNidentity.buf, + printf("PLMN-Id [ %s]", osmo_hexdump(lai.pLMNidentity.buf, lai.pLMNidentity.size)); - printf(", LAC [ %s]\n", osmo_hexdump((char*)lai.lAC.buf, + printf(", LAC [ %s]\n", osmo_hexdump(lai.lAC.buf, lai.lAC.size)); rc = ranap_parse_lai(&ra_id, &lai); @@ -164,9 +164,9 @@ uint8_t plmnid_buf_mnc3[] = { 0x21, 0x43, 0x65 }; lai.pLMNidentity.buf = plmnid_buf_mnc3; - printf("PLMN-Id [ %s]", osmo_hexdump((char*)lai.pLMNidentity.buf, + printf("PLMN-Id [ %s]", osmo_hexdump(lai.pLMNidentity.buf, lai.pLMNidentity.size)); - printf(", LAC [ %s]\n", osmo_hexdump((char*)lai.lAC.buf, + printf(", LAC [ %s]\n", osmo_hexdump(lai.lAC.buf, lai.lAC.size)); rc = ranap_parse_lai(&ra_id, &lai); @@ -182,9 +182,9 @@ /* wrong PLMN-Id size */ lai.pLMNidentity.size = 2; - printf("PLMN-Id [ %s]", osmo_hexdump((char*)lai.pLMNidentity.buf, + printf("PLMN-Id [ %s]", osmo_hexdump(lai.pLMNidentity.buf, lai.pLMNidentity.size)); - printf(", LAC [ %s]\n", osmo_hexdump((char*)lai.lAC.buf, + printf(", LAC [ %s]\n", osmo_hexdump(lai.lAC.buf, lai.lAC.size)); rc = ranap_parse_lai(&ra_id, &lai); @@ -196,9 +196,9 @@ lai.pLMNidentity.size = 3; lai.lAC.size = 1; - printf("PLMN-Id [ %s]", osmo_hexdump((char*)lai.pLMNidentity.buf, + printf("PLMN-Id [ %s]", osmo_hexdump(lai.pLMNidentity.buf, lai.pLMNidentity.size)); - printf(", LAC [ %s]\n", osmo_hexdump((char*)lai.lAC.buf, + printf(", LAC [ %s]\n", osmo_hexdump(lai.lAC.buf, lai.lAC.size)); rc = ranap_parse_lai(&ra_id, &lai); -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17745 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I7ebc99fe919fe7ba515c9d8ba601dceb820bf11f Gerrit-Change-Number: 17745 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 Apr 7 14:18:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 7 Apr 2020 14:18:41 +0000 Subject: Change in osmo-iuh[master]: tests/test-helpers: fix endianness: do not print uint32_t as raw bytes References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17746 ) Change subject: tests/test-helpers: fix endianness: do not print uint32_t as raw bytes ...................................................................... tests/test-helpers: fix endianness: do not print uint32_t as raw bytes This unit test would not pass on big-endian machines. Change-Id: I60dbcaa89b031c9a81c35e1dd0d9c963d486014c --- M src/tests/test-helpers.c M src/tests/test-helpers.ok 2 files changed, 2 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/46/17746/1 diff --git a/src/tests/test-helpers.c b/src/tests/test-helpers.c index d7ad758..08236fa 100644 --- a/src/tests/test-helpers.c +++ b/src/tests/test-helpers.c @@ -98,8 +98,7 @@ printf("Decoding back to uint32_t: 0x%x\n", res); ASSERT(res == val1); - printf("Encoding %s to 24-bit asn.1 bitstring\n", - osmo_hexdump_nospc((unsigned char*)&val1, 3)); + printf("Encoding 0x%x to 24-bit asn.1 bitstring\n", val1); asn1_u24_to_bitstring(&enc, &tmpval, val1); ASSERT(enc.size == 24/8); diff --git a/src/tests/test-helpers.ok b/src/tests/test-helpers.ok index ddfea78..f2e466f 100644 --- a/src/tests/test-helpers.ok +++ b/src/tests/test-helpers.ok @@ -6,7 +6,7 @@ Encoding 0xdeadbeef to asn.1 bitstring Encoded: 20deadbeef Decoding back to uint32_t: 0xdeadbeef -Encoding efbead to 24-bit asn.1 bitstring +Encoding 0xdeadbeef to 24-bit asn.1 bitstring Encoded: 18adbeef Decoding string from asn.1: 0123456789012345 Decoding large string from asn1: 0123456789012345678901234567890 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17746 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I60dbcaa89b031c9a81c35e1dd0d9c963d486014c Gerrit-Change-Number: 17746 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 Apr 7 14:18:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 7 Apr 2020 14:18:43 +0000 Subject: Change in osmo-iuh[master]: tests/test-ranap: cosmetic: remove unused variable 'rc' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17747 ) Change subject: tests/test-ranap: cosmetic: remove unused variable 'rc' ...................................................................... tests/test-ranap: cosmetic: remove unused variable 'rc' Change-Id: Ie931d11efd7bb083558852a7f329c984c17fec62 --- M src/tests/test-ranap.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/47/17747/1 diff --git a/src/tests/test-ranap.c b/src/tests/test-ranap.c index 423f992..efa2241 100644 --- a/src/tests/test-ranap.c +++ b/src/tests/test-ranap.c @@ -93,7 +93,7 @@ uint32_t gtp_tei = 0x11223344; uint8_t ik[16] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; uint8_t ck[16] = { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }; - int i, rc; + int i; //asn_debug = 1; -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ie931d11efd7bb083558852a7f329c984c17fec62 Gerrit-Change-Number: 17747 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 Apr 7 14:18:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 7 Apr 2020 14:18:43 +0000 Subject: Change in osmo-iuh[master]: tests/hnb-test-rua: fix implicit declaration of function 'ranap_cn_rx... References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17748 ) Change subject: tests/hnb-test-rua: fix implicit declaration of function 'ranap_cn_rx_co' ...................................................................... tests/hnb-test-rua: fix implicit declaration of function 'ranap_cn_rx_co' Change-Id: I7c4be5309e64ef3ed82a66ccdb07de6a9e286490 --- M src/tests/hnb-test-rua.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/48/17748/1 diff --git a/src/tests/hnb-test-rua.c b/src/tests/hnb-test-rua.c index a218852..c5cfa17 100644 --- a/src/tests/hnb-test-rua.c +++ b/src/tests/hnb-test-rua.c @@ -1,6 +1,7 @@ #include #include +#include #include "hnb-test-layers.h" -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17748 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I7c4be5309e64ef3ed82a66ccdb07de6a9e286490 Gerrit-Change-Number: 17748 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 Apr 7 14:18:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 7 Apr 2020 14:18:43 +0000 Subject: Change in osmo-iuh[master]: tests/hnb-test: remove some unused variables reported by GCC References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17749 ) Change subject: tests/hnb-test: remove some unused variables reported by GCC ...................................................................... tests/hnb-test: remove some unused variables reported by GCC Change-Id: Ifcbc97633e60217494c2106d0de60480d656fae0 --- M src/tests/hnb-test.c 1 file changed, 1 insertion(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/49/17749/1 diff --git a/src/tests/hnb-test.c b/src/tests/hnb-test.c index 27959ec..409da2b 100644 --- a/src/tests/hnb-test.c +++ b/src/tests/hnb-test.c @@ -81,7 +81,6 @@ static int hnb_test_ue_de_register_tx(struct hnb_test *hnb_test) { struct msgb *msg; - int rc, imsi_len; uint32_t ctx_id; UEDe_Register_t dereg; @@ -110,7 +109,7 @@ static int hnb_test_ue_register_tx(struct hnb_test *hnb_test, const char *imsi_str) { struct msgb *msg; - int rc, imsi_len; + int imsi_len; char imsi_buf[16]; @@ -320,7 +319,6 @@ int len) { struct gsm48_auth_req *ar; - int parse_res; len -= (const char *)&gh->data[0] - (const char *)gh; @@ -629,7 +627,6 @@ static int hnb_write_cb(struct osmo_fd *fd, struct msgb *msg) { - struct hnb_test *ctx = fd->data; struct sctp_sndrcvinfo sinfo = { .sinfo_ppid = htonl(msgb_sctp_ppid(msg)), .sinfo_stream = 0, -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17749 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ifcbc97633e60217494c2106d0de60480d656fae0 Gerrit-Change-Number: 17749 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 Apr 7 14:34:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 14:34:08 +0000 Subject: Change in libosmocore[master]: tests/coding: Test decoding of DL EGPRS data packet References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17750 ) Change subject: tests/coding: Test decoding of DL EGPRS data packet ...................................................................... tests/coding: Test decoding of DL EGPRS data packet Change-Id: Ide23a484b980995f24092d1cfbf062aed58fdf61 --- M tests/coding/coding_test.c M tests/coding/coding_test.ok 2 files changed, 106 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/50/17750/1 diff --git a/tests/coding/coding_test.c b/tests/coding/coding_test.c index 17ddfaa..5ae464f 100644 --- a/tests/coding/coding_test.c +++ b/tests/coding/coding_test.c @@ -316,7 +316,76 @@ printf("\n"); } -static void test_pdtch(uint8_t *l2, int len) +struct test_macblock { + bool is_egprs; + uint16_t exp_burst_bits; + uint16_t l2_len; + uint8_t l2[54]; +}; + +struct test_macblock test_macblock[] = { + /* Random frame */ + { false, + GSM0503_GPRS_BURSTS_NBITS, + 54, + { 0xa3, 0xaf, 0x5f, 0xc6, 0x36, 0x43, 0x44, 0xab, + 0xd9, 0x6d, 0x7d, 0x62, 0x24, 0xc9, 0xd2, 0x92, + 0xfa, 0x27, 0x5d, 0x71, 0x7a, 0x59, 0xa8, 0x42, + 0xa3, 0xaf, 0x5f, 0xc6, 0x36, 0x43, 0x44, 0xab, + 0xa3, 0xaf, 0x5f, 0xc6, 0x36, 0x43, 0x44, 0xab, + 0xd9, 0x6d, 0x7d, 0x62, 0x24, 0xc9, 0xd2, 0x92, + 0xfa, 0x27, 0x5d, 0x71, 0x7a, 0xa8 } + }, + /* jolly frame */ + { false, + GSM0503_GPRS_BURSTS_NBITS, + 23, + { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, + 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17 } + }, +/* +GSM RLC/MAC: EGPRS DL HEADER + 0... .... .... 0000 = DL TFI: 0 + 0... .... crumb 1 of DL TFI (decoded above) + .00. .... = RRBP: Reserved Block: (N+13) mod 2715648 (0) + ...0 0... = ES/P: RRBP field is not valid (no Polling) (0) + .... .111 = USF: 7 + 01.. .... 0000 0000 .... ...0 = BSN: 1 + 01.. .... crumb 2 of BSN (decoded above) + ..00 .... = PR: 0 dB (included) to 3 dB (excluded) less than BCCH level - P0 (0) + .... 0000 crumb 0 of DL TFI (decoded above) + 0000 0000 crumb 1 of BSN (decoded above) + .00. .... = SPB (DL): No retransmission (0) + ...1 011. = CPS: MCS-1/P1 (0x0b) + .... ...0 crumb 0 of BSN (decoded above) +GSM RLC/MAC: EGPRS DL DATA BLOCK 1 (BSN 1) + .... ..0. = FBI: Current Block is not last RLC data block in TBF + .... ...0 = Extension: Extension octet follows immediately + 0000 100. = Length Indicator: 4 + .... ...0 = Extension: Extension octet follows immediately + 0010 000. = Length Indicator: 16 + .... ...1 = Extension: No extension octet follows + data segment: LI[0]=4 indicates: (Last segment of) LLC frame (4 octets) + Data (4 bytes) + Data: 012b2b2b + [Length: 4] + data segment: LI[1]=16 indicates: (Last segment of) LLC frame (16 octets) + Data (16 bytes) + Data: 43c0012b2b2b2b2b2b2b2b2b2b2b2b2b + [Length: 16] +*/ + { true, + GSM0503_GPRS_BURSTS_NBITS, + 27, + { 0x07, 0x40, 0x00, 0x16, 0x10, 0x42, 0x02, 0x56, + 0x56, 0x56, 0x86, 0x80, 0x03, 0x56, 0x56, 0x56, + 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, + 0x56, 0x56, 0x00 } + }, +}; + +static void test_pdtch(struct test_macblock *tmb, int len) { uint8_t result[len]; ubit_t bursts_u[116 * 4]; @@ -328,19 +397,22 @@ switch (len) { case 34: case 54: - l2[len - 1] &= 0x7f; + tmb->l2[len - 1] &= 0x7f; result[len - 1] &= 0x7f; break; case 40: - l2[len - 1] &= 0x07; + tmb->l2[len - 1] &= 0x07; result[len - 1] &= 0x07; break; } /* Encode L2 message */ - printf("Encoding: %s\n", osmo_hexdump(l2, len)); - rc = gsm0503_pdtch_encode(bursts_u, l2, len); - CHECK_RC_OR_RET(rc == GSM0503_GPRS_BURSTS_NBITS, "encoding"); + printf("Encoding: %s\n", osmo_hexdump(tmb->l2, len)); + if (tmb->is_egprs) + rc = gsm0503_pdtch_egprs_encode(bursts_u, tmb->l2, len); + else + rc = gsm0503_pdtch_encode(bursts_u, tmb->l2, len); + CHECK_RC_OR_RET(rc == (int)tmb->exp_burst_bits, "encoding"); /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 116 * 4); @@ -349,15 +421,21 @@ dump_sbits((uint8_t *)bursts_s, 348); /* Decode */ - rc = gsm0503_pdtch_decode(result, bursts_s, NULL, - &n_errors, &n_bits_total); + if (tmb->is_egprs) { + /* gsm0503_pdtch_egprs_decode() is meant to decode EGPRS UL frames, so we cannot use it here */ + rc = gsm0503_pdtch_egprs_decode(result, bursts_s, rc, NULL, &n_errors, &n_bits_total); + OSMO_ASSERT(rc == -EIO); + return; + } else { + rc = gsm0503_pdtch_decode(result, bursts_s, NULL, &n_errors, &n_bits_total); + } CHECK_RC_OR_RET(rc == len, "decoding"); printf("Decoded: %s\n", osmo_hexdump(result, len)); printf("pdtch_decode: n_errors=%d n_bits_total=%d ber=%.2f\n", n_errors, n_bits_total, (float)n_errors/n_bits_total); - OSMO_ASSERT(!memcmp(l2, result, len)); + OSMO_ASSERT(!memcmp(tmb->l2, result, len)); printf("\n"); } @@ -377,21 +455,6 @@ 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17 }, }; -uint8_t test_macblock[][54] = { - /* Random frame */ - { 0xa3, 0xaf, 0x5f, 0xc6, 0x36, 0x43, 0x44, 0xab, - 0xd9, 0x6d, 0x7d, 0x62, 0x24, 0xc9, 0xd2, 0x92, - 0xfa, 0x27, 0x5d, 0x71, 0x7a, 0x59, 0xa8, 0x42, - 0xa3, 0xaf, 0x5f, 0xc6, 0x36, 0x43, 0x44, 0xab, - 0xa3, 0xaf, 0x5f, 0xc6, 0x36, 0x43, 0x44, 0xab, - 0xd9, 0x6d, 0x7d, 0x62, 0x24, 0xc9, 0xd2, 0x92, - 0xfa, 0x27, 0x5d, 0x71, 0x7a, 0xa8 }, - /* jolly frame */ - { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, - 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, - 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17 }, -}; - /* 11-bit Access Burst soft-bits (payload only) from an EGPRS capable phone (BSIC 63) */ static const sbit_t test_rach_11bit[6][36] = { { 103, 109, -108, -110, 107, 108, -106, -120, -121, @@ -480,10 +543,14 @@ test_hr(test_l2[i], sizeof(test_l2[0])); for (i = 0; i < len_mb; i++) { - test_pdtch(test_macblock[i], 23); - test_pdtch(test_macblock[i], 34); - test_pdtch(test_macblock[i], 40); - test_pdtch(test_macblock[i], 54); + if (test_macblock[i].is_egprs) { + test_pdtch(&test_macblock[i], test_macblock[i].l2_len); + } else { + test_pdtch(&test_macblock[i], 23); + test_pdtch(&test_macblock[i], 34); + test_pdtch(&test_macblock[i], 40); + test_pdtch(&test_macblock[i], 54); + } } printf("Success\n"); diff --git a/tests/coding/coding_test.ok b/tests/coding/coding_test.ok index 3a4fbf2..91083e4 100644 --- a/tests/coding/coding_test.ok +++ b/tests/coding/coding_test.ok @@ -356,4 +356,15 @@ Decoded: 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 pdtch_decode: n_errors=0 n_bits_total=444 ber=0.00 +Encoding: 07 40 00 16 10 42 02 56 56 56 86 80 03 56 56 56 56 56 56 56 56 56 56 56 56 56 00 +U-Bits: +100111000001011111111010101010011100010011111010000110110 00 00 000110110000010000000011000000000110011001100110010000000 +100010010000000000001101001111110010100100001000100111010 00 01 001001010101100010111000000000010111100011100011010001001 +111100001101001011010000110111100001001001000001000100110 00 01 000000110110110100011111011110011001101100000111100010001 +001000110011010110011011001011100100010001101101011100000 01 00 000010000010010110001111111001011101011000000011101100010 +S-Bits: +81 7f 7f 81 81 81 7f 7f 7f 7f 7f 81 7f 81 81 81 81 81 81 81 81 7f 81 7f 81 7f 81 7f 81 7f 7f 81 81 81 7f 7f 7f 81 7f 7f 81 81 81 81 81 7f 81 7f 7f 7f 7f 81 81 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 81 7f 7f 7f 7f 7f 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 7f 81 81 7f 7f 81 81 7f 7f 81 81 7f 7f 81 7f 7f 7f 7f 7f 7f 7f +81 7f 7f 7f 81 7f 7f 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 81 81 7f 7f 81 7f 81 7f 7f 81 7f 7f 7f 7f 81 7f 7f 7f 81 7f 7f 81 81 81 7f 81 7f 7f 81 7f 7f 81 7f 7f 81 7f 81 7f 81 7f 81 81 7f 7f 7f 81 7f 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 7f 81 81 81 81 7f 7f 7f 81 81 81 7f 7f 7f 81 81 7f 81 7f 7f 7f 81 7f 7f 81 +81 81 81 81 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 7f 81 81 7f 81 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 7f 7f 7f 81 7f 7f 81 7f 7f 81 7f 7f 7f 7f 7f 81 7f 7f 7f 81 7f 7f 81 81 7f 7f 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 81 7f 81 81 7f 81 7f 7f 7f 81 81 81 81 81 7f 81 81 81 81 7f 7f 81 81 7f 7f 81 81 7f 81 81 7f 7f 7f 7f 7f 81 81 81 81 7f 7f 7f 81 7f 7f 7f 81 +7f 7f 81 7f 7f 7f 81 81 7f 7f 81 81 7f 81 7f 81 81 7f 7f 81 81 7f 81 81 7f 7f 81 7f 81 81 81 7f 7f 81 7f 7f 7f 81 7f 7f 7f 81 81 7f 81 81 7f 81 7f 81 81 81 7f 7f 7f 7f 7f 81 7f 7f 7f 7f 7f 81 7f 7f 7f 7f 7f 81 7f 7f 81 7f 81 81 7f 7f 7f 81 81 81 81 81 81 81 7f 7f 81 7f 81 81 81 7f 81 7f 81 81 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 81 7f 7f 7f 81 7f Success -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17750 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ide23a484b980995f24092d1cfbf062aed58fdf61 Gerrit-Change-Number: 17750 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 Apr 7 14:35:42 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 7 Apr 2020 14:35:42 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add measurement config scenario files In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 ) Change subject: enb: add measurement config scenario files ...................................................................... Patch Set 2: (1 comment) sorry, overlooked the other comment, will fix now https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744/1/src/osmo_gsm_tester/resource.py File src/osmo_gsm_tester/resource.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744/1/src/osmo_gsm_tester/resource.py at 127 PS1, Line 127: 'config.enb.enable_measurements': schema.BOOL_STR, > I'd better put this under RESOURCE_SCHEMA as use "modifier". This way it can be configured per ENB. Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 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: Ia7657be2396886840570bc41645450a268b4cfff Gerrit-Change-Number: 17744 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Tue, 07 Apr 2020 14:35: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 Tue Apr 7 14:35:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 14:35:51 +0000 Subject: Change in osmo-iuh[master]: tests/test-helpers: fix some -Wpointer-sign warnings reported by GCC In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17745 ) Change subject: tests/test-helpers: fix some -Wpointer-sign warnings reported by GCC ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17745 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I7ebc99fe919fe7ba515c9d8ba601dceb820bf11f Gerrit-Change-Number: 17745 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 07 Apr 2020 14:35: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 Apr 7 14:37:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 14:37:14 +0000 Subject: Change in osmo-iuh[master]: tests/test-helpers: fix endianness: do not print uint32_t as raw bytes In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17746 ) Change subject: tests/test-helpers: fix endianness: do not print uint32_t as raw bytes ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17746 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I60dbcaa89b031c9a81c35e1dd0d9c963d486014c Gerrit-Change-Number: 17746 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 07 Apr 2020 14:37: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 Apr 7 14:37:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 14:37:28 +0000 Subject: Change in osmo-iuh[master]: tests/test-ranap: cosmetic: remove unused variable 'rc' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17747 ) Change subject: tests/test-ranap: cosmetic: remove unused variable 'rc' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ie931d11efd7bb083558852a7f329c984c17fec62 Gerrit-Change-Number: 17747 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 07 Apr 2020 14:37: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 Tue Apr 7 14:45:14 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 7 Apr 2020 14:45:14 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add measurement modifier to scenario files In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 to look at the new patch set (#3). Change subject: enb: add measurement modifier to scenario files ...................................................................... enb: add measurement modifier to scenario files this commit adds basic support for configuring measurements in the eNB config. It currently support A1, A2, and A3 events. By default UE measurements are turned off and need to be enabled with: +mod-enb-meas+ An event can be configured with: +mod-enb-meas-event@{name},{report_type},{value},{hysterisis},{time to trigger} For example one can update the a2 and a3 event with: +mod-enb-meas-event at a2,rsrq,-40,2,480+mod-enb-meas-event at a3,rsrp,6,1,512 Change-Id: Ia7657be2396886840570bc41645450a268b4cfff --- M example/defaults.conf A example/scenarios/mod-enb-meas-event at .conf A example/scenarios/mod-enb-meas.conf M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl 5 files changed, 60 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/44/17744/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 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: Ia7657be2396886840570bc41645450a268b4cfff Gerrit-Change-Number: 17744 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Apr 7 14:50:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 14:50:18 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add measurement modifier to scenario files In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 ) Change subject: enb: add measurement modifier to scenario files ...................................................................... Patch Set 3: Code-Review-1 (3 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744/3/example/scenarios/mod-enb-meas-event%40.conf File example/scenarios/mod-enb-meas-event at .conf: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744/3/example/scenarios/mod-enb-meas-event%40.conf at 2 PS3, Line 2: enb: Move enable_measurements: true here https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744/3/example/scenarios/mod-enb-meas.conf File example/scenarios/mod-enb-meas.conf: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744/3/example/scenarios/mod-enb-meas.conf at 1 PS3, Line 1: modifiers: This one is not needed https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744/3/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl File src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744/3/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl at 233 PS3, Line 233: % if enb.get('enable_measurements') == 'True': % if enb.enable_measurements: If you have issues with it being a string, then convert it in the python code better. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 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: Ia7657be2396886840570bc41645450a268b4cfff Gerrit-Change-Number: 17744 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Tue, 07 Apr 2020 14:50:18 +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 Apr 7 14:50:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 14:50:48 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add measurement modifier to scenario files In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 ) Change subject: enb: add measurement modifier to scenario files ...................................................................... Patch Set 3: Converting string to bool, See for instance: self.enable_pcap = util.str2bool(values['epc'].get('enable_pcap', 'false')) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 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: Ia7657be2396886840570bc41645450a268b4cfff Gerrit-Change-Number: 17744 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Tue, 07 Apr 2020 14:50:48 +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 Apr 7 15:09:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 15:09:24 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoftUE: adding basic support for Amarisoft UE In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17714 ) Change subject: amarisoftUE: adding basic support for Amarisoft UE ...................................................................... amarisoftUE: adding basic support for Amarisoft UE Change-Id: Idda0d3a040663969dd71781814198b47fff7daf3 --- A example/scenarios/amarisoftue-rftype at .conf M src/osmo_gsm_tester/amarisoft_enb.py A src/osmo_gsm_tester/amarisoft_ue.py M src/osmo_gsm_tester/resource.py A src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl 6 files changed, 359 insertions(+), 6 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/example/scenarios/amarisoftue-rftype at .conf b/example/scenarios/amarisoftue-rftype at .conf new file mode 100644 index 0000000..5bf4cfe --- /dev/null +++ b/example/scenarios/amarisoftue-rftype at .conf @@ -0,0 +1,4 @@ +resources: + modem: + - type: amarisoftue + rf_dev_type: ${param1} diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index 374393a..e6e214f 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -201,6 +201,11 @@ logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file config.overlay(values, dict(enb=dict(log_filename=logfile))) + # rf driver is shared between amarisoft enb and ue, so it has a + # different cfg namespace 'trx'. Copy needed values over there: + config.overlay(values, dict(trx=dict(rf_dev_type=values['enb'].get('rf_dev_type', None), + rf_dev_args=values['enb'].get('rf_dev_args', None)))) + self.gen_conf_file(self.config_file, AmarisoftENB.CFGFILE, values) self.gen_conf_file(self.config_sib1_file, AmarisoftENB.CFGFILE_SIB1, values) self.gen_conf_file(self.config_sib23_file, AmarisoftENB.CFGFILE_SIB23, values) diff --git a/src/osmo_gsm_tester/amarisoft_ue.py b/src/osmo_gsm_tester/amarisoft_ue.py new file mode 100644 index 0000000..31e814e --- /dev/null +++ b/src/osmo_gsm_tester/amarisoft_ue.py @@ -0,0 +1,273 @@ +# osmo_gsm_tester: specifics for running an SRS UE process +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# Author: Pau Espin Pedrol +# +# 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 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 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 os +import pprint + +from . import log, util, config, template, process, remote +from .run_node import RunNode +from .event_loop import MainLoop +from .ms import MS + +def rf_type_valid(rf_type_str): + return rf_type_str in ('uhd', 'zmq') + +#reference: srsLTE.git srslte_symbol_sz() +def num_prb2symbol_sz(num_prb): + if num_prb <= 6: + return 128 + if num_prb <= 15: + return 256 + if num_prb <= 25: + return 384 + if num_prb <= 50: + return 768 + if num_prb <= 75: + return 1024 + if num_prb <= 110: + return 1536 + raise log.Error('invalid num_prb %r', num_prb) + +def num_prb2base_srate(num_prb): + return num_prb2symbol_sz(num_prb) * 15 * 1000 + +class AmarisoftUE(MS): + + REMOTE_DIR = '/osmo-gsm-tester-amarisoftue' + BINFILE = 'lteue' + CFGFILE = 'amarisoft_lteue.cfg' + CFGFILE_RF = 'amarisoft_rf_driver.cfg' + LOGFILE = 'lteue.log' + + def __init__(self, suite_run, conf): + self._addr = conf.get('addr', None) + if self._addr is None: + raise log.Error('addr not set') + super().__init__('amarisoftue_%s' % self._addr, conf) + self.enb = None + self.run_dir = None + self.inst = None + self._bin_prefix = None + self.config_file = None + self.config_rf_file = None + self.log_file = None + self.process = None + self.rem_host = None + self.remote_inst = None + self.remote_config_file = None + self.remote_config_rf_file = None + self.remote_log_file = None + self.suite_run = suite_run + self.remote_user = conf.get('remote_user', None) + 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)) + + def bin_prefix(self): + if self._bin_prefix is None: + self._bin_prefix = os.getenv('AMARISOFT_PATH_UE', None) + if self._bin_prefix == None: + self._bin_prefix = self.suite_run.trial.get_inst('amarisoftue') + return self._bin_prefix + + def cleanup(self): + if self.process is None: + return + if self.setup_runs_locally(): + return + # 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: + self.log(repr(e)) + + def setup_runs_locally(self): + return self.remote_user is None + + def netns(self): + return "amarisoftue1" + + def stop(self): + self.suite_run.stop_process(self.process) + + def connect(self, enb): + self.log('Starting amarisoftue') + self.enb = enb + self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.configure() + if self.setup_runs_locally(): + self.start_locally() + else: + self.start_remotely() + + # send t+Enter to enable console trace + self.dbg('Enabling console trace') + self.process.stdin_write('t\n') + + def start_remotely(self): + remote_binary = self.remote_inst.child('', AmarisoftUE.BINFILE) + # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. + self.log('Setting RPATH for ltetue') + # amarisoftue binary needs patchelf >= 0.9+52 to avoid failing during patch. OS#4389, patchelf-GH#192. + self.rem_host.set_remote_env({'PATCHELF_BIN': '/opt/bin/patchelf-v0.10' }) + self.rem_host.change_elf_rpath(remote_binary, str(self.remote_inst)) + + # amarisoftue requires CAP_SYS_ADMIN to cjump to net network namespace: netns(CLONE_NEWNET): + # amarisoftue requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): + self.log('Applying CAP_SYS_ADMIN+CAP_NET_ADMIN capability to ltetue') + self.rem_host.setcap_netsys_admin(remote_binary) + + self.log('Creating netns %s' % self.netns()) + self.rem_host.create_netns(self.netns()) + + args = (remote_binary, self.remote_config_file) + self.process = self.rem_host.RemoteProcess(AmarisoftUE.BINFILE, args) + self.suite_run.remember_to_stop(self.process) + self.process.launch() + + def start_locally(self): + binary = self.inst.child('', AmarisoftUE.BINFILE) + env = {} + + # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. + self.log('Setting RPATH for lteue') + util.change_elf_rpath(binary, util.prepend_library_path(self.inst), self.run_dir.new_dir('patchelf')) + + # amarisoftue requires CAP_SYS_ADMIN to cjump to net network namespace: netns(CLONE_NEWNET): + # amarisoftue requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): + self.log('Applying CAP_SYS_ADMIN+CAP_NET_ADMIN capability to lteue') + util.setcap_netsys_admin(binary, self.run_dir.new_dir('setcap_netsys_admin')) + + self.log('Creating netns %s' % self.netns()) + util.create_netns(self.netns(), self.run_dir.new_dir('create_netns')) + + args = (binary, os.path.abspath(self.config_file)) + self.dbg(run_dir=self.run_dir, binary=binary, env=env) + self.process = process.Process(self.name(), self.run_dir, args, env=env) + self.suite_run.remember_to_stop(self.process) + self.process.launch() + + def gen_conf_file(self, path, filename, values): + self.dbg('AmarisoftUE ' + filename + ':\n' + pprint.pformat(values)) + with open(path, 'w') as f: + r = template.render(filename, values) + self.dbg(r) + f.write(r) + + def configure(self): + self.inst = util.Dir(os.path.abspath(self.bin_prefix())) + if not self.inst.isfile('', AmarisoftUE.BINFILE): + raise log.Error('No %s binary in' % AmarisoftUE.BINFILE, self.inst) + + self.config_file = self.run_dir.child(AmarisoftUE.CFGFILE) + self.config_rf_file = self.run_dir.child(AmarisoftUE.CFGFILE_RF) + self.log_file = self.run_dir.child(AmarisoftUE.LOGFILE) + + if not self.setup_runs_locally(): + self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) + remote_prefix_dir = util.Dir(AmarisoftUE.REMOTE_DIR) + self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) + remote_run_dir = util.Dir(remote_prefix_dir.child(AmarisoftUE.BINFILE)) + + self.remote_config_file = remote_run_dir.child(AmarisoftUE.CFGFILE) + self.remote_config_rf_file = remote_run_dir.child(AmarisoftUE.CFGFILE_RF) + self.remote_log_file = remote_run_dir.child(AmarisoftUE.LOGFILE) + + values = dict(ue=config.get_defaults('amarisoft')) + config.overlay(values, dict(ue=config.get_defaults('amarisoftue'))) + config.overlay(values, dict(ue=self.suite_run.config().get('amarisoft', {}))) + config.overlay(values, dict(ue=self.suite_run.config().get('modem', {}))) + config.overlay(values, dict(ue=self._conf)) + config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) + + logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file + config.overlay(values, dict(ue=dict(log_filename=logfile))) + + # 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()) + rf_dev_args = 'tx_port0=tcp://' + self.addr() + ':2001' \ + + ',tx_port1=tcp://' + self.addr() + ':2003' \ + + ',rx_port0=tcp://' + self.enb.addr() + ':2000' \ + + ',rx_port1=tcp://' + self.enb.addr() + ':2002' \ + + ',tx_freq=2510e6,rx_freq=2630e6,tx_freq2=2530e6,rx_freq2=2650e6' \ + + ',id=ue,base_srate='+ str(base_srate) + config.overlay(values, dict(ue=dict(sample_rate = base_srate / (1000*1000), + rf_dev_args = rf_dev_args))) + + # Set UHD frame size as a function of the cell bandwidth on B2XX + if self._conf.get('rf_dev_type') == 'UHD' and values['ue'].get('rf_dev_args', None) is not None: + if 'b200' in values['ue'].get('rf_dev_args'): + rf_dev_args = values['ue'].get('rf_dev_args', '') + rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else '' + + if self.enb.num_prb() < 25: + rf_dev_args += 'send_frame_size=512,recv_frame_size=512' + elif self.enb.num_prb() == 25: + rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024' + elif self.enb.num_prb() > 50: + rf_dev_args += 'num_recv_frames=64,num_send_frames=64' + + # For 15 and 20 MHz, further reduce over the wire format to sc12 + if self.enb.num_prb() >= 75: + rf_dev_args += ',otw_format=sc12' + + config.overlay(values, dict(ue=dict(rf_dev_args=rf_dev_args))) + + # rf driver is shared between amarisoft enb and ue, so it has a + # different cfg namespace 'trx'. Copy needed values over there: + config.overlay(values, dict(trx=dict(rf_dev_type=values['ue'].get('rf_dev_type', None), + rf_dev_args=values['ue'].get('rf_dev_args', None)))) + + self.gen_conf_file(self.config_file, AmarisoftUE.CFGFILE, values) + self.gen_conf_file(self.config_rf_file, AmarisoftUE.CFGFILE_RF, values) + + if not self.setup_runs_locally(): + 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) + self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) + self.rem_host.scp('scp-cfg-rf-to-remote', self.config_rf_file, self.remote_config_rf_file) + + def is_connected(self, mcc_mnc=None): + return 'Network attach successful.' in (self.process.get_stdout() or '') + + def is_attached(self): + return self.is_connected() + + def running(self): + return not self.process.terminated() + + def addr(self): + return self._addr + + def run_node(self): + return RunNode(RunNode.T_REM_SSH, self._addr, self.remote_user, self._addr) + + def run_netns_wait(self, name, popen_args): + if self.setup_runs_locally(): + proc = process.NetNSProcess(name, self.run_dir.new_dir(name), self.netns(), popen_args, env={}) + else: + proc = self.rem_host.RemoteNetNSProcess(name, self.netns(), popen_args, env={}) + proc.launch_sync() + return proc + + def verify_metric(self, value, operation='avg', metric='dl_brate', criterion='gt'): + return 'metrics not yet implemented with Amarisoft UE' + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index bff8282..ea1b543 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -29,7 +29,7 @@ from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g from . import modem from . import ms_osmo_mobile -from . import srs_ue, srs_enb, amarisoft_enb, srs_epc, amarisoft_epc +from . import srs_ue, amarisoft_ue, srs_enb, amarisoft_enb, srs_epc, amarisoft_epc from .util import is_dict, is_list @@ -159,6 +159,7 @@ 'ofono': modem.Modem, 'osmo-mobile': ms_osmo_mobile.MSOsmoMobile, 'srsue': srs_ue.srsUE, + 'amarisoftue': amarisoft_ue.AmarisoftUE, } diff --git a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl new file mode 100644 index 0000000..fb34917 --- /dev/null +++ b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl @@ -0,0 +1,70 @@ +/* UE simulator configuration file version 2018-10-18 + * Copyright (C) 2015-2018 Amarisoft + */ +{ + +%if ue.license_server_addr != '0.0.0.0': + license_server: { + server_addr: "${ue.license_server_addr}", + name: "amarisoft", + }, +%endif + +% if ue.rf_dev_type == 'zmq': + /* Force sampling rate (if uncommented) */ + sample_rate: ${ue.sample_rate}, +%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", + log_filename: "${ue.log_filename}", + + /* Enable remote API and Web interface */ + com_addr: "${ue.addr}:9002", + + include "amarisoft_rf_driver.cfg", + + bandwidth: 5, + + /* If true, allow the simulation of several UEs at the same time and + allow dynamic UE creation from remote API */ + multi_ue: false, + + cells: [ + { + dl_earfcn: 3350, /* 2850 MHz (band 7) */ +// dl_earfcn: 40620, /* 3500 MHz (band 41) */ + n_antenna_dl: 1, /* number of downlink antennas */ + n_antenna_ul: 1, + + /* must be provided if multi_ue = true */ + //global_timing_advance: 1, + } + ], + + ue_list: [ + { + /* UE capabilities */ + as_release: 8, + ue_category: 4, + + /* USIM data */ + imsi: "${ue.imsi}", + K: "${ue.ki}", + + /* If enabled, will try to use external SIM card using libpcsclite */ + //external_sim: true, + + /* Enable it to create a TUN interface for each UE PDN */ + //tun_setup_script: "ue-ifup", + } + ], + + /* If case your system have a high SNR and you are running high number of + * UEs, enable this option to optimize PDCCH decoding and save CPU + */ + pdcch_decode_opt: false, + pdcch_decode_opt_threshold: 0.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 7f9d929..1e385d0 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -1,10 +1,10 @@ rf_driver: { - name: "${enb.rf_dev_type}", - sync: "${'1' if enb.rf_dev_type == 'zmq' else 'none'}", + name: "${trx.rf_dev_type}", + sync: "${'1' if trx.rf_dev_type == 'zmq' else 'none'}", /* Use this for b2x0 devices. Bandwidth >= 10 Mhz */ - args: "${enb.rf_dev_args}", -% if enb.rf_dev_type == 'zmq': + args: "${trx.rf_dev_args}", +% if trx.rf_dev_type == 'zmq': dl_sample_bits: 16, ul_sample_bits: 16, % endif @@ -12,7 +12,7 @@ tx_gain: 89.0, /* TX gain (in dB) B2x0: 0 to 89.8 dB */ rx_gain: 60.0, /* RX gain (in dB) B2x0: 0 to 73 dB */ -% if enb.rf_dev_type == 'zmq': +% if trx.rf_dev_type == 'zmq': tx_time_offset: 0, % else: tx_time_offset: -150, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17714 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: Idda0d3a040663969dd71781814198b47fff7daf3 Gerrit-Change-Number: 17714 Gerrit-PatchSet: 3 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 Tue Apr 7 15:09:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 15:09:26 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoftue.cfg.tmpl: fix UE bandwidth/rate config and power on autom... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17739 ) Change subject: amarisoftue.cfg.tmpl: fix UE bandwidth/rate config and power on automatically ...................................................................... amarisoftue.cfg.tmpl: fix UE bandwidth/rate config and power on automatically Change-Id: I2d63055d0648a1758905fd277c20edaeec8f9b85 --- M src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl 2 files changed, 12 insertions(+), 10 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl index fb34917..4831278 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl @@ -15,7 +15,6 @@ sample_rate: ${ue.sample_rate}, %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", log_filename: "${ue.log_filename}", @@ -25,17 +24,14 @@ include "amarisoft_rf_driver.cfg", - bandwidth: 5, - /* If true, allow the simulation of several UEs at the same time and allow dynamic UE creation from remote API */ - multi_ue: false, + multi_ue: true, cells: [ { - dl_earfcn: 3350, /* 2850 MHz (band 7) */ -// dl_earfcn: 40620, /* 3500 MHz (band 41) */ - n_antenna_dl: 1, /* number of downlink antennas */ + dl_earfcn: 2850, + n_antenna_dl: 1, n_antenna_ul: 1, /* must be provided if multi_ue = true */ @@ -58,6 +54,12 @@ /* Enable it to create a TUN interface for each UE PDN */ //tun_setup_script: "ue-ifup", + + sim_events: [{ + event: "power_on", + start_time: 1, + }], + ue_count: 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 1e385d0..874feca 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -2,11 +2,11 @@ name: "${trx.rf_dev_type}", sync: "${'1' if trx.rf_dev_type == 'zmq' else 'none'}", - /* Use this for b2x0 devices. Bandwidth >= 10 Mhz */ args: "${trx.rf_dev_args}", + % if trx.rf_dev_type == 'zmq': - dl_sample_bits: 16, - ul_sample_bits: 16, + dl_sample_bits: 16, + ul_sample_bits: 16, % endif }, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17739 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: I2d63055d0648a1758905fd277c20edaeec8f9b85 Gerrit-Change-Number: 17739 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 Tue Apr 7 15:10:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 15:10:45 +0000 Subject: Change in osmo-gsm-tester[master]: Move suites/ dir inside example/ References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17751 ) Change subject: Move suites/ dir inside example/ ...................................................................... Move suites/ dir inside example/ example/paths.conf and documentation are updated accordingly. Test suites should have been moved a long time ago, since the they are user or setup-specific based on what needs to be tested. Change-Id: I154b19979b545deba8b232b60172903f63fd9e28 --- M doc/manuals/chapters/config.adoc M doc/manuals/chapters/install.adoc M example/paths.conf R example/suites/4g/iperf3_dl.py R example/suites/4g/iperf3_ul.py R example/suites/4g/ping.py R example/suites/4g/suite.conf R example/suites/debug/interactive.py R example/suites/debug/suite.conf R example/suites/dynts/suite.conf R example/suites/dynts/switch_tch_pdch.py R example/suites/encryption/lib/testlib.py R example/suites/encryption/register_a5_0_authopt.py R example/suites/encryption/register_a5_0_authreq.py R example/suites/encryption/register_a5_1_authreq.py R example/suites/encryption/register_a5_3_authreq.py R example/suites/encryption/suite.conf R example/suites/gprs/cs_paging_gprs_active.py R example/suites/gprs/iperf3.py R example/suites/gprs/iperf3m4.py R example/suites/gprs/lib/testlib.py R example/suites/gprs/ping.py R example/suites/gprs/ping_idle_ping.py R example/suites/gprs/suite.conf R example/suites/nitb_debug/error.py R example/suites/nitb_debug/fail.py R example/suites/nitb_debug/fail_raise.py R example/suites/nitb_debug/interactive.py R example/suites/nitb_debug/pass.py R example/suites/nitb_debug/suite.conf R example/suites/nitb_netreg/register.py R example/suites/nitb_netreg/register_default.py R example/suites/nitb_netreg/suite.conf R example/suites/nitb_netreg_mass/register_default_mass.py R example/suites/nitb_netreg_mass/suite.conf R example/suites/nitb_smpp/esme_connect_policy_acceptall.py R example/suites/nitb_smpp/esme_connect_policy_closed.py R example/suites/nitb_smpp/esme_ms_sms_storeforward.py R example/suites/nitb_smpp/esme_ms_sms_transaction.py R example/suites/nitb_smpp/suite.conf R example/suites/nitb_sms/mo_mt_sms.py R example/suites/nitb_sms/suite.conf R example/suites/nitb_ussd/assert_extension.py R example/suites/nitb_ussd/suite.conf R example/suites/smpp/esme_connect_policy_acceptall.py R example/suites/smpp/esme_connect_policy_closed.py R example/suites/smpp/esme_ms_sms_storeforward.py R example/suites/smpp/esme_ms_sms_transaction.py R example/suites/smpp/suite.conf R example/suites/sms/mo_mt_sms.py R example/suites/sms/suite.conf R example/suites/ussd/assert_extension.py R example/suites/ussd/suite.conf R example/suites/voice/lib/testlib.py R example/suites/voice/mo_mt_call.py R example/suites/voice/mo_mt_call_osmux.py R example/suites/voice/suite.conf 57 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/51/17751/1 diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index f9b390d..e70b396 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -566,7 +566,7 @@ - <>: Available Available under 'example/', with its paths already configured to take required bits from inside the git repository. -- <>: Available under 'suites/' +- <>: Available under 'example/suites/' - <>: Available under 'example/scenarios/' - <>: Available under 'example/' as 'resources.conf.prod' for Production setup and as 'resources.conf.rnd' for the diff --git a/doc/manuals/chapters/install.adoc b/doc/manuals/chapters/install.adoc index 30db8be..9ef654b 100644 --- a/doc/manuals/chapters/install.adoc +++ b/doc/manuals/chapters/install.adoc @@ -642,7 +642,7 @@ ---- cd /etc cp -R /usr/local/src/osmo-gsm-tester/example osmo-gsm-tester -sed -i 's#\.\./suites#/usr/local/src/osmo-gsm-tester/suites#' osmo-gsm-tester/paths.conf +sed -i 's#\./suites#/usr/local/src/osmo-gsm-tester/suites#' osmo-gsm-tester/paths.conf ---- NOTE: The configuration will be looked up in various places, see diff --git a/example/paths.conf b/example/paths.conf index 554d942..27c5818 100644 --- a/example/paths.conf +++ b/example/paths.conf @@ -1,3 +1,3 @@ state_dir: '/var/tmp/osmo-gsm-tester/state' -suites_dir: '../suites' +suites_dir: './suites' scenarios_dir: './scenarios' diff --git a/suites/4g/iperf3_dl.py b/example/suites/4g/iperf3_dl.py similarity index 100% rename from suites/4g/iperf3_dl.py rename to example/suites/4g/iperf3_dl.py diff --git a/suites/4g/iperf3_ul.py b/example/suites/4g/iperf3_ul.py similarity index 100% rename from suites/4g/iperf3_ul.py rename to example/suites/4g/iperf3_ul.py diff --git a/suites/4g/ping.py b/example/suites/4g/ping.py similarity index 100% rename from suites/4g/ping.py rename to example/suites/4g/ping.py diff --git a/suites/4g/suite.conf b/example/suites/4g/suite.conf similarity index 100% rename from suites/4g/suite.conf rename to example/suites/4g/suite.conf diff --git a/suites/debug/interactive.py b/example/suites/debug/interactive.py similarity index 100% rename from suites/debug/interactive.py rename to example/suites/debug/interactive.py diff --git a/suites/debug/suite.conf b/example/suites/debug/suite.conf similarity index 100% rename from suites/debug/suite.conf rename to example/suites/debug/suite.conf diff --git a/suites/dynts/suite.conf b/example/suites/dynts/suite.conf similarity index 100% rename from suites/dynts/suite.conf rename to example/suites/dynts/suite.conf diff --git a/suites/dynts/switch_tch_pdch.py b/example/suites/dynts/switch_tch_pdch.py similarity index 100% rename from suites/dynts/switch_tch_pdch.py rename to example/suites/dynts/switch_tch_pdch.py diff --git a/suites/encryption/lib/testlib.py b/example/suites/encryption/lib/testlib.py similarity index 100% rename from suites/encryption/lib/testlib.py rename to example/suites/encryption/lib/testlib.py diff --git a/suites/encryption/register_a5_0_authopt.py b/example/suites/encryption/register_a5_0_authopt.py similarity index 100% rename from suites/encryption/register_a5_0_authopt.py rename to example/suites/encryption/register_a5_0_authopt.py diff --git a/suites/encryption/register_a5_0_authreq.py b/example/suites/encryption/register_a5_0_authreq.py similarity index 100% rename from suites/encryption/register_a5_0_authreq.py rename to example/suites/encryption/register_a5_0_authreq.py diff --git a/suites/encryption/register_a5_1_authreq.py b/example/suites/encryption/register_a5_1_authreq.py similarity index 100% rename from suites/encryption/register_a5_1_authreq.py rename to example/suites/encryption/register_a5_1_authreq.py diff --git a/suites/encryption/register_a5_3_authreq.py b/example/suites/encryption/register_a5_3_authreq.py similarity index 100% rename from suites/encryption/register_a5_3_authreq.py rename to example/suites/encryption/register_a5_3_authreq.py diff --git a/suites/encryption/suite.conf b/example/suites/encryption/suite.conf similarity index 100% rename from suites/encryption/suite.conf rename to example/suites/encryption/suite.conf diff --git a/suites/gprs/cs_paging_gprs_active.py b/example/suites/gprs/cs_paging_gprs_active.py similarity index 100% rename from suites/gprs/cs_paging_gprs_active.py rename to example/suites/gprs/cs_paging_gprs_active.py diff --git a/suites/gprs/iperf3.py b/example/suites/gprs/iperf3.py similarity index 100% rename from suites/gprs/iperf3.py rename to example/suites/gprs/iperf3.py diff --git a/suites/gprs/iperf3m4.py b/example/suites/gprs/iperf3m4.py similarity index 100% rename from suites/gprs/iperf3m4.py rename to example/suites/gprs/iperf3m4.py diff --git a/suites/gprs/lib/testlib.py b/example/suites/gprs/lib/testlib.py similarity index 100% rename from suites/gprs/lib/testlib.py rename to example/suites/gprs/lib/testlib.py diff --git a/suites/gprs/ping.py b/example/suites/gprs/ping.py similarity index 100% rename from suites/gprs/ping.py rename to example/suites/gprs/ping.py diff --git a/suites/gprs/ping_idle_ping.py b/example/suites/gprs/ping_idle_ping.py similarity index 100% rename from suites/gprs/ping_idle_ping.py rename to example/suites/gprs/ping_idle_ping.py diff --git a/suites/gprs/suite.conf b/example/suites/gprs/suite.conf similarity index 100% rename from suites/gprs/suite.conf rename to example/suites/gprs/suite.conf diff --git a/suites/nitb_debug/error.py b/example/suites/nitb_debug/error.py similarity index 100% rename from suites/nitb_debug/error.py rename to example/suites/nitb_debug/error.py diff --git a/suites/nitb_debug/fail.py b/example/suites/nitb_debug/fail.py similarity index 100% rename from suites/nitb_debug/fail.py rename to example/suites/nitb_debug/fail.py diff --git a/suites/nitb_debug/fail_raise.py b/example/suites/nitb_debug/fail_raise.py similarity index 100% rename from suites/nitb_debug/fail_raise.py rename to example/suites/nitb_debug/fail_raise.py diff --git a/suites/nitb_debug/interactive.py b/example/suites/nitb_debug/interactive.py similarity index 100% rename from suites/nitb_debug/interactive.py rename to example/suites/nitb_debug/interactive.py diff --git a/suites/nitb_debug/pass.py b/example/suites/nitb_debug/pass.py similarity index 100% rename from suites/nitb_debug/pass.py rename to example/suites/nitb_debug/pass.py diff --git a/suites/nitb_debug/suite.conf b/example/suites/nitb_debug/suite.conf similarity index 100% rename from suites/nitb_debug/suite.conf rename to example/suites/nitb_debug/suite.conf diff --git a/suites/nitb_netreg/register.py b/example/suites/nitb_netreg/register.py similarity index 100% rename from suites/nitb_netreg/register.py rename to example/suites/nitb_netreg/register.py diff --git a/suites/nitb_netreg/register_default.py b/example/suites/nitb_netreg/register_default.py similarity index 100% rename from suites/nitb_netreg/register_default.py rename to example/suites/nitb_netreg/register_default.py diff --git a/suites/nitb_netreg/suite.conf b/example/suites/nitb_netreg/suite.conf similarity index 100% rename from suites/nitb_netreg/suite.conf rename to example/suites/nitb_netreg/suite.conf diff --git a/suites/nitb_netreg_mass/register_default_mass.py b/example/suites/nitb_netreg_mass/register_default_mass.py similarity index 100% rename from suites/nitb_netreg_mass/register_default_mass.py rename to example/suites/nitb_netreg_mass/register_default_mass.py diff --git a/suites/nitb_netreg_mass/suite.conf b/example/suites/nitb_netreg_mass/suite.conf similarity index 100% rename from suites/nitb_netreg_mass/suite.conf rename to example/suites/nitb_netreg_mass/suite.conf diff --git a/suites/nitb_smpp/esme_connect_policy_acceptall.py b/example/suites/nitb_smpp/esme_connect_policy_acceptall.py similarity index 100% rename from suites/nitb_smpp/esme_connect_policy_acceptall.py rename to example/suites/nitb_smpp/esme_connect_policy_acceptall.py diff --git a/suites/nitb_smpp/esme_connect_policy_closed.py b/example/suites/nitb_smpp/esme_connect_policy_closed.py similarity index 100% rename from suites/nitb_smpp/esme_connect_policy_closed.py rename to example/suites/nitb_smpp/esme_connect_policy_closed.py diff --git a/suites/nitb_smpp/esme_ms_sms_storeforward.py b/example/suites/nitb_smpp/esme_ms_sms_storeforward.py similarity index 100% rename from suites/nitb_smpp/esme_ms_sms_storeforward.py rename to example/suites/nitb_smpp/esme_ms_sms_storeforward.py diff --git a/suites/nitb_smpp/esme_ms_sms_transaction.py b/example/suites/nitb_smpp/esme_ms_sms_transaction.py similarity index 100% rename from suites/nitb_smpp/esme_ms_sms_transaction.py rename to example/suites/nitb_smpp/esme_ms_sms_transaction.py diff --git a/suites/nitb_smpp/suite.conf b/example/suites/nitb_smpp/suite.conf similarity index 100% rename from suites/nitb_smpp/suite.conf rename to example/suites/nitb_smpp/suite.conf diff --git a/suites/nitb_sms/mo_mt_sms.py b/example/suites/nitb_sms/mo_mt_sms.py similarity index 100% rename from suites/nitb_sms/mo_mt_sms.py rename to example/suites/nitb_sms/mo_mt_sms.py diff --git a/suites/nitb_sms/suite.conf b/example/suites/nitb_sms/suite.conf similarity index 100% rename from suites/nitb_sms/suite.conf rename to example/suites/nitb_sms/suite.conf diff --git a/suites/nitb_ussd/assert_extension.py b/example/suites/nitb_ussd/assert_extension.py similarity index 100% rename from suites/nitb_ussd/assert_extension.py rename to example/suites/nitb_ussd/assert_extension.py diff --git a/suites/nitb_ussd/suite.conf b/example/suites/nitb_ussd/suite.conf similarity index 100% rename from suites/nitb_ussd/suite.conf rename to example/suites/nitb_ussd/suite.conf diff --git a/suites/smpp/esme_connect_policy_acceptall.py b/example/suites/smpp/esme_connect_policy_acceptall.py similarity index 100% rename from suites/smpp/esme_connect_policy_acceptall.py rename to example/suites/smpp/esme_connect_policy_acceptall.py diff --git a/suites/smpp/esme_connect_policy_closed.py b/example/suites/smpp/esme_connect_policy_closed.py similarity index 100% rename from suites/smpp/esme_connect_policy_closed.py rename to example/suites/smpp/esme_connect_policy_closed.py diff --git a/suites/smpp/esme_ms_sms_storeforward.py b/example/suites/smpp/esme_ms_sms_storeforward.py similarity index 100% rename from suites/smpp/esme_ms_sms_storeforward.py rename to example/suites/smpp/esme_ms_sms_storeforward.py diff --git a/suites/smpp/esme_ms_sms_transaction.py b/example/suites/smpp/esme_ms_sms_transaction.py similarity index 100% rename from suites/smpp/esme_ms_sms_transaction.py rename to example/suites/smpp/esme_ms_sms_transaction.py diff --git a/suites/smpp/suite.conf b/example/suites/smpp/suite.conf similarity index 100% rename from suites/smpp/suite.conf rename to example/suites/smpp/suite.conf diff --git a/suites/sms/mo_mt_sms.py b/example/suites/sms/mo_mt_sms.py similarity index 100% rename from suites/sms/mo_mt_sms.py rename to example/suites/sms/mo_mt_sms.py diff --git a/suites/sms/suite.conf b/example/suites/sms/suite.conf similarity index 100% rename from suites/sms/suite.conf rename to example/suites/sms/suite.conf diff --git a/suites/ussd/assert_extension.py b/example/suites/ussd/assert_extension.py similarity index 100% rename from suites/ussd/assert_extension.py rename to example/suites/ussd/assert_extension.py diff --git a/suites/ussd/suite.conf b/example/suites/ussd/suite.conf similarity index 100% rename from suites/ussd/suite.conf rename to example/suites/ussd/suite.conf diff --git a/suites/voice/lib/testlib.py b/example/suites/voice/lib/testlib.py similarity index 100% rename from suites/voice/lib/testlib.py rename to example/suites/voice/lib/testlib.py diff --git a/suites/voice/mo_mt_call.py b/example/suites/voice/mo_mt_call.py similarity index 100% rename from suites/voice/mo_mt_call.py rename to example/suites/voice/mo_mt_call.py diff --git a/suites/voice/mo_mt_call_osmux.py b/example/suites/voice/mo_mt_call_osmux.py similarity index 100% rename from suites/voice/mo_mt_call_osmux.py rename to example/suites/voice/mo_mt_call_osmux.py diff --git a/suites/voice/suite.conf b/example/suites/voice/suite.conf similarity index 100% rename from suites/voice/suite.conf rename to example/suites/voice/suite.conf -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17751 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: I154b19979b545deba8b232b60172903f63fd9e28 Gerrit-Change-Number: 17751 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 Apr 7 15:23:43 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 7 Apr 2020 15:23:43 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add measurement modifier to scenario files In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 to look at the new patch set (#4). Change subject: enb: add measurement modifier to scenario files ...................................................................... enb: add measurement modifier to scenario files this commit adds basic support for configuring measurements in the eNB config. It currently support A1, A2, and A3 events. By default UE measurements are turned off and need to be enabled by configuring an event with: +mod-enb-meas-event@{name},{report_type},{value},{hysterisis},{time to trigger} For example one can update the a2 and a3 event with: +mod-enb-meas-event at a2,rsrq,-40,2,480+mod-enb-meas-event at a3,rsrp,6,1,512 Change-Id: Ia7657be2396886840570bc41645450a268b4cfff --- M example/defaults.conf A example/scenarios/mod-enb-meas-event at .conf M src/osmo_gsm_tester/amarisoft_enb.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl 5 files changed, 63 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/44/17744/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 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: Ia7657be2396886840570bc41645450a268b4cfff Gerrit-Change-Number: 17744 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Apr 7 16:12:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 16:12:30 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add measurement modifier to scenario files In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 ) Change subject: enb: add measurement modifier to scenario files ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 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: Ia7657be2396886840570bc41645450a268b4cfff Gerrit-Change-Number: 17744 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Tue, 07 Apr 2020 16: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 Tue Apr 7 16:12:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 16:12:33 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add measurement modifier to scenario files In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 ) Change subject: enb: add measurement modifier to scenario files ...................................................................... enb: add measurement modifier to scenario files this commit adds basic support for configuring measurements in the eNB config. It currently support A1, A2, and A3 events. By default UE measurements are turned off and need to be enabled by configuring an event with: +mod-enb-meas-event@{name},{report_type},{value},{hysterisis},{time to trigger} For example one can update the a2 and a3 event with: +mod-enb-meas-event at a2,rsrq,-40,2,480+mod-enb-meas-event at a3,rsrp,6,1,512 Change-Id: Ia7657be2396886840570bc41645450a268b4cfff --- M example/defaults.conf A example/scenarios/mod-enb-meas-event at .conf M src/osmo_gsm_tester/amarisoft_enb.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl 5 files changed, 63 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/example/defaults.conf b/example/defaults.conf index 5cda132..f3994bb 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -110,6 +110,19 @@ mnc: 70 transmission_mode: 1 num_cells: 1 + enable_measurements: false + a1_report_type: rsrp + a1_report_value: -105 + a1_hysteresis: 0 + a1_time_to_trigger: 640 + a2_report_type: rsrp + a2_report_value: -110 + a2_hysteresis: 0 + a2_time_to_trigger: 640 + a3_report_type: rsrp + a3_report_value: 6 + a3_hysteresis: 0 + a3_time_to_trigger: 480 srsenb: num_prb: 100 diff --git a/example/scenarios/mod-enb-meas-event at .conf b/example/scenarios/mod-enb-meas-event at .conf new file mode 100644 index 0000000..44f4fcd --- /dev/null +++ b/example/scenarios/mod-enb-meas-event at .conf @@ -0,0 +1,7 @@ +modifiers: + enb: + - enable_measurements: true + ${param1}_report_type: ${param2} + ${param1}_report_value: ${param3} + ${param1}_hysteresis: ${param4} + ${param1}_time_to_trigger: ${param5} diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index e6e214f..df8e0db 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -77,6 +77,7 @@ self.remote_config_rf_file = None self.remote_config_drb_file = None self.remote_log_file = None + self.enable_measurements = False self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): @@ -167,6 +168,10 @@ self._num_cells = int(values['enb'].get('num_cells', None)) assert self._num_cells + # Convert parsed boolean string to Python boolean: + self.enable_measurements = util.str2bool(values['enb'].get('enable_measurements', 'false')) + config.overlay(values, dict(enb={'enable_measurements': self.enable_measurements})) + # 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.num_prb()) diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index ea1b543..c58bdc7 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -94,6 +94,19 @@ 'enb[].rf_dev_type': schema.STR, 'enb[].rf_dev_args': schema.STR, 'enb[].additional_args': schema.STR, + 'enb[].enable_measurements': schema.BOOL_STR, + 'enb[].a1_report_type': schema.STR, + 'enb[].a1_report_value': schema.INT, + 'enb[].a1_hysteresis': schema.INT, + 'enb[].a1_time_to_trigger': schema.INT, + 'enb[].a2_report_type': schema.STR, + 'enb[].a2_report_value': schema.INT, + 'enb[].a2_hysteresis': schema.INT, + 'enb[].a2_time_to_trigger': schema.INT, + 'enb[].a3_report_type': schema.STR, + 'enb[].a3_report_value': schema.INT, + 'enb[].a3_hysteresis': schema.INT, + 'enb[].a3_time_to_trigger': schema.INT, 'arfcn[].arfcn': schema.INT, 'arfcn[].band': schema.BAND, 'modem[].type': schema.STR, diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 763af08..d87e66a 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -229,5 +229,30 @@ /* DRB configuration */ drb_config: "amarisoft_drb.cfg", + +% if enb.enable_measurements: + /* measurement configuration */ + meas_config_desc: { + a1_report_type: "${enb.a1_report_type}", + a1_${enb.a1_report_type}: ${enb.a1_report_value}, + a1_hysteresis: ${enb.a1_hysteresis}, + a1_time_to_trigger: ${enb.a1_time_to_trigger}, + a2_report_type: "${enb.a2_report_type}", + a2_${enb.a2_report_type}: ${enb.a2_report_value}, + a2_hysteresis: ${enb.a2_hysteresis}, + a2_time_to_trigger: ${enb.a2_time_to_trigger}, + a3_report_type: "${enb.a3_report_type}", + a3_offset: ${enb.a3_report_value}, + a3_hysteresis: ${enb.a3_hysteresis}, + a3_time_to_trigger: ${enb.a3_time_to_trigger}, + }, + + /* measurement gap configuration */ + meas_gap_config: "gp0", + + /* if true, initiate a handover when a suitable measurement report + is received */ + ho_from_meas: true, +% endif }, } -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17744 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: Ia7657be2396886840570bc41645450a268b4cfff Gerrit-Change-Number: 17744 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre 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 Tue Apr 7 16:12:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 16:12:42 +0000 Subject: Change in osmo-gsm-tester[master]: pcu: Enable 'egprs only' vty option if egprs requested In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17743 ) Change subject: pcu: Enable 'egprs only' vty option if egprs requested ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17743 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: Idd0b5bf8769d693480268c0a0b89dbfd63779e48 Gerrit-Change-Number: 17743 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 07 Apr 2020 16:12: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 Apr 7 16:12:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 16:12:44 +0000 Subject: Change in osmo-gsm-tester[master]: Move suites/ dir inside example/ In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17751 ) Change subject: Move suites/ dir inside example/ ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17751 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: I154b19979b545deba8b232b60172903f63fd9e28 Gerrit-Change-Number: 17751 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 07 Apr 2020 16:12: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 Apr 7 16:12:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 16:12:47 +0000 Subject: Change in osmo-gsm-tester[master]: pcu: Enable 'egprs only' vty option if egprs requested In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17743 ) Change subject: pcu: Enable 'egprs only' vty option if egprs requested ...................................................................... pcu: Enable 'egprs only' vty option if egprs requested Change-Id: Idd0b5bf8769d693480268c0a0b89dbfd63779e48 --- M src/osmo_gsm_tester/bts.py M src/osmo_gsm_tester/bts_osmotrx.py M src/osmo_gsm_tester/pcu.py M src/osmo_gsm_tester/pcu_oc2g.py M src/osmo_gsm_tester/pcu_osmo.py M src/osmo_gsm_tester/pcu_sysmo.py M src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl 9 files changed, 25 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/bts.py b/src/osmo_gsm_tester/bts.py index 6b0331e..2ca44d2 100644 --- a/src/osmo_gsm_tester/bts.py +++ b/src/osmo_gsm_tester/bts.py @@ -131,6 +131,9 @@ def remote_addr(self): return self.conf.get('addr') + def egprs_enabled(self): + return self.conf_for_bsc()['gprs_mode'] == 'egprs' + def cleanup(self): 'Nothing to do by default. Subclass can override if required.' pass diff --git a/src/osmo_gsm_tester/bts_osmotrx.py b/src/osmo_gsm_tester/bts_osmotrx.py index 1322a74..22ff4b6 100644 --- a/src/osmo_gsm_tester/bts_osmotrx.py +++ b/src/osmo_gsm_tester/bts_osmotrx.py @@ -78,7 +78,7 @@ 'osmo_trx': { 'bts_ip': self.remote_addr(), 'trx_ip': self.trx_remote_ip(), - 'egprs': 'enable' if self.conf_for_bsc()['gprs_mode'] == 'egprs' else 'disable', + 'egprs': 'enable' if self.egprs_enabled() else 'disable', 'channels': [{} for trx_i in range(self.num_trx())] } } diff --git a/src/osmo_gsm_tester/pcu.py b/src/osmo_gsm_tester/pcu.py index 9ec8f35..cc338cf 100644 --- a/src/osmo_gsm_tester/pcu.py +++ b/src/osmo_gsm_tester/pcu.py @@ -34,6 +34,13 @@ self.bts = bts self.conf = conf +######################## +# PUBLIC - INTERNAL API +######################## + + def egprs_enabled(self): + return self.bts.egprs_enabled() + ################### # PUBLIC (test API included) ################### diff --git a/src/osmo_gsm_tester/pcu_oc2g.py b/src/osmo_gsm_tester/pcu_oc2g.py index df96fe2..36aef60 100644 --- a/src/osmo_gsm_tester/pcu_oc2g.py +++ b/src/osmo_gsm_tester/pcu_oc2g.py @@ -111,7 +111,8 @@ config.overlay(values, { 'osmo_pcu_oc2g': { 'bts_addr': self.btsoc2g.remote_addr(), - 'pcu_socket_path': self.btsoc2g.pcu_socket_path() + 'pcu_socket_path': self.btsoc2g.pcu_socket_path(), + 'egprs_enabled': self.egprs_enabled(), } }) config.overlay(values, { 'osmo_pcu_oc2g': self.conf }) diff --git a/src/osmo_gsm_tester/pcu_osmo.py b/src/osmo_gsm_tester/pcu_osmo.py index c5f45d1..aac6901 100644 --- a/src/osmo_gsm_tester/pcu_osmo.py +++ b/src/osmo_gsm_tester/pcu_osmo.py @@ -70,6 +70,7 @@ 'osmo_pcu': { 'bts_addr': self.bts.remote_addr(), 'pcu_socket_path': self.bts.pcu_socket_path(), + 'egprs_enabled': self.egprs_enabled(), } }) config.overlay(values, { 'osmo_pcu': self.conf }) diff --git a/src/osmo_gsm_tester/pcu_sysmo.py b/src/osmo_gsm_tester/pcu_sysmo.py index 3f6149d..8998622 100644 --- a/src/osmo_gsm_tester/pcu_sysmo.py +++ b/src/osmo_gsm_tester/pcu_sysmo.py @@ -111,7 +111,8 @@ config.overlay(values, { 'osmo_pcu_sysmo': { 'bts_addr': self.sysmobts.remote_addr(), - 'pcu_socket_path': self.sysmobts.pcu_socket_path() + 'pcu_socket_path': self.sysmobts.pcu_socket_path(), + 'egprs_enabled': self.egprs_enabled(), } }) config.overlay(values, { 'osmo_pcu_sysmo': self.conf }) diff --git a/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl index 0b1cd2d..f5eb03e 100644 --- a/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl @@ -15,6 +15,9 @@ alloc-algorithm dynamic alpha 0 gamma 0 +%if osmo_pcu_oc2g.egprs_enabled: + egprs only +%endif gsmtap-category dl-unknown !gsmtap-category dl-dummy gsmtap-category dl-ctrl diff --git a/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl index ea1a69a..c0e6cd2 100644 --- a/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl @@ -15,6 +15,9 @@ alloc-algorithm dynamic alpha 0 gamma 0 +%if osmo_pcu_sysmo.egprs_enabled: + egprs only +%endif gsmtap-category dl-unknown !gsmtap-category dl-dummy gsmtap-category dl-ctrl diff --git a/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl index 1d050c1..7445609 100644 --- a/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl @@ -15,6 +15,9 @@ alloc-algorithm dynamic alpha 0 gamma 0 +%if osmo_pcu.egprs_enabled: + egprs only +%endif gsmtap-category dl-unknown !gsmtap-category dl-dummy gsmtap-category dl-ctrl -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17743 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: Idd0b5bf8769d693480268c0a0b89dbfd63779e48 Gerrit-Change-Number: 17743 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Apr 7 16:12:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 16:12:48 +0000 Subject: Change in osmo-gsm-tester[master]: Move suites/ dir inside example/ In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17751 ) Change subject: Move suites/ dir inside example/ ...................................................................... Move suites/ dir inside example/ example/paths.conf and documentation are updated accordingly. Test suites should have been moved a long time ago, since the they are user or setup-specific based on what needs to be tested. Change-Id: I154b19979b545deba8b232b60172903f63fd9e28 --- M doc/manuals/chapters/config.adoc M doc/manuals/chapters/install.adoc M example/paths.conf R example/suites/4g/iperf3_dl.py R example/suites/4g/iperf3_ul.py R example/suites/4g/ping.py R example/suites/4g/suite.conf R example/suites/debug/interactive.py R example/suites/debug/suite.conf R example/suites/dynts/suite.conf R example/suites/dynts/switch_tch_pdch.py R example/suites/encryption/lib/testlib.py R example/suites/encryption/register_a5_0_authopt.py R example/suites/encryption/register_a5_0_authreq.py R example/suites/encryption/register_a5_1_authreq.py R example/suites/encryption/register_a5_3_authreq.py R example/suites/encryption/suite.conf R example/suites/gprs/cs_paging_gprs_active.py R example/suites/gprs/iperf3.py R example/suites/gprs/iperf3m4.py R example/suites/gprs/lib/testlib.py R example/suites/gprs/ping.py R example/suites/gprs/ping_idle_ping.py R example/suites/gprs/suite.conf R example/suites/nitb_debug/error.py R example/suites/nitb_debug/fail.py R example/suites/nitb_debug/fail_raise.py R example/suites/nitb_debug/interactive.py R example/suites/nitb_debug/pass.py R example/suites/nitb_debug/suite.conf R example/suites/nitb_netreg/register.py R example/suites/nitb_netreg/register_default.py R example/suites/nitb_netreg/suite.conf R example/suites/nitb_netreg_mass/register_default_mass.py R example/suites/nitb_netreg_mass/suite.conf R example/suites/nitb_smpp/esme_connect_policy_acceptall.py R example/suites/nitb_smpp/esme_connect_policy_closed.py R example/suites/nitb_smpp/esme_ms_sms_storeforward.py R example/suites/nitb_smpp/esme_ms_sms_transaction.py R example/suites/nitb_smpp/suite.conf R example/suites/nitb_sms/mo_mt_sms.py R example/suites/nitb_sms/suite.conf R example/suites/nitb_ussd/assert_extension.py R example/suites/nitb_ussd/suite.conf R example/suites/smpp/esme_connect_policy_acceptall.py R example/suites/smpp/esme_connect_policy_closed.py R example/suites/smpp/esme_ms_sms_storeforward.py R example/suites/smpp/esme_ms_sms_transaction.py R example/suites/smpp/suite.conf R example/suites/sms/mo_mt_sms.py R example/suites/sms/suite.conf R example/suites/ussd/assert_extension.py R example/suites/ussd/suite.conf R example/suites/voice/lib/testlib.py R example/suites/voice/mo_mt_call.py R example/suites/voice/mo_mt_call_osmux.py R example/suites/voice/suite.conf 57 files changed, 3 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index f9b390d..e70b396 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -566,7 +566,7 @@ - <>: Available Available under 'example/', with its paths already configured to take required bits from inside the git repository. -- <>: Available under 'suites/' +- <>: Available under 'example/suites/' - <>: Available under 'example/scenarios/' - <>: Available under 'example/' as 'resources.conf.prod' for Production setup and as 'resources.conf.rnd' for the diff --git a/doc/manuals/chapters/install.adoc b/doc/manuals/chapters/install.adoc index 30db8be..9ef654b 100644 --- a/doc/manuals/chapters/install.adoc +++ b/doc/manuals/chapters/install.adoc @@ -642,7 +642,7 @@ ---- cd /etc cp -R /usr/local/src/osmo-gsm-tester/example osmo-gsm-tester -sed -i 's#\.\./suites#/usr/local/src/osmo-gsm-tester/suites#' osmo-gsm-tester/paths.conf +sed -i 's#\./suites#/usr/local/src/osmo-gsm-tester/suites#' osmo-gsm-tester/paths.conf ---- NOTE: The configuration will be looked up in various places, see diff --git a/example/paths.conf b/example/paths.conf index 554d942..27c5818 100644 --- a/example/paths.conf +++ b/example/paths.conf @@ -1,3 +1,3 @@ state_dir: '/var/tmp/osmo-gsm-tester/state' -suites_dir: '../suites' +suites_dir: './suites' scenarios_dir: './scenarios' diff --git a/suites/4g/iperf3_dl.py b/example/suites/4g/iperf3_dl.py similarity index 100% rename from suites/4g/iperf3_dl.py rename to example/suites/4g/iperf3_dl.py diff --git a/suites/4g/iperf3_ul.py b/example/suites/4g/iperf3_ul.py similarity index 100% rename from suites/4g/iperf3_ul.py rename to example/suites/4g/iperf3_ul.py diff --git a/suites/4g/ping.py b/example/suites/4g/ping.py similarity index 100% rename from suites/4g/ping.py rename to example/suites/4g/ping.py diff --git a/suites/4g/suite.conf b/example/suites/4g/suite.conf similarity index 100% rename from suites/4g/suite.conf rename to example/suites/4g/suite.conf diff --git a/suites/debug/interactive.py b/example/suites/debug/interactive.py similarity index 100% rename from suites/debug/interactive.py rename to example/suites/debug/interactive.py diff --git a/suites/debug/suite.conf b/example/suites/debug/suite.conf similarity index 100% rename from suites/debug/suite.conf rename to example/suites/debug/suite.conf diff --git a/suites/dynts/suite.conf b/example/suites/dynts/suite.conf similarity index 100% rename from suites/dynts/suite.conf rename to example/suites/dynts/suite.conf diff --git a/suites/dynts/switch_tch_pdch.py b/example/suites/dynts/switch_tch_pdch.py similarity index 100% rename from suites/dynts/switch_tch_pdch.py rename to example/suites/dynts/switch_tch_pdch.py diff --git a/suites/encryption/lib/testlib.py b/example/suites/encryption/lib/testlib.py similarity index 100% rename from suites/encryption/lib/testlib.py rename to example/suites/encryption/lib/testlib.py diff --git a/suites/encryption/register_a5_0_authopt.py b/example/suites/encryption/register_a5_0_authopt.py similarity index 100% rename from suites/encryption/register_a5_0_authopt.py rename to example/suites/encryption/register_a5_0_authopt.py diff --git a/suites/encryption/register_a5_0_authreq.py b/example/suites/encryption/register_a5_0_authreq.py similarity index 100% rename from suites/encryption/register_a5_0_authreq.py rename to example/suites/encryption/register_a5_0_authreq.py diff --git a/suites/encryption/register_a5_1_authreq.py b/example/suites/encryption/register_a5_1_authreq.py similarity index 100% rename from suites/encryption/register_a5_1_authreq.py rename to example/suites/encryption/register_a5_1_authreq.py diff --git a/suites/encryption/register_a5_3_authreq.py b/example/suites/encryption/register_a5_3_authreq.py similarity index 100% rename from suites/encryption/register_a5_3_authreq.py rename to example/suites/encryption/register_a5_3_authreq.py diff --git a/suites/encryption/suite.conf b/example/suites/encryption/suite.conf similarity index 100% rename from suites/encryption/suite.conf rename to example/suites/encryption/suite.conf diff --git a/suites/gprs/cs_paging_gprs_active.py b/example/suites/gprs/cs_paging_gprs_active.py similarity index 100% rename from suites/gprs/cs_paging_gprs_active.py rename to example/suites/gprs/cs_paging_gprs_active.py diff --git a/suites/gprs/iperf3.py b/example/suites/gprs/iperf3.py similarity index 100% rename from suites/gprs/iperf3.py rename to example/suites/gprs/iperf3.py diff --git a/suites/gprs/iperf3m4.py b/example/suites/gprs/iperf3m4.py similarity index 100% rename from suites/gprs/iperf3m4.py rename to example/suites/gprs/iperf3m4.py diff --git a/suites/gprs/lib/testlib.py b/example/suites/gprs/lib/testlib.py similarity index 100% rename from suites/gprs/lib/testlib.py rename to example/suites/gprs/lib/testlib.py diff --git a/suites/gprs/ping.py b/example/suites/gprs/ping.py similarity index 100% rename from suites/gprs/ping.py rename to example/suites/gprs/ping.py diff --git a/suites/gprs/ping_idle_ping.py b/example/suites/gprs/ping_idle_ping.py similarity index 100% rename from suites/gprs/ping_idle_ping.py rename to example/suites/gprs/ping_idle_ping.py diff --git a/suites/gprs/suite.conf b/example/suites/gprs/suite.conf similarity index 100% rename from suites/gprs/suite.conf rename to example/suites/gprs/suite.conf diff --git a/suites/nitb_debug/error.py b/example/suites/nitb_debug/error.py similarity index 100% rename from suites/nitb_debug/error.py rename to example/suites/nitb_debug/error.py diff --git a/suites/nitb_debug/fail.py b/example/suites/nitb_debug/fail.py similarity index 100% rename from suites/nitb_debug/fail.py rename to example/suites/nitb_debug/fail.py diff --git a/suites/nitb_debug/fail_raise.py b/example/suites/nitb_debug/fail_raise.py similarity index 100% rename from suites/nitb_debug/fail_raise.py rename to example/suites/nitb_debug/fail_raise.py diff --git a/suites/nitb_debug/interactive.py b/example/suites/nitb_debug/interactive.py similarity index 100% rename from suites/nitb_debug/interactive.py rename to example/suites/nitb_debug/interactive.py diff --git a/suites/nitb_debug/pass.py b/example/suites/nitb_debug/pass.py similarity index 100% rename from suites/nitb_debug/pass.py rename to example/suites/nitb_debug/pass.py diff --git a/suites/nitb_debug/suite.conf b/example/suites/nitb_debug/suite.conf similarity index 100% rename from suites/nitb_debug/suite.conf rename to example/suites/nitb_debug/suite.conf diff --git a/suites/nitb_netreg/register.py b/example/suites/nitb_netreg/register.py similarity index 100% rename from suites/nitb_netreg/register.py rename to example/suites/nitb_netreg/register.py diff --git a/suites/nitb_netreg/register_default.py b/example/suites/nitb_netreg/register_default.py similarity index 100% rename from suites/nitb_netreg/register_default.py rename to example/suites/nitb_netreg/register_default.py diff --git a/suites/nitb_netreg/suite.conf b/example/suites/nitb_netreg/suite.conf similarity index 100% rename from suites/nitb_netreg/suite.conf rename to example/suites/nitb_netreg/suite.conf diff --git a/suites/nitb_netreg_mass/register_default_mass.py b/example/suites/nitb_netreg_mass/register_default_mass.py similarity index 100% rename from suites/nitb_netreg_mass/register_default_mass.py rename to example/suites/nitb_netreg_mass/register_default_mass.py diff --git a/suites/nitb_netreg_mass/suite.conf b/example/suites/nitb_netreg_mass/suite.conf similarity index 100% rename from suites/nitb_netreg_mass/suite.conf rename to example/suites/nitb_netreg_mass/suite.conf diff --git a/suites/nitb_smpp/esme_connect_policy_acceptall.py b/example/suites/nitb_smpp/esme_connect_policy_acceptall.py similarity index 100% rename from suites/nitb_smpp/esme_connect_policy_acceptall.py rename to example/suites/nitb_smpp/esme_connect_policy_acceptall.py diff --git a/suites/nitb_smpp/esme_connect_policy_closed.py b/example/suites/nitb_smpp/esme_connect_policy_closed.py similarity index 100% rename from suites/nitb_smpp/esme_connect_policy_closed.py rename to example/suites/nitb_smpp/esme_connect_policy_closed.py diff --git a/suites/nitb_smpp/esme_ms_sms_storeforward.py b/example/suites/nitb_smpp/esme_ms_sms_storeforward.py similarity index 100% rename from suites/nitb_smpp/esme_ms_sms_storeforward.py rename to example/suites/nitb_smpp/esme_ms_sms_storeforward.py diff --git a/suites/nitb_smpp/esme_ms_sms_transaction.py b/example/suites/nitb_smpp/esme_ms_sms_transaction.py similarity index 100% rename from suites/nitb_smpp/esme_ms_sms_transaction.py rename to example/suites/nitb_smpp/esme_ms_sms_transaction.py diff --git a/suites/nitb_smpp/suite.conf b/example/suites/nitb_smpp/suite.conf similarity index 100% rename from suites/nitb_smpp/suite.conf rename to example/suites/nitb_smpp/suite.conf diff --git a/suites/nitb_sms/mo_mt_sms.py b/example/suites/nitb_sms/mo_mt_sms.py similarity index 100% rename from suites/nitb_sms/mo_mt_sms.py rename to example/suites/nitb_sms/mo_mt_sms.py diff --git a/suites/nitb_sms/suite.conf b/example/suites/nitb_sms/suite.conf similarity index 100% rename from suites/nitb_sms/suite.conf rename to example/suites/nitb_sms/suite.conf diff --git a/suites/nitb_ussd/assert_extension.py b/example/suites/nitb_ussd/assert_extension.py similarity index 100% rename from suites/nitb_ussd/assert_extension.py rename to example/suites/nitb_ussd/assert_extension.py diff --git a/suites/nitb_ussd/suite.conf b/example/suites/nitb_ussd/suite.conf similarity index 100% rename from suites/nitb_ussd/suite.conf rename to example/suites/nitb_ussd/suite.conf diff --git a/suites/smpp/esme_connect_policy_acceptall.py b/example/suites/smpp/esme_connect_policy_acceptall.py similarity index 100% rename from suites/smpp/esme_connect_policy_acceptall.py rename to example/suites/smpp/esme_connect_policy_acceptall.py diff --git a/suites/smpp/esme_connect_policy_closed.py b/example/suites/smpp/esme_connect_policy_closed.py similarity index 100% rename from suites/smpp/esme_connect_policy_closed.py rename to example/suites/smpp/esme_connect_policy_closed.py diff --git a/suites/smpp/esme_ms_sms_storeforward.py b/example/suites/smpp/esme_ms_sms_storeforward.py similarity index 100% rename from suites/smpp/esme_ms_sms_storeforward.py rename to example/suites/smpp/esme_ms_sms_storeforward.py diff --git a/suites/smpp/esme_ms_sms_transaction.py b/example/suites/smpp/esme_ms_sms_transaction.py similarity index 100% rename from suites/smpp/esme_ms_sms_transaction.py rename to example/suites/smpp/esme_ms_sms_transaction.py diff --git a/suites/smpp/suite.conf b/example/suites/smpp/suite.conf similarity index 100% rename from suites/smpp/suite.conf rename to example/suites/smpp/suite.conf diff --git a/suites/sms/mo_mt_sms.py b/example/suites/sms/mo_mt_sms.py similarity index 100% rename from suites/sms/mo_mt_sms.py rename to example/suites/sms/mo_mt_sms.py diff --git a/suites/sms/suite.conf b/example/suites/sms/suite.conf similarity index 100% rename from suites/sms/suite.conf rename to example/suites/sms/suite.conf diff --git a/suites/ussd/assert_extension.py b/example/suites/ussd/assert_extension.py similarity index 100% rename from suites/ussd/assert_extension.py rename to example/suites/ussd/assert_extension.py diff --git a/suites/ussd/suite.conf b/example/suites/ussd/suite.conf similarity index 100% rename from suites/ussd/suite.conf rename to example/suites/ussd/suite.conf diff --git a/suites/voice/lib/testlib.py b/example/suites/voice/lib/testlib.py similarity index 100% rename from suites/voice/lib/testlib.py rename to example/suites/voice/lib/testlib.py diff --git a/suites/voice/mo_mt_call.py b/example/suites/voice/mo_mt_call.py similarity index 100% rename from suites/voice/mo_mt_call.py rename to example/suites/voice/mo_mt_call.py diff --git a/suites/voice/mo_mt_call_osmux.py b/example/suites/voice/mo_mt_call_osmux.py similarity index 100% rename from suites/voice/mo_mt_call_osmux.py rename to example/suites/voice/mo_mt_call_osmux.py diff --git a/suites/voice/suite.conf b/example/suites/voice/suite.conf similarity index 100% rename from suites/voice/suite.conf rename to example/suites/voice/suite.conf -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17751 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: I154b19979b545deba8b232b60172903f63fd9e28 Gerrit-Change-Number: 17751 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Apr 7 16:39:59 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 7 Apr 2020 16:39:59 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_ue: fix UHD support References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17752 ) Change subject: amarisoft_ue: fix UHD support ...................................................................... amarisoft_ue: fix UHD support the Amarisoft UE seems to be only working with UHD when the bandwidth param is provided. It seems the set_bandwidth() API is used. Change-Id: I3f20a5a8ca80c63374f0ad500fd2794e2dc45479 --- M src/osmo_gsm_tester/amarisoft_ue.py M src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl 2 files changed, 23 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/52/17752/1 diff --git a/src/osmo_gsm_tester/amarisoft_ue.py b/src/osmo_gsm_tester/amarisoft_ue.py index 31e814e..9bfc182 100644 --- a/src/osmo_gsm_tester/amarisoft_ue.py +++ b/src/osmo_gsm_tester/amarisoft_ue.py @@ -47,6 +47,21 @@ def num_prb2base_srate(num_prb): return num_prb2symbol_sz(num_prb) * 15 * 1000 +def num_prb2bandwidth(num_prb): + if num_prb <= 6: + return 1.4 + if num_prb <= 15: + return 3 + if num_prb <= 25: + return 5 + if num_prb <= 50: + return 10 + if num_prb <= 75: + return 15 + if num_prb <= 110: + return 20 + raise log.Error('invalid num_prb %r', num_prb) + class AmarisoftUE(MS): REMOTE_DIR = '/osmo-gsm-tester-amarisoftue' @@ -210,8 +225,13 @@ config.overlay(values, dict(ue=dict(sample_rate = base_srate / (1000*1000), rf_dev_args = rf_dev_args))) + # The UHD rf driver seems to require the bandwidth configuration + if self._conf.get('rf_dev_type') == 'uhd': + bandwidth = num_prb2bandwidth(self.enb.num_prb()) + config.overlay(values, dict(ue=dict(bandwidth = bandwidth))) + # Set UHD frame size as a function of the cell bandwidth on B2XX - if self._conf.get('rf_dev_type') == 'UHD' and values['ue'].get('rf_dev_args', None) is not None: + if self._conf.get('rf_dev_type') == 'uhd' and values['ue'].get('rf_dev_args', None) is not None: if 'b200' in values['ue'].get('rf_dev_args'): rf_dev_args = values['ue'].get('rf_dev_args', '') rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else '' diff --git a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl index 4831278..59ab8b2 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl @@ -13,6 +13,8 @@ % 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", -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17752 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: I3f20a5a8ca80c63374f0ad500fd2794e2dc45479 Gerrit-Change-Number: 17752 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 Apr 7 16:46:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 16:46:54 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_ue: fix UHD support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17752 ) Change subject: amarisoft_ue: fix UHD support ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17752 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: I3f20a5a8ca80c63374f0ad500fd2794e2dc45479 Gerrit-Change-Number: 17752 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 07 Apr 2020 16: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 Apr 7 16:47:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 16:47:29 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_ue: fix UHD support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17752 ) Change subject: amarisoft_ue: fix UHD support ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17752 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: I3f20a5a8ca80c63374f0ad500fd2794e2dc45479 Gerrit-Change-Number: 17752 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 07 Apr 2020 16:47: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 Apr 7 16:47:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 16:47:31 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_ue: fix UHD support In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17752 ) Change subject: amarisoft_ue: fix UHD support ...................................................................... amarisoft_ue: fix UHD support the Amarisoft UE seems to be only working with UHD when the bandwidth param is provided. It seems the set_bandwidth() API is used. Change-Id: I3f20a5a8ca80c63374f0ad500fd2794e2dc45479 --- M src/osmo_gsm_tester/amarisoft_ue.py M src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl 2 files changed, 23 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/amarisoft_ue.py b/src/osmo_gsm_tester/amarisoft_ue.py index 31e814e..9bfc182 100644 --- a/src/osmo_gsm_tester/amarisoft_ue.py +++ b/src/osmo_gsm_tester/amarisoft_ue.py @@ -47,6 +47,21 @@ def num_prb2base_srate(num_prb): return num_prb2symbol_sz(num_prb) * 15 * 1000 +def num_prb2bandwidth(num_prb): + if num_prb <= 6: + return 1.4 + if num_prb <= 15: + return 3 + if num_prb <= 25: + return 5 + if num_prb <= 50: + return 10 + if num_prb <= 75: + return 15 + if num_prb <= 110: + return 20 + raise log.Error('invalid num_prb %r', num_prb) + class AmarisoftUE(MS): REMOTE_DIR = '/osmo-gsm-tester-amarisoftue' @@ -210,8 +225,13 @@ config.overlay(values, dict(ue=dict(sample_rate = base_srate / (1000*1000), rf_dev_args = rf_dev_args))) + # The UHD rf driver seems to require the bandwidth configuration + if self._conf.get('rf_dev_type') == 'uhd': + bandwidth = num_prb2bandwidth(self.enb.num_prb()) + config.overlay(values, dict(ue=dict(bandwidth = bandwidth))) + # Set UHD frame size as a function of the cell bandwidth on B2XX - if self._conf.get('rf_dev_type') == 'UHD' and values['ue'].get('rf_dev_args', None) is not None: + if self._conf.get('rf_dev_type') == 'uhd' and values['ue'].get('rf_dev_args', None) is not None: if 'b200' in values['ue'].get('rf_dev_args'): rf_dev_args = values['ue'].get('rf_dev_args', '') rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else '' diff --git a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl index 4831278..59ab8b2 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl @@ -13,6 +13,8 @@ % 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", -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17752 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: I3f20a5a8ca80c63374f0ad500fd2794e2dc45479 Gerrit-Change-Number: 17752 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Apr 7 16:52:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 16:52:37 +0000 Subject: Change in osmo-gsm-tester[master]: srs/amarisoft{ue, enb}: Fix b200 specific rf_dev_args References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17753 ) Change subject: srs/amarisoft{ue,enb}: Fix b200 specific rf_dev_args ...................................................................... srs/amarisoft{ue,enb}: Fix b200 specific rf_dev_args Commit 12ae6d79a5b53a213f619999ef0230c1dae88bb7 switched the rf_dev_type to be in lowercase but forgot to change these conditions. Change-Id: I91d3877381b4e6343dc4aa0465e699341ed6648d --- M doc/manuals/chapters/config.adoc M doc/manuals/chapters/config_mangling.adoc M src/osmo_gsm_tester/amarisoft_enb.py M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 5 files changed, 8 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/53/17753/1 diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index e70b396..4dd90ff 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -416,14 +416,15 @@ - num_prb: ${param2} ---- -Finally, it can be referenced during {app-name} execution this wya, for instance when running a suite named '4g': +Finally, it can be referenced during {app-name} execution this way, for instance +when running a suite named '4g': ---- -- 4g:my-parametrized-scenario at UHD,6 +- 4g:my-parametrized-scenario at uhd,6 ---- This way {app-name} when parsing the scenarios and combining them with the suite will:: . Find out it is parametrized (name contains '@'). . Split the name - ('my-parametrized-scenario') from the parameter list (param1='UHD', param2='6') + ('my-parametrized-scenario') from the parameter list (param1='uhd', param2='6') . Attempt to match a '.conf' file fully matching name and parameters (hence specific content can be set for specific values while still using parameters for general values), and otherwise match only by name. diff --git a/doc/manuals/chapters/config_mangling.adoc b/doc/manuals/chapters/config_mangling.adoc index 310b15f..e579732 100644 --- a/doc/manuals/chapters/config_mangling.adoc +++ b/doc/manuals/chapters/config_mangling.adoc @@ -188,7 +188,7 @@ - label: srsENB-B200 type: srsenb - rf_dev_type: UHD + rf_dev_type: uhd rf_dev_args: "type=b200,serial=317B9FE" remote_user: jenkins addr: 10.12.1.206 diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index df8e0db..c92bf50 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -185,7 +185,7 @@ rf_dev_args=rf_dev_args))) # Set UHD frame size as a function of the cell bandwidth on B2XX - if self._conf.get('rf_dev_type') == 'UHD' and values['enb'].get('rf_dev_args', None) is not None: + if self._conf.get('rf_dev_type') == 'uhd' and values['enb'].get('rf_dev_args', None) is not None: if 'b200' in values['enb'].get('rf_dev_args'): rf_dev_args = values['enb'].get('rf_dev_args', '') rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else '' diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index fe0e550..372848d 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -214,7 +214,7 @@ config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) # Set UHD frame size as a function of the cell bandwidth on B2XX - if self._conf.get('rf_dev_type') == 'UHD' and values['enb'].get('rf_dev_args', None) is not None: + if self._conf.get('rf_dev_type') == 'uhd' and values['enb'].get('rf_dev_args', None) is not None: if 'b200' in values['enb'].get('rf_dev_args'): rf_dev_args = values['enb'].get('rf_dev_args', '') rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else '' diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 00f729f..119a477 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -242,7 +242,7 @@ ))) # Set UHD frame size as a function of the cell bandwidth on B2XX - if self._conf.get('rf_dev_type') == 'UHD' and values['ue'].get('rf_dev_args', None) is not None: + if self._conf.get('rf_dev_type') == 'uhd' and values['ue'].get('rf_dev_args', None) is not None: if 'b200' in values['ue'].get('rf_dev_args'): rf_dev_args = values['ue'].get('rf_dev_args', '') rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else '' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17753 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: I91d3877381b4e6343dc4aa0465e699341ed6648d Gerrit-Change-Number: 17753 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 Apr 7 18:46:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 18:46:16 +0000 Subject: Change in osmo-gsm-tester[master]: srs/amarisoft{ue, enb}: Fix b200 specific rf_dev_args In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17753 ) Change subject: srs/amarisoft{ue,enb}: Fix b200 specific rf_dev_args ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17753 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: I91d3877381b4e6343dc4aa0465e699341ed6648d Gerrit-Change-Number: 17753 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 07 Apr 2020 18: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 Apr 7 18:46:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 7 Apr 2020 18:46:19 +0000 Subject: Change in osmo-gsm-tester[master]: srs/amarisoft{ue, enb}: Fix b200 specific rf_dev_args In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17753 ) Change subject: srs/amarisoft{ue,enb}: Fix b200 specific rf_dev_args ...................................................................... srs/amarisoft{ue,enb}: Fix b200 specific rf_dev_args Commit 12ae6d79a5b53a213f619999ef0230c1dae88bb7 switched the rf_dev_type to be in lowercase but forgot to change these conditions. Change-Id: I91d3877381b4e6343dc4aa0465e699341ed6648d --- M doc/manuals/chapters/config.adoc M doc/manuals/chapters/config_mangling.adoc M src/osmo_gsm_tester/amarisoft_enb.py M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 5 files changed, 8 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index e70b396..4dd90ff 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -416,14 +416,15 @@ - num_prb: ${param2} ---- -Finally, it can be referenced during {app-name} execution this wya, for instance when running a suite named '4g': +Finally, it can be referenced during {app-name} execution this way, for instance +when running a suite named '4g': ---- -- 4g:my-parametrized-scenario at UHD,6 +- 4g:my-parametrized-scenario at uhd,6 ---- This way {app-name} when parsing the scenarios and combining them with the suite will:: . Find out it is parametrized (name contains '@'). . Split the name - ('my-parametrized-scenario') from the parameter list (param1='UHD', param2='6') + ('my-parametrized-scenario') from the parameter list (param1='uhd', param2='6') . Attempt to match a '.conf' file fully matching name and parameters (hence specific content can be set for specific values while still using parameters for general values), and otherwise match only by name. diff --git a/doc/manuals/chapters/config_mangling.adoc b/doc/manuals/chapters/config_mangling.adoc index 310b15f..e579732 100644 --- a/doc/manuals/chapters/config_mangling.adoc +++ b/doc/manuals/chapters/config_mangling.adoc @@ -188,7 +188,7 @@ - label: srsENB-B200 type: srsenb - rf_dev_type: UHD + rf_dev_type: uhd rf_dev_args: "type=b200,serial=317B9FE" remote_user: jenkins addr: 10.12.1.206 diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index df8e0db..c92bf50 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -185,7 +185,7 @@ rf_dev_args=rf_dev_args))) # Set UHD frame size as a function of the cell bandwidth on B2XX - if self._conf.get('rf_dev_type') == 'UHD' and values['enb'].get('rf_dev_args', None) is not None: + if self._conf.get('rf_dev_type') == 'uhd' and values['enb'].get('rf_dev_args', None) is not None: if 'b200' in values['enb'].get('rf_dev_args'): rf_dev_args = values['enb'].get('rf_dev_args', '') rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else '' diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index fe0e550..372848d 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -214,7 +214,7 @@ config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) # Set UHD frame size as a function of the cell bandwidth on B2XX - if self._conf.get('rf_dev_type') == 'UHD' and values['enb'].get('rf_dev_args', None) is not None: + if self._conf.get('rf_dev_type') == 'uhd' and values['enb'].get('rf_dev_args', None) is not None: if 'b200' in values['enb'].get('rf_dev_args'): rf_dev_args = values['enb'].get('rf_dev_args', '') rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else '' diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 00f729f..119a477 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -242,7 +242,7 @@ ))) # Set UHD frame size as a function of the cell bandwidth on B2XX - if self._conf.get('rf_dev_type') == 'UHD' and values['ue'].get('rf_dev_args', None) is not None: + if self._conf.get('rf_dev_type') == 'uhd' and values['ue'].get('rf_dev_args', None) is not None: if 'b200' in values['ue'].get('rf_dev_args'): rf_dev_args = values['ue'].get('rf_dev_args', '') rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else '' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17753 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: I91d3877381b4e6343dc4aa0465e699341ed6648d Gerrit-Change-Number: 17753 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Apr 7 23:31:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 7 Apr 2020 23:31:58 +0000 Subject: Change in libosmocore[master]: tests/coding: Test decoding of DL EGPRS data packet In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17750 ) Change subject: tests/coding: Test decoding of DL EGPRS data packet ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/libosmocore/+/17750/1/tests/coding/coding_test.c File tests/coding/coding_test.c: https://gerrit.osmocom.org/c/libosmocore/+/17750/1/tests/coding/coding_test.c at 326 PS1, Line 326: struct static const? https://gerrit.osmocom.org/c/libosmocore/+/17750/1/tests/coding/coding_test.c at 328 PS1, Line 328: false How about using designated initializers? .is_egprs = false, .exp_burst_bits = GSM0503_GPRS_BURSTS_NBITS, // ... https://gerrit.osmocom.org/c/libosmocore/+/17750/1/tests/coding/coding_test.c at 388 PS1, Line 388: struct const? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17750 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ide23a484b980995f24092d1cfbf062aed58fdf61 Gerrit-Change-Number: 17750 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 07 Apr 2020 23:31: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 Wed Apr 8 09:10:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 8 Apr 2020 09:10:23 +0000 Subject: Change in osmo-pcu[master]: TODO: remove those that have obviously been implemented 5+ years ago References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17754 ) Change subject: TODO: remove those that have obviously been implemented 5+ years ago ...................................................................... TODO: remove those that have obviously been implemented 5+ years ago The TODO file hasn't seen any updates sicne 2014, while the code has evolved. I'm not sure about some of the topics, but at least several can for sure be removed by now Change-Id: I56581c9b2a08edb1b6d4dc53ad9eb6fdd1800a0d --- M TODO 1 file changed, 0 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/54/17754/1 diff --git a/TODO b/TODO index a449398..028865e 100644 --- a/TODO +++ b/TODO @@ -1,13 +1,5 @@ -* Make the TBF ul/dl list per BTS -* Make the SBA per BTS -* Make the tbf point to the BTS so we can kill plenty of parameters -* Group more into in classes.. remove bts pointers. * Change functions with 100 parameters to get a struct as param * Move move into the TBF class -* Replace trx/ts with pointers. E.g. a PDCH should know the trx - it is on... then we can omit trx, ts and parameters and just pass - the pdch. -* On global free/reset... also flush the timing advance.. * tbf/llc window code appears to be duplicated and nested in other methods. This needs to be cleaned. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17754 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I56581c9b2a08edb1b6d4dc53ad9eb6fdd1800a0d Gerrit-Change-Number: 17754 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 Wed Apr 8 09:20:11 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 8 Apr 2020 09:20:11 +0000 Subject: Change in libosmo-sccp[master]: doc: make sure all log categories are set to level notice In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17597 to look at the new patch set (#3). Change subject: doc: make sure all log categories are set to level notice ...................................................................... doc: make sure all log categories are set to level notice Lets make sure all logging levels are set to notice Change-Id: I3b17aa4354f30b55da8fc77f4fe6af0373de7983 --- M doc/examples/osmo-stp.cfg 1 file changed, 1 insertion(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/97/17597/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I3b17aa4354f30b55da8fc77f4fe6af0373de7983 Gerrit-Change-Number: 17597 Gerrit-PatchSet: 3 Gerrit-Owner: dexter 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 Apr 8 10:58:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 10:58:16 +0000 Subject: Change in osmo-pcu[master]: TODO: remove those that have obviously been implemented 5+ years ago In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17754 ) Change subject: TODO: remove those that have obviously been implemented 5+ years ago ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17754 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I56581c9b2a08edb1b6d4dc53ad9eb6fdd1800a0d Gerrit-Change-Number: 17754 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 08 Apr 2020 10:58: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 Wed Apr 8 10:59:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 10:59:29 +0000 Subject: Change in libosmo-sccp[master]: doc: make sure all log categories are set to level notice In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17597 ) Change subject: doc: make sure all log categories are set to level notice ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I3b17aa4354f30b55da8fc77f4fe6af0373de7983 Gerrit-Change-Number: 17597 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 08 Apr 2020 10:59: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 Apr 8 11:01:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 11:01:58 +0000 Subject: Change in libosmocore[master]: gsm0503_coding: Fix USF encoding in MCS1-4 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17741 ) Change subject: gsm0503_coding: Fix USF encoding in MCS1-4 ...................................................................... gsm0503_coding: Fix USF encoding in MCS1-4 osmo-gsm-tester raised an ASan warning in osmo-bts-trx during execution of a test with EGPRS enabled and a modem connecting to it (see OS#4483 for full trace): ==12388==ERROR: AddressSanitizer: global-buffer-overflow on address 0x7fa20b9ab8d0 at pc 0x7fa20b982894 bp 0x7ffdfea8b9c0 sp 0x7ffdfea8b9b8 READ of size 1 at 0x7fa20b9ab8d0 thread T0 #0 0x7fa20b982893 in gsm0503_mcs1_dl_interleave /home/osmocom-build/jenkins/workspace/osmo-gsm-tester_build-osmo-bts/libosmocore/src/coding/gsm0503_interleaving.c:165 Function gsm0503_mcs1_dl_interleave() was being passed the 6-bit USF encoding while clrearly expecting a 12 element array. TS 05.03 5.1.5.1.2 "USF precoding" also clearly states that 12bit encoding is to be used for MCS1-4. Fixes: OS#4483 Change-Id: I94db14de770070b17894a9071aa14391d26e776c --- M src/coding/gsm0503_coding.c 1 file changed, 1 insertion(+), 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/src/coding/gsm0503_coding.c b/src/coding/gsm0503_coding.c index 9449f4b..5592433 100644 --- a/src/coding/gsm0503_coding.c +++ b/src/coding/gsm0503_coding.c @@ -1176,7 +1176,7 @@ ubit_t iB[456]; const ubit_t *hl_hn = gsm0503_pdtch_hl_hn_ubit[3]; - gsm0503_mcs1_dl_interleave(gsm0503_usf2six[usf], hc, dc, iB); + gsm0503_mcs1_dl_interleave(gsm0503_usf2twelve_ubit[usf], hc, dc, iB); for (i = 0; i < 4; i++) { gsm0503_xcch_burst_map(&iB[i * 114], &bursts[i * 116], -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17741 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I94db14de770070b17894a9071aa14391d26e776c Gerrit-Change-Number: 17741 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge 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 Wed Apr 8 11:02:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 11:02:00 +0000 Subject: Change in libosmocore[master]: gsm0503_tables: Document USF encoding tables In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17742 ) Change subject: gsm0503_tables: Document USF encoding tables ...................................................................... gsm0503_tables: Document USF encoding tables Change-Id: I596c10960bd1ff1b1ec14ad953ce5e1ed040d35a --- M src/coding/gsm0503_tables.c 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/coding/gsm0503_tables.c b/src/coding/gsm0503_tables.c index 5fe634b..df0abee 100644 --- a/src/coding/gsm0503_tables.c +++ b/src/coding/gsm0503_tables.c @@ -63,6 +63,9 @@ { -127,-127, -127, 127, 127,-127, -127,-127 }, }; +/* + * 3GPP TS 05.03 sec 5.1.2.2 "Block code". Rows re-ordered to be indxed by USF in host bit order. + */ const ubit_t gsm0503_usf2six[8][6] = { { 0,0,0, 0,0,0 }, { 1,0,0, 1,0,1 }, @@ -74,6 +77,9 @@ { 1,1,1, 0,0,0 }, }; +/* + * 3GPP TS 05.03 sec 5.1.4.2 "Block code". Rows re-ordered to be indxed by USF in host bit order. + */ const ubit_t gsm0503_usf2twelve_ubit[8][12] = { { 0,0,0, 0,0,0, 0,0,0, 0,0,0 }, { 1,1,0, 1,0,0, 0,0,1, 0,1,1 }, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17742 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I596c10960bd1ff1b1ec14ad953ce5e1ed040d35a Gerrit-Change-Number: 17742 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 Wed Apr 8 11:02:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 11:02:26 +0000 Subject: Change in osmo-ci[master]: ansible: ogt: Create target amarisoft dirs in slaves In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17726 ) Change subject: ansible: ogt: Create target amarisoft dirs in slaves ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Idd013ac01db545771217808e458e916900fe89a1 Gerrit-Change-Number: 17726 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 08 Apr 2020 11:02: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 Apr 8 11:02:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 11:02:29 +0000 Subject: Change in osmo-ci[master]: ansible: ogt: Create target amarisoft dirs in slaves In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17726 ) Change subject: ansible: ogt: Create target amarisoft dirs in slaves ...................................................................... ansible: ogt: Create target amarisoft dirs in slaves Change-Id: Idd013ac01db545771217808e458e916900fe89a1 --- M ansible/roles/gsm-tester/tasks/main.yml 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: pespin: 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 c4be6ef..0109d1b 100644 --- a/ansible/roles/gsm-tester/tasks/main.yml +++ b/ansible/roles/gsm-tester/tasks/main.yml @@ -447,6 +447,9 @@ - srsepc - srsue - trx + - amarisoftenb + - amarisoftepc + - amarisoftue tags: - osmo-gsm-tester-proc - osmocom -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Idd013ac01db545771217808e458e916900fe89a1 Gerrit-Change-Number: 17726 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 Apr 8 13:20:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 13:20:53 +0000 Subject: Change in osmo-gsm-tester[master]: utils/bin: Support passing several bin files to setcap helper scripts References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17755 ) Change subject: utils/bin: Support passing several bin files to setcap helper scripts ...................................................................... utils/bin: Support passing several bin files to setcap helper scripts Change-Id: Ifa43f895ae0796d086f35778263aaba07f2e1b7a --- M utils/bin/osmo-gsm-tester_setcap_net_admin.sh M utils/bin/osmo-gsm-tester_setcap_net_raw.sh M utils/bin/osmo-gsm-tester_setcap_netsys_admin.sh 3 files changed, 12 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/55/17755/1 diff --git a/utils/bin/osmo-gsm-tester_setcap_net_admin.sh b/utils/bin/osmo-gsm-tester_setcap_net_admin.sh index 60e527a..2016d08 100755 --- a/utils/bin/osmo-gsm-tester_setcap_net_admin.sh +++ b/utils/bin/osmo-gsm-tester_setcap_net_admin.sh @@ -1,2 +1,5 @@ #!/bin/sh -/sbin/setcap cap_net_admin+ep "$1" +set -x +for filename in "$@"; do + /sbin/setcap cap_net_admin+ep "$filename" +done diff --git a/utils/bin/osmo-gsm-tester_setcap_net_raw.sh b/utils/bin/osmo-gsm-tester_setcap_net_raw.sh index 1f3a727..9390e6d 100755 --- a/utils/bin/osmo-gsm-tester_setcap_net_raw.sh +++ b/utils/bin/osmo-gsm-tester_setcap_net_raw.sh @@ -1,3 +1,5 @@ #!/bin/sh - -/sbin/setcap cap_net_raw+ep "$1" +set -x +for filename in "$@"; do + /sbin/setcap cap_net_raw+ep "$filename" +done diff --git a/utils/bin/osmo-gsm-tester_setcap_netsys_admin.sh b/utils/bin/osmo-gsm-tester_setcap_netsys_admin.sh index c432e1a..a3b929c 100755 --- a/utils/bin/osmo-gsm-tester_setcap_netsys_admin.sh +++ b/utils/bin/osmo-gsm-tester_setcap_netsys_admin.sh @@ -1,2 +1,5 @@ #!/bin/sh -/sbin/setcap cap_net_admin,cap_sys_admin+ep "$1" +set -x +for filename in "$@"; do + /sbin/setcap cap_net_admin,cap_sys_admin+ep "$filename" +done -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17755 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: Ifa43f895ae0796d086f35778263aaba07f2e1b7a Gerrit-Change-Number: 17755 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 Apr 8 13:20:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 13:20:54 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_ue: Implement data plane References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17756 ) Change subject: amarisoft_ue: Implement data plane ...................................................................... amarisoft_ue: Implement data plane Use the ifup script to set up the netns + configure the tun device created by lteue. Use it also as a hook to know when the UE is attached. Since tun setup is done by arch-optimized lte-avx(2) binaries, we also need to give capabilitites to them (instead of allowing inheritance of caps in general in the setcap script). Change-Id: I1e228b1296eac8e4cb183c2faa735b0468abe124 --- M src/osmo_gsm_tester/amarisoft_ue.py M src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl M utils/bin/osmo-gsm-tester_netns_setup.sh 3 files changed, 54 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/56/17756/1 diff --git a/src/osmo_gsm_tester/amarisoft_ue.py b/src/osmo_gsm_tester/amarisoft_ue.py index 9bfc182..422f28d 100644 --- a/src/osmo_gsm_tester/amarisoft_ue.py +++ b/src/osmo_gsm_tester/amarisoft_ue.py @@ -69,6 +69,7 @@ CFGFILE = 'amarisoft_lteue.cfg' CFGFILE_RF = 'amarisoft_rf_driver.cfg' LOGFILE = 'lteue.log' + IFUPFILE = 'ue-ifup' def __init__(self, suite_run, conf): self._addr = conf.get('addr', None) @@ -81,6 +82,7 @@ self._bin_prefix = None self.config_file = None self.config_rf_file = None + self.ifup_file = None self.log_file = None self.process = None self.rem_host = None @@ -88,6 +90,7 @@ self.remote_config_file = None self.remote_config_rf_file = None self.remote_log_file = None + self.remote_ifup_file = None self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): @@ -138,17 +141,16 @@ remote_binary = self.remote_inst.child('', AmarisoftUE.BINFILE) # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. self.log('Setting RPATH for ltetue') - # amarisoftue binary needs patchelf >= 0.9+52 to avoid failing during patch. OS#4389, patchelf-GH#192. + # patchelf >= 0.10 is required to support passing several files at once: self.rem_host.set_remote_env({'PATCHELF_BIN': '/opt/bin/patchelf-v0.10' }) self.rem_host.change_elf_rpath(remote_binary, str(self.remote_inst)) + # We also need to patch the arch-optimized binaries that lteue() will exec() into: + self.rem_host.change_elf_rpath(self.remote_inst.child('', 'lteue-*'), str(self.remote_inst)) - # amarisoftue requires CAP_SYS_ADMIN to cjump to net network namespace: netns(CLONE_NEWNET): - # amarisoftue requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): - self.log('Applying CAP_SYS_ADMIN+CAP_NET_ADMIN capability to ltetue') - self.rem_host.setcap_netsys_admin(remote_binary) - - self.log('Creating netns %s' % self.netns()) - self.rem_host.create_netns(self.netns()) + # lteue requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): + self.log('Applying CAP_NET_ADMIN capability to ltetue') + self.rem_host.setcap_net_admin(remote_binary) + self.rem_host.setcap_net_admin(self.remote_inst.child('', 'lteue-*')) args = (remote_binary, self.remote_config_file) self.process = self.rem_host.RemoteProcess(AmarisoftUE.BINFILE, args) @@ -162,14 +164,13 @@ # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. self.log('Setting RPATH for lteue') util.change_elf_rpath(binary, util.prepend_library_path(self.inst), self.run_dir.new_dir('patchelf')) + # We also need to patch the arch-optimized binaries that lteue() will exec() into: + util.change_elf_rpath(self.inst.child('', 'lteue-*'), util.prepend_library_path(self.inst), self.run_dir.new_dir('patchelf2')) - # amarisoftue requires CAP_SYS_ADMIN to cjump to net network namespace: netns(CLONE_NEWNET): - # amarisoftue requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): - self.log('Applying CAP_SYS_ADMIN+CAP_NET_ADMIN capability to lteue') - util.setcap_netsys_admin(binary, self.run_dir.new_dir('setcap_netsys_admin')) - - self.log('Creating netns %s' % self.netns()) - util.create_netns(self.netns(), self.run_dir.new_dir('create_netns')) + # lteue requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): + self.log('Applying CAP_NET_ADMIN capability to lteue') + util.setcap_net_admin(binary, self.run_dir.new_dir('setcap_net_admin')) + util.setcap_net_admin(self.inst.child('', 'lteue-*'), self.run_dir.new_dir('setcap_net_admin2')) args = (binary, os.path.abspath(self.config_file)) self.dbg(run_dir=self.run_dir, binary=binary, env=env) @@ -192,6 +193,24 @@ self.config_file = self.run_dir.child(AmarisoftUE.CFGFILE) self.config_rf_file = self.run_dir.child(AmarisoftUE.CFGFILE_RF) self.log_file = self.run_dir.child(AmarisoftUE.LOGFILE) + self.ifup_file = self.run_dir.new_file(AmarisoftUE.IFUPFILE) + os.chmod(self.ifup_file, 0o744) # add execution permission + with open(self.ifup_file, 'w') as f: + r = '''#!/bin/sh + set -x -e + ue_id="$1" # UE ID + pdn_id="$2" # PDN unique id (start from 0) + ifname="$3" # Interface name + ipv4_addr="$4" # IPv4 address + ipv4_dns="$5" # IPv4 DNS + ipv6_local_addr="$6" # IPv6 local address + ipv6_dns="$7" # IPv6 DNS + old_link_local="" + # script + sudoers file available in osmo-gsm-tester.git/utils/{bin,sudoers.d} + sudo /usr/local/bin/osmo-gsm-tester_netns_setup.sh "%s" "$ifname" "$ipv4_addr" + echo "${ue_id}: netns %s configured" + ''' % (self.netns(), self.netns()) + f.write(r) if not self.setup_runs_locally(): self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) @@ -202,6 +221,7 @@ self.remote_config_file = remote_run_dir.child(AmarisoftUE.CFGFILE) self.remote_config_rf_file = remote_run_dir.child(AmarisoftUE.CFGFILE_RF) self.remote_log_file = remote_run_dir.child(AmarisoftUE.LOGFILE) + self.remote_ifup_file = remote_run_dir.child(AmarisoftUE.IFUPFILE) values = dict(ue=config.get_defaults('amarisoft')) config.overlay(values, dict(ue=config.get_defaults('amarisoftue'))) @@ -211,7 +231,9 @@ config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file - config.overlay(values, dict(ue=dict(log_filename=logfile))) + ifupfile = self.ifup_file if self.setup_runs_locally() else self.remote_ifup_file + config.overlay(values, dict(ue=dict(log_filename=logfile, + ifup_filename=ifupfile))) # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': @@ -263,9 +285,12 @@ self.rem_host.recreate_remote_dir(remote_run_dir) self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) self.rem_host.scp('scp-cfg-rf-to-remote', self.config_rf_file, self.remote_config_rf_file) + self.rem_host.scp('scp-ifup-to-remote', self.ifup_file, self.remote_ifup_file) def is_connected(self, mcc_mnc=None): - return 'Network attach successful.' in (self.process.get_stdout() or '') + # lteue doesn't call the ifup script until after it becomes attached, so + # simply look for our ifup script output at the end of it: + return 'netns %s configured' % (self.netns()) in (self.process.get_stdout() or '') def is_attached(self): return self.is_connected() diff --git a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl index 59ab8b2..720c0ba 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl @@ -55,7 +55,7 @@ //external_sim: true, /* Enable it to create a TUN interface for each UE PDN */ - //tun_setup_script: "ue-ifup", + tun_setup_script: "${ue.ifup_filename}", sim_events: [{ event: "power_on", diff --git a/utils/bin/osmo-gsm-tester_netns_setup.sh b/utils/bin/osmo-gsm-tester_netns_setup.sh index e3d09ea..c53e41a 100755 --- a/utils/bin/osmo-gsm-tester_netns_setup.sh +++ b/utils/bin/osmo-gsm-tester_netns_setup.sh @@ -2,6 +2,7 @@ netns="$1" ifname="$2" # optional +ip_addr="$3" # optional if [ -f "/var/run/netns/${netns}" ]; then echo "netns $netns already exists" @@ -20,3 +21,13 @@ else ip netns exec $netns ls "/sys/class/net/${ifname}" >/dev/null && echo "iface $ifname already in netns $netns" fi + +if [ "x$ip_addr" = "x" ]; then + exit 0 +fi + +echo "Setting up iface $ifname with ${ip_addr}" +ip netns exec $netns ip link set dev $ifname up +ip netns exec $netns ip addr add ${ip_addr}/24 dev $ifname + +#ip netns exec $netns ip route add default via ${ip_addr} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17756 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: I1e228b1296eac8e4cb183c2faa735b0468abe124 Gerrit-Change-Number: 17756 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 Apr 8 15:38:44 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 8 Apr 2020 15:38:44 +0000 Subject: Change in osmo-iuh[master]: tests/test-helpers: fix some -Wpointer-sign warnings reported by GCC In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17745 ) Change subject: tests/test-helpers: fix some -Wpointer-sign warnings reported by GCC ...................................................................... tests/test-helpers: fix some -Wpointer-sign warnings reported by GCC Change-Id: I7ebc99fe919fe7ba515c9d8ba601dceb820bf11f --- M src/tests/test-helpers.c 1 file changed, 10 insertions(+), 10 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/tests/test-helpers.c b/src/tests/test-helpers.c index f218a79..d7ad758 100644 --- a/src/tests/test-helpers.c +++ b/src/tests/test-helpers.c @@ -64,12 +64,12 @@ const uint32_t val1 = 0xdeadbeef; const OCTET_STRING_t text1 = { - .buf = "0123456789012345", + .buf = (uint8_t *) "0123456789012345", .size = 16, }; const OCTET_STRING_t text2 = { - .buf = "01234567890123456789012345678901234567890", + .buf = (uint8_t *) "01234567890123456789012345678901234567890", .size = 40, }; @@ -145,9 +145,9 @@ printf("Testing ranap common functions\n"); - printf("PLMN-Id [ %s]", osmo_hexdump((char*)lai.pLMNidentity.buf, + printf("PLMN-Id [ %s]", osmo_hexdump(lai.pLMNidentity.buf, lai.pLMNidentity.size)); - printf(", LAC [ %s]\n", osmo_hexdump((char*)lai.lAC.buf, + printf(", LAC [ %s]\n", osmo_hexdump(lai.lAC.buf, lai.lAC.size)); rc = ranap_parse_lai(&ra_id, &lai); @@ -164,9 +164,9 @@ uint8_t plmnid_buf_mnc3[] = { 0x21, 0x43, 0x65 }; lai.pLMNidentity.buf = plmnid_buf_mnc3; - printf("PLMN-Id [ %s]", osmo_hexdump((char*)lai.pLMNidentity.buf, + printf("PLMN-Id [ %s]", osmo_hexdump(lai.pLMNidentity.buf, lai.pLMNidentity.size)); - printf(", LAC [ %s]\n", osmo_hexdump((char*)lai.lAC.buf, + printf(", LAC [ %s]\n", osmo_hexdump(lai.lAC.buf, lai.lAC.size)); rc = ranap_parse_lai(&ra_id, &lai); @@ -182,9 +182,9 @@ /* wrong PLMN-Id size */ lai.pLMNidentity.size = 2; - printf("PLMN-Id [ %s]", osmo_hexdump((char*)lai.pLMNidentity.buf, + printf("PLMN-Id [ %s]", osmo_hexdump(lai.pLMNidentity.buf, lai.pLMNidentity.size)); - printf(", LAC [ %s]\n", osmo_hexdump((char*)lai.lAC.buf, + printf(", LAC [ %s]\n", osmo_hexdump(lai.lAC.buf, lai.lAC.size)); rc = ranap_parse_lai(&ra_id, &lai); @@ -196,9 +196,9 @@ lai.pLMNidentity.size = 3; lai.lAC.size = 1; - printf("PLMN-Id [ %s]", osmo_hexdump((char*)lai.pLMNidentity.buf, + printf("PLMN-Id [ %s]", osmo_hexdump(lai.pLMNidentity.buf, lai.pLMNidentity.size)); - printf(", LAC [ %s]\n", osmo_hexdump((char*)lai.lAC.buf, + printf(", LAC [ %s]\n", osmo_hexdump(lai.lAC.buf, lai.lAC.size)); rc = ranap_parse_lai(&ra_id, &lai); -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17745 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I7ebc99fe919fe7ba515c9d8ba601dceb820bf11f Gerrit-Change-Number: 17745 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 Wed Apr 8 15:38:44 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 8 Apr 2020 15:38:44 +0000 Subject: Change in osmo-iuh[master]: tests/test-helpers: fix endianness: do not print uint32_t as raw bytes In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17746 ) Change subject: tests/test-helpers: fix endianness: do not print uint32_t as raw bytes ...................................................................... tests/test-helpers: fix endianness: do not print uint32_t as raw bytes This unit test would not pass on big-endian machines. Change-Id: I60dbcaa89b031c9a81c35e1dd0d9c963d486014c --- M src/tests/test-helpers.c M src/tests/test-helpers.ok 2 files changed, 2 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/tests/test-helpers.c b/src/tests/test-helpers.c index d7ad758..08236fa 100644 --- a/src/tests/test-helpers.c +++ b/src/tests/test-helpers.c @@ -98,8 +98,7 @@ printf("Decoding back to uint32_t: 0x%x\n", res); ASSERT(res == val1); - printf("Encoding %s to 24-bit asn.1 bitstring\n", - osmo_hexdump_nospc((unsigned char*)&val1, 3)); + printf("Encoding 0x%x to 24-bit asn.1 bitstring\n", val1); asn1_u24_to_bitstring(&enc, &tmpval, val1); ASSERT(enc.size == 24/8); diff --git a/src/tests/test-helpers.ok b/src/tests/test-helpers.ok index ddfea78..f2e466f 100644 --- a/src/tests/test-helpers.ok +++ b/src/tests/test-helpers.ok @@ -6,7 +6,7 @@ Encoding 0xdeadbeef to asn.1 bitstring Encoded: 20deadbeef Decoding back to uint32_t: 0xdeadbeef -Encoding efbead to 24-bit asn.1 bitstring +Encoding 0xdeadbeef to 24-bit asn.1 bitstring Encoded: 18adbeef Decoding string from asn.1: 0123456789012345 Decoding large string from asn1: 0123456789012345678901234567890 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17746 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I60dbcaa89b031c9a81c35e1dd0d9c963d486014c Gerrit-Change-Number: 17746 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 Wed Apr 8 15:38:44 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 8 Apr 2020 15:38:44 +0000 Subject: Change in osmo-iuh[master]: tests/test-ranap: cosmetic: remove unused variable 'rc' In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17747 ) Change subject: tests/test-ranap: cosmetic: remove unused variable 'rc' ...................................................................... tests/test-ranap: cosmetic: remove unused variable 'rc' Change-Id: Ie931d11efd7bb083558852a7f329c984c17fec62 --- M src/tests/test-ranap.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/tests/test-ranap.c b/src/tests/test-ranap.c index 423f992..efa2241 100644 --- a/src/tests/test-ranap.c +++ b/src/tests/test-ranap.c @@ -93,7 +93,7 @@ uint32_t gtp_tei = 0x11223344; uint8_t ik[16] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; uint8_t ck[16] = { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }; - int i, rc; + int i; //asn_debug = 1; -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ie931d11efd7bb083558852a7f329c984c17fec62 Gerrit-Change-Number: 17747 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 Wed Apr 8 15:48:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 8 Apr 2020 15:48:31 +0000 Subject: Change in osmo-iuh[master]: tests/hnb-test-rua: fix implicit declaration of function 'ranap_cn_rx... 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-iuh/+/17748 to look at the new patch set (#2). Change subject: tests/hnb-test-rua: fix implicit declaration of function 'ranap_cn_rx_co' ...................................................................... tests/hnb-test-rua: fix implicit declaration of function 'ranap_cn_rx_co' Change-Id: I7c4be5309e64ef3ed82a66ccdb07de6a9e286490 --- M src/tests/hnb-test-rua.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/48/17748/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17748 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I7c4be5309e64ef3ed82a66ccdb07de6a9e286490 Gerrit-Change-Number: 17748 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 Wed Apr 8 17:51:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 17:51:19 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: cmdline: Drop unused function cmdline_parser_params_create() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17757 ) Change subject: sgsnemu: cmdline: Drop unused function cmdline_parser_params_create() ...................................................................... sgsnemu: cmdline: Drop unused function cmdline_parser_params_create() Change-Id: I7d5d69f104d24aafd4aa0b7289bb8b3fa1d77ed4 --- M sgsnemu/cmdline.c M sgsnemu/cmdline.h 2 files changed, 0 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/57/17757/1 diff --git a/sgsnemu/cmdline.c b/sgsnemu/cmdline.c index 13d0295..604e76b 100644 --- a/sgsnemu/cmdline.c +++ b/sgsnemu/cmdline.c @@ -368,14 +368,6 @@ } } -struct cmdline_parser_params *cmdline_parser_params_create(void) -{ - struct cmdline_parser_params *params = (struct cmdline_parser_params *) - malloc(sizeof(struct cmdline_parser_params)); - cmdline_parser_params_init(params); - return params; -} - static void free_string_field(char **s) { if (*s) { diff --git a/sgsnemu/cmdline.h b/sgsnemu/cmdline.h index c7c8521..4dd4989 100644 --- a/sgsnemu/cmdline.h +++ b/sgsnemu/cmdline.h @@ -480,13 +480,6 @@ void cmdline_parser_params_init(struct cmdline_parser_params *params); /** - * Allocates dynamically a cmdline_parser_params structure and initializes - * all its fields to their default values - * @return the created and initialized cmdline_parser_params structure - */ - struct cmdline_parser_params *cmdline_parser_params_create(void); - -/** * Initializes the passed gengetopt_args_info structure's fields * (also set default values for options that have a default) * @param args_info the structure to initialize -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I7d5d69f104d24aafd4aa0b7289bb8b3fa1d77ed4 Gerrit-Change-Number: 17757 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 Apr 8 17:51:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 17:51:20 +0000 Subject: Change in osmo-ggsn[master]: Refactor arg/cfg parser to use talloc References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17758 ) Change subject: Refactor arg/cfg parser to use talloc ...................................................................... Refactor arg/cfg parser to use talloc Used to get rid of some annoying memory leaks presented by ASan after each run. both ASan and talloc_report_full are fine after these changes, and sgsnemu continues to work as expected. Change-Id: Ie0d48a12a8349be5a859a03191421cbd9cc324cc --- M sgsnemu/cmdline.c M sgsnemu/cmdline.h M sgsnemu/sgsnemu.c 3 files changed, 367 insertions(+), 377 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/58/17758/1 diff --git a/sgsnemu/cmdline.c b/sgsnemu/cmdline.c index 604e76b..1789c63 100644 --- a/sgsnemu/cmdline.c +++ b/sgsnemu/cmdline.c @@ -1,7 +1,7 @@ /* File autogenerated by gengetopt version 2.22.6 generated with the following command: - gengetopt --conf-parser + gengetopt --conf-parser The developers of gengetopt consider the fixed text that goes in all gengetopt output files to be in the public domain: @@ -21,6 +21,8 @@ #define FIX_UNUSED(X) (void) (X) /* avoid warnings for unused params */ #endif +#include + #include #include "cmdline.h" @@ -116,14 +118,12 @@ while (cmd_line_list) { cmd_line_list_tmp = cmd_line_list; cmd_line_list = cmd_line_list->next; - free(cmd_line_list_tmp->string_arg); - free(cmd_line_list_tmp); + talloc_free(cmd_line_list_tmp->string_arg); + talloc_free(cmd_line_list_tmp); } } } -static char *gengetopt_strdup(const char *s); - static void clear_given(struct gengetopt_args_info *args_info) { @@ -183,9 +183,9 @@ args_info->debug_flag = 0; args_info->conf_arg = NULL; args_info->conf_orig = NULL; - args_info->pidfile_arg = gengetopt_strdup("./sgsnemu.pid"); + args_info->pidfile_arg = talloc_strdup(args_info, "./sgsnemu.pid"); args_info->pidfile_orig = NULL; - args_info->statedir_arg = gengetopt_strdup("./"); + args_info->statedir_arg = talloc_strdup(args_info, "./"); args_info->statedir_orig = NULL; args_info->dns_arg = NULL; args_info->dns_orig = NULL; @@ -199,26 +199,26 @@ args_info->timelimit_orig = NULL; args_info->gtpversion_arg = 1; args_info->gtpversion_orig = NULL; - args_info->apn_arg = gengetopt_strdup("internet"); + args_info->apn_arg = talloc_strdup(args_info, "internet"); args_info->apn_orig = NULL; args_info->selmode_arg = 0x01; args_info->selmode_orig = NULL; args_info->rattype_arg = 1; args_info->rattype_orig = NULL; - args_info->userloc_arg = gengetopt_strdup("02509946241207"); + args_info->userloc_arg = talloc_strdup(args_info, "02509946241207"); args_info->userloc_orig = NULL; - args_info->rai_arg = gengetopt_strdup("02509946241207"); + args_info->rai_arg = talloc_strdup(args_info, "02509946241207"); args_info->rai_orig = NULL; - args_info->mstz_arg = gengetopt_strdup("0"); + args_info->mstz_arg = talloc_strdup(args_info, "0"); args_info->mstz_orig = NULL; - args_info->imeisv_arg = gengetopt_strdup("2143658709214365"); + args_info->imeisv_arg = talloc_strdup(args_info, "2143658709214365"); args_info->imeisv_orig = NULL; args_info->norecovery_flag = 0; - args_info->imsi_arg = gengetopt_strdup("240010123456789"); + args_info->imsi_arg = talloc_strdup(args_info, "240010123456789"); args_info->imsi_orig = NULL; args_info->nsapi_arg = 0; args_info->nsapi_orig = NULL; - args_info->msisdn_arg = gengetopt_strdup("46702123456"); + args_info->msisdn_arg = talloc_strdup(args_info, "46702123456"); args_info->msisdn_orig = NULL; args_info->qos_arg = 0x000b921f; args_info->qos_orig = NULL; @@ -232,9 +232,9 @@ args_info->qose4_orig = NULL; args_info->charging_arg = 0x0800; args_info->charging_orig = NULL; - args_info->uid_arg = gengetopt_strdup("mig"); + args_info->uid_arg = talloc_strdup(args_info, "mig"); args_info->uid_orig = NULL; - args_info->pwd_arg = gengetopt_strdup("hemmelig"); + args_info->pwd_arg = talloc_strdup(args_info, "hemmelig"); args_info->pwd_orig = NULL; args_info->createif_flag = 0; args_info->net_arg = NULL; @@ -258,7 +258,7 @@ args_info->pingcount_orig = NULL; args_info->pingquiet_flag = 0; args_info->no_tx_gpdu_seq_flag = 0; - args_info->pdp_type_arg = gengetopt_strdup("v4"); + args_info->pdp_type_arg = talloc_strdup(args_info, "v4"); args_info->pdp_type_orig = NULL; } @@ -371,7 +371,7 @@ static void free_string_field(char **s) { if (*s) { - free(*s); + talloc_free(*s); *s = 0; } } @@ -439,7 +439,7 @@ free_string_field(&(args_info->pdp_type_arg)); free_string_field(&(args_info->pdp_type_orig)); - clear_given(args_info); + talloc_free(args_info); } static void @@ -591,25 +591,6 @@ return i; } -void cmdline_parser_free(struct gengetopt_args_info *args_info) -{ - cmdline_parser_release(args_info); -} - -/** @brief replacement of strdup, which is not standard */ -char *gengetopt_strdup(const char *s) -{ - char *result = 0; - if (!s) - return result; - - result = (char *)malloc(strlen(s) + 1); - if (result == (char *)0) - return (char *)0; - strcpy(result, s); - return result; -} - int cmdline_parser(int argc, char **argv, struct gengetopt_args_info *args_info) { return cmdline_parser2(argc, argv, args_info, 0, 1, 1); @@ -623,7 +604,7 @@ result = cmdline_parser_internal(argc, argv, args_info, params, 0); if (result == EXIT_FAILURE) { - cmdline_parser_free(args_info); + talloc_free(args_info); exit(EXIT_FAILURE); } @@ -646,7 +627,7 @@ result = cmdline_parser_internal(argc, argv, args_info, ¶ms, 0); if (result == EXIT_FAILURE) { - cmdline_parser_free(args_info); + talloc_free(args_info); exit(EXIT_FAILURE); } @@ -663,7 +644,7 @@ result = EXIT_FAILURE; if (result == EXIT_FAILURE) { - cmdline_parser_free(args_info); + talloc_free(args_info); exit(EXIT_FAILURE); } @@ -748,6 +729,7 @@ /** * @brief updates an option + * @param tall_ctx talloc ctx * @param field the generic pointer to the field to update * @param orig_field the pointer to the orig field * @param field_given the pointer to the number of occurrence of this option @@ -765,7 +747,7 @@ * @param additional_error possible further error specification */ static -int update_arg(void *field, char **orig_field, +int update_arg(void *tall_ctx, void *field, char **orig_field, unsigned int *field_given, unsigned int *prev_given, char *value, const char *possible_values[], const char *default_value, @@ -822,8 +804,8 @@ if (val) { string_field = (char **)field; if (!no_free && *string_field) - free(*string_field); /* free previous string */ - *string_field = gengetopt_strdup(val); + talloc_free(*string_field); /* free previous string */ + *string_field = talloc_strdup(tall_ctx, val); } break; default: @@ -854,8 +836,8 @@ *orig_field = value; } else { if (*orig_field) - free(*orig_field); /* free previous string */ - *orig_field = gengetopt_strdup(value); + talloc_free(*orig_field); /* free previous string */ + *orig_field = talloc_strdup(tall_ctx, value); } } }; @@ -896,7 +878,7 @@ int c; /* Character of the parsed option. */ int error_occurred = 0; - struct gengetopt_args_info local_args_info; + struct gengetopt_args_info *local_args_info = talloc(NULL, struct gengetopt_args_info); int override; int initialize; @@ -913,7 +895,7 @@ if (initialize) cmdline_parser_init(args_info); - cmdline_parser_init(&local_args_info); + cmdline_parser_init(local_args_info); optarg = 0; optind = 0; @@ -981,20 +963,20 @@ switch (c) { case 'h': /* Print help and exit. */ cmdline_parser_print_help(); - cmdline_parser_free(&local_args_info); + talloc_free(local_args_info); exit(EXIT_SUCCESS); case 'V': /* Print version and exit. */ cmdline_parser_print_version(); - cmdline_parser_free(&local_args_info); + talloc_free(local_args_info); exit(EXIT_SUCCESS); case 'd': /* Run in debug mode. */ if (update_arg - ((void *)&(args_info->debug_flag), 0, + (args_info, (void *)&(args_info->debug_flag), 0, &(args_info->debug_given), - &(local_args_info.debug_given), optarg, 0, 0, + &(local_args_info->debug_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "debug", 'd', additional_error)) goto failure; @@ -1002,10 +984,10 @@ break; case 'c': /* Read configuration file. */ - if (update_arg((void *)&(args_info->conf_arg), + if (update_arg(args_info, (void *)&(args_info->conf_arg), &(args_info->conf_orig), &(args_info->conf_given), - &(local_args_info.conf_given), optarg, 0, + &(local_args_info->conf_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "conf", 'c', additional_error)) goto failure; @@ -1013,10 +995,10 @@ break; case 'l': /* Local host. */ - if (update_arg((void *)&(args_info->listen_arg), + if (update_arg(args_info, (void *)&(args_info->listen_arg), &(args_info->listen_orig), &(args_info->listen_given), - &(local_args_info.listen_given), optarg, + &(local_args_info->listen_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "listen", 'l', additional_error)) @@ -1025,10 +1007,10 @@ break; case 'r': /* Remote host. */ - if (update_arg((void *)&(args_info->remote_arg), + if (update_arg(args_info, (void *)&(args_info->remote_arg), &(args_info->remote_orig), &(args_info->remote_given), - &(local_args_info.remote_given), optarg, + &(local_args_info->remote_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "remote", 'r', additional_error)) @@ -1037,10 +1019,10 @@ break; case 'a': /* Access point name. */ - if (update_arg((void *)&(args_info->apn_arg), + if (update_arg(args_info, (void *)&(args_info->apn_arg), &(args_info->apn_orig), &(args_info->apn_given), - &(local_args_info.apn_given), optarg, 0, + &(local_args_info->apn_given), optarg, 0, "internet", ARG_STRING, check_ambiguity, override, 0, 0, "apn", 'a', additional_error)) @@ -1049,10 +1031,10 @@ break; case 'i': /* IMSI. */ - if (update_arg((void *)&(args_info->imsi_arg), + if (update_arg(args_info, (void *)&(args_info->imsi_arg), &(args_info->imsi_orig), &(args_info->imsi_given), - &(local_args_info.imsi_given), optarg, 0, + &(local_args_info->imsi_given), optarg, 0, "240010123456789", ARG_STRING, check_ambiguity, override, 0, 0, "imsi", 'i', additional_error)) @@ -1061,10 +1043,10 @@ break; case 'm': /* Mobile Station ISDN number. */ - if (update_arg((void *)&(args_info->msisdn_arg), + if (update_arg(args_info, (void *)&(args_info->msisdn_arg), &(args_info->msisdn_orig), &(args_info->msisdn_given), - &(local_args_info.msisdn_given), optarg, + &(local_args_info->msisdn_given), optarg, 0, "46702123456", ARG_STRING, check_ambiguity, override, 0, 0, "msisdn", 'm', additional_error)) @@ -1073,10 +1055,10 @@ break; case 'q': /* Requested quality of service. */ - if (update_arg((void *)&(args_info->qos_arg), + if (update_arg(args_info, (void *)&(args_info->qos_arg), &(args_info->qos_orig), &(args_info->qos_given), - &(local_args_info.qos_given), optarg, 0, + &(local_args_info->qos_given), optarg, 0, "0x000b921f", ARG_INT, check_ambiguity, override, 0, 0, "qos", 'q', additional_error)) @@ -1085,10 +1067,10 @@ break; case 'u': /* Login user ID. */ - if (update_arg((void *)&(args_info->uid_arg), + if (update_arg(args_info, (void *)&(args_info->uid_arg), &(args_info->uid_orig), &(args_info->uid_given), - &(local_args_info.uid_given), optarg, 0, + &(local_args_info->uid_given), optarg, 0, "mig", ARG_STRING, check_ambiguity, override, 0, 0, "uid", 'u', additional_error)) @@ -1097,10 +1079,10 @@ break; case 'p': /* Login password. */ - if (update_arg((void *)&(args_info->pwd_arg), + if (update_arg(args_info, (void *)&(args_info->pwd_arg), &(args_info->pwd_orig), &(args_info->pwd_given), - &(local_args_info.pwd_given), optarg, 0, + &(local_args_info->pwd_given), optarg, 0, "hemmelig", ARG_STRING, check_ambiguity, override, 0, 0, "pwd", 'p', additional_error)) @@ -1110,10 +1092,10 @@ case 'n': /* Network address for local interface. */ args_info->createif_mode_counter += 1; - if (update_arg((void *)&(args_info->net_arg), + if (update_arg(args_info, (void *)&(args_info->net_arg), &(args_info->net_orig), &(args_info->net_given), - &(local_args_info.net_given), optarg, 0, + &(local_args_info->net_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "net", 'n', additional_error)) goto failure; @@ -1121,10 +1103,10 @@ break; case 't': /* PDP Type. */ - if (update_arg((void *)&(args_info->pdp_type_arg), + if (update_arg(args_info, (void *)&(args_info->pdp_type_arg), &(args_info->pdp_type_orig), &(args_info->pdp_type_given), - &(local_args_info.pdp_type_given), + &(local_args_info->pdp_type_given), optarg, 0, "v4", ARG_STRING, check_ambiguity, override, 0, 0, "pdp-type", 't', additional_error)) @@ -1138,10 +1120,10 @@ == 0) { if (update_arg - ((void *)&(args_info->pidfile_arg), + (args_info, (void *)&(args_info->pidfile_arg), &(args_info->pidfile_orig), &(args_info->pidfile_given), - &(local_args_info.pidfile_given), optarg, + &(local_args_info->pidfile_given), optarg, 0, "./sgsnemu.pid", ARG_STRING, check_ambiguity, override, 0, 0, "pidfile", '-', additional_error)) @@ -1154,10 +1136,10 @@ "statedir") == 0) { if (update_arg - ((void *)&(args_info->statedir_arg), + (args_info, (void *)&(args_info->statedir_arg), &(args_info->statedir_orig), &(args_info->statedir_given), - &(local_args_info.statedir_given), optarg, + &(local_args_info->statedir_given), optarg, 0, "./", ARG_STRING, check_ambiguity, override, 0, 0, "statedir", '-', additional_error)) @@ -1168,10 +1150,10 @@ else if (strcmp(long_options[option_index].name, "dns") == 0) { - if (update_arg((void *)&(args_info->dns_arg), + if (update_arg(args_info, (void *)&(args_info->dns_arg), &(args_info->dns_orig), &(args_info->dns_given), - &(local_args_info.dns_given), + &(local_args_info->dns_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "dns", '-', additional_error)) @@ -1184,10 +1166,10 @@ "contexts") == 0) { if (update_arg - ((void *)&(args_info->contexts_arg), + (args_info, (void *)&(args_info->contexts_arg), &(args_info->contexts_orig), &(args_info->contexts_given), - &(local_args_info.contexts_given), optarg, + &(local_args_info->contexts_given), optarg, 0, "1", ARG_INT, check_ambiguity, override, 0, 0, "contexts", '-', additional_error)) goto failure; @@ -1199,10 +1181,10 @@ "timelimit") == 0) { if (update_arg - ((void *)&(args_info->timelimit_arg), + (args_info, (void *)&(args_info->timelimit_arg), &(args_info->timelimit_orig), &(args_info->timelimit_given), - &(local_args_info.timelimit_given), optarg, + &(local_args_info->timelimit_given), optarg, 0, "0", ARG_INT, check_ambiguity, override, 0, 0, "timelimit", '-', additional_error)) goto failure; @@ -1214,10 +1196,10 @@ "gtpversion") == 0) { if (update_arg - ((void *)&(args_info->gtpversion_arg), + (args_info, (void *)&(args_info->gtpversion_arg), &(args_info->gtpversion_orig), &(args_info->gtpversion_given), - &(local_args_info.gtpversion_given), + &(local_args_info->gtpversion_given), optarg, 0, "1", ARG_INT, check_ambiguity, override, 0, 0, "gtpversion", '-', additional_error)) @@ -1230,10 +1212,10 @@ "selmode") == 0) { if (update_arg - ((void *)&(args_info->selmode_arg), + (args_info, (void *)&(args_info->selmode_arg), &(args_info->selmode_orig), &(args_info->selmode_given), - &(local_args_info.selmode_given), optarg, + &(local_args_info->selmode_given), optarg, 0, "0x01", ARG_INT, check_ambiguity, override, 0, 0, "selmode", '-', additional_error)) @@ -1246,10 +1228,10 @@ "rattype") == 0) { if (update_arg - ((void *)&(args_info->rattype_arg), + (args_info, (void *)&(args_info->rattype_arg), &(args_info->rattype_orig), &(args_info->rattype_given), - &(local_args_info.rattype_given), optarg, + &(local_args_info->rattype_given), optarg, 0, "1", ARG_INT, check_ambiguity, override, 0, 0, "rattype", '-', additional_error)) goto failure; @@ -1261,10 +1243,10 @@ "userloc") == 0) { if (update_arg - ((void *)&(args_info->userloc_arg), + (args_info, (void *)&(args_info->userloc_arg), &(args_info->userloc_orig), &(args_info->userloc_given), - &(local_args_info.userloc_given), optarg, + &(local_args_info->userloc_given), optarg, 0, "02509946241207", ARG_STRING, check_ambiguity, override, 0, 0, "userloc", '-', additional_error)) @@ -1275,10 +1257,10 @@ else if (strcmp(long_options[option_index].name, "rai") == 0) { - if (update_arg((void *)&(args_info->rai_arg), + if (update_arg(args_info, (void *)&(args_info->rai_arg), &(args_info->rai_orig), &(args_info->rai_given), - &(local_args_info.rai_given), + &(local_args_info->rai_given), optarg, 0, "02509946241207", ARG_STRING, check_ambiguity, override, 0, 0, "rai", '-', @@ -1290,10 +1272,10 @@ else if (strcmp(long_options[option_index].name, "mstz") == 0) { - if (update_arg((void *)&(args_info->mstz_arg), + if (update_arg(args_info, (void *)&(args_info->mstz_arg), &(args_info->mstz_orig), &(args_info->mstz_given), - &(local_args_info.mstz_given), + &(local_args_info->mstz_given), optarg, 0, "0", ARG_STRING, check_ambiguity, override, 0, 0, "mstz", '-', additional_error)) @@ -1305,10 +1287,10 @@ (long_options[option_index].name, "imeisv") == 0) { - if (update_arg((void *)&(args_info->imeisv_arg), + if (update_arg(args_info, (void *)&(args_info->imeisv_arg), &(args_info->imeisv_orig), &(args_info->imeisv_given), - &(local_args_info.imeisv_given), + &(local_args_info->imeisv_given), optarg, 0, "2143658709214365", ARG_STRING, check_ambiguity, override, 0, 0, "imeisv", '-', @@ -1322,9 +1304,9 @@ "norecovery") == 0) { if (update_arg - ((void *)&(args_info->norecovery_flag), 0, + (args_info, (void *)&(args_info->norecovery_flag), 0, &(args_info->norecovery_given), - &(local_args_info.norecovery_given), + &(local_args_info->norecovery_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "norecovery", '-', additional_error)) @@ -1336,10 +1318,10 @@ (long_options[option_index].name, "nsapi") == 0) { - if (update_arg((void *)&(args_info->nsapi_arg), + if (update_arg(args_info, (void *)&(args_info->nsapi_arg), &(args_info->nsapi_orig), &(args_info->nsapi_given), - &(local_args_info.nsapi_given), + &(local_args_info->nsapi_given), optarg, 0, "0", ARG_INT, check_ambiguity, override, 0, 0, "nsapi", '-', additional_error)) @@ -1351,10 +1333,10 @@ (long_options[option_index].name, "qose1") == 0) { - if (update_arg((void *)&(args_info->qose1_arg), + if (update_arg(args_info, (void *)&(args_info->qose1_arg), &(args_info->qose1_orig), &(args_info->qose1_given), - &(local_args_info.qose1_given), + &(local_args_info->qose1_given), optarg, 0, "0x9396404074f9ffff", ARG_INT, check_ambiguity, override, 0, 0, "qose1", '-', @@ -1367,10 +1349,10 @@ (long_options[option_index].name, "qose2") == 0) { - if (update_arg((void *)&(args_info->qose2_arg), + if (update_arg(args_info, (void *)&(args_info->qose2_arg), &(args_info->qose2_orig), &(args_info->qose2_given), - &(local_args_info.qose2_given), + &(local_args_info->qose2_given), optarg, 0, "0x11", ARG_INT, check_ambiguity, override, 0, 0, "qose2", '-', additional_error)) @@ -1382,10 +1364,10 @@ (long_options[option_index].name, "qose3") == 0) { - if (update_arg((void *)&(args_info->qose3_arg), + if (update_arg(args_info, (void *)&(args_info->qose3_arg), &(args_info->qose3_orig), &(args_info->qose3_given), - &(local_args_info.qose3_given), + &(local_args_info->qose3_given), optarg, 0, "0x0101", ARG_INT, check_ambiguity, override, 0, 0, "qose3", '-', additional_error)) @@ -1397,10 +1379,10 @@ (long_options[option_index].name, "qose4") == 0) { - if (update_arg((void *)&(args_info->qose4_arg), + if (update_arg(args_info, (void *)&(args_info->qose4_arg), &(args_info->qose4_orig), &(args_info->qose4_given), - &(local_args_info.qose4_given), + &(local_args_info->qose4_given), optarg, 0, "0x4040", ARG_INT, check_ambiguity, override, 0, 0, "qose4", '-', additional_error)) @@ -1413,10 +1395,10 @@ "charging") == 0) { if (update_arg - ((void *)&(args_info->charging_arg), + (args_info, (void *)&(args_info->charging_arg), &(args_info->charging_orig), &(args_info->charging_given), - &(local_args_info.charging_given), optarg, + &(local_args_info->charging_given), optarg, 0, "0x0800", ARG_INT, check_ambiguity, override, 0, 0, "charging", '-', additional_error)) @@ -1430,9 +1412,9 @@ args_info->createif_mode_counter += 1; if (update_arg - ((void *)&(args_info->createif_flag), 0, + (args_info, (void *)&(args_info->createif_flag), 0, &(args_info->createif_given), - &(local_args_info.createif_given), optarg, + &(local_args_info->createif_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "createif", '-', additional_error)) goto failure; @@ -1445,9 +1427,9 @@ args_info->createif_mode_counter += 1; if (update_arg - ((void *)&(args_info->defaultroute_flag), 0, + (args_info, (void *)&(args_info->defaultroute_flag), 0, &(args_info->defaultroute_given), - &(local_args_info.defaultroute_given), + &(local_args_info->defaultroute_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "defaultroute", '-', additional_error)) @@ -1459,10 +1441,10 @@ == 0) { args_info->createif_mode_counter += 1; - if (update_arg((void *)&(args_info->ipup_arg), + if (update_arg(args_info, (void *)&(args_info->ipup_arg), &(args_info->ipup_orig), &(args_info->ipup_given), - &(local_args_info.ipup_given), + &(local_args_info->ipup_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "ipup", '-', additional_error)) @@ -1475,10 +1457,10 @@ "ipdown") == 0) { args_info->createif_mode_counter += 1; - if (update_arg((void *)&(args_info->ipdown_arg), + if (update_arg(args_info, (void *)&(args_info->ipdown_arg), &(args_info->ipdown_orig), &(args_info->ipdown_given), - &(local_args_info.ipdown_given), + &(local_args_info->ipdown_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "ipdown", '-', additional_error)) @@ -1492,10 +1474,10 @@ args_info->createif_mode_counter += 1; if (update_arg - ((void *)&(args_info->tun_device_arg), + (args_info, (void *)&(args_info->tun_device_arg), &(args_info->tun_device_orig), &(args_info->tun_device_given), - &(local_args_info.tun_device_given), + &(local_args_info->tun_device_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "tun-device", '-', additional_error)) @@ -1508,10 +1490,10 @@ "netns") == 0) { args_info->createif_mode_counter += 1; - if (update_arg((void *)&(args_info->netns_arg), + if (update_arg(args_info, (void *)&(args_info->netns_arg), &(args_info->netns_orig), &(args_info->netns_given), - &(local_args_info.netns_given), + &(local_args_info->netns_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "netns", '-', additional_error)) @@ -1525,10 +1507,10 @@ args_info->pinghost_mode_counter += 1; if (update_arg - ((void *)&(args_info->pinghost_arg), + (args_info, (void *)&(args_info->pinghost_arg), &(args_info->pinghost_orig), &(args_info->pinghost_given), - &(local_args_info.pinghost_given), optarg, + &(local_args_info->pinghost_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "pinghost", '-', additional_error)) @@ -1542,10 +1524,10 @@ args_info->pinghost_mode_counter += 1; if (update_arg - ((void *)&(args_info->pingrate_arg), + (args_info, (void *)&(args_info->pingrate_arg), &(args_info->pingrate_orig), &(args_info->pingrate_given), - &(local_args_info.pingrate_given), optarg, + &(local_args_info->pingrate_given), optarg, 0, "1", ARG_INT, check_ambiguity, override, 0, 0, "pingrate", '-', additional_error)) goto failure; @@ -1558,10 +1540,10 @@ args_info->pinghost_mode_counter += 1; if (update_arg - ((void *)&(args_info->pingsize_arg), + (args_info, (void *)&(args_info->pingsize_arg), &(args_info->pingsize_orig), &(args_info->pingsize_given), - &(local_args_info.pingsize_given), optarg, + &(local_args_info->pingsize_given), optarg, 0, "56", ARG_INT, check_ambiguity, override, 0, 0, "pingsize", '-', additional_error)) @@ -1575,10 +1557,10 @@ args_info->pinghost_mode_counter += 1; if (update_arg - ((void *)&(args_info->pingcount_arg), + (args_info, (void *)&(args_info->pingcount_arg), &(args_info->pingcount_orig), &(args_info->pingcount_given), - &(local_args_info.pingcount_given), optarg, + &(local_args_info->pingcount_given), optarg, 0, "0", ARG_INT, check_ambiguity, override, 0, 0, "pingcount", '-', additional_error)) goto failure; @@ -1591,9 +1573,9 @@ args_info->pinghost_mode_counter += 1; if (update_arg - ((void *)&(args_info->pingquiet_flag), 0, + (args_info, (void *)&(args_info->pingquiet_flag), 0, &(args_info->pingquiet_given), - &(local_args_info.pingquiet_given), optarg, + &(local_args_info->pingquiet_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "pingquiet", '-', additional_error)) goto failure; @@ -1605,9 +1587,9 @@ "no-tx-gpdu-seq") == 0) { if (update_arg - ((void *)&(args_info->no_tx_gpdu_seq_flag), + (args_info, (void *)&(args_info->no_tx_gpdu_seq_flag), 0, &(args_info->no_tx_gpdu_seq_given), - &(local_args_info.no_tx_gpdu_seq_given), + &(local_args_info->no_tx_gpdu_seq_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "no-tx-gpdu-seq", '-', additional_error)) @@ -1660,7 +1642,7 @@ additional_error); } - cmdline_parser_release(&local_args_info); + cmdline_parser_release(local_args_info); if (error_occurred) return (EXIT_FAILURE); @@ -1669,7 +1651,7 @@ failure: - cmdline_parser_release(&local_args_info); + cmdline_parser_release(local_args_info); return (EXIT_FAILURE); } @@ -1803,10 +1785,10 @@ ++(*my_argc); cmd_line_list_tmp = - (struct line_list *)malloc(sizeof(struct line_list)); + (struct line_list *)talloc(NULL, struct line_list); cmd_line_list_tmp->next = cmd_line_list; cmd_line_list = cmd_line_list_tmp; - cmd_line_list->string_arg = gengetopt_strdup(my_argv); + cmd_line_list->string_arg = talloc_strdup(cmd_line_list_tmp, my_argv); } /* while */ if (file) @@ -1842,16 +1824,16 @@ /* store the program name */ cmd_line_list_tmp = - (struct line_list *)malloc(sizeof(struct line_list)); + (struct line_list *)talloc(NULL, struct line_list); cmd_line_list_tmp->next = cmd_line_list; cmd_line_list = cmd_line_list_tmp; - cmd_line_list->string_arg = gengetopt_strdup(CMDLINE_PARSER_PACKAGE); + cmd_line_list->string_arg = talloc_strdup(cmd_line_list, CMDLINE_PARSER_PACKAGE); result = _cmdline_parser_configfile(filename, &my_argc); if (result != EXIT_FAILURE) { - my_argv_arg = (char **)malloc((my_argc + 1) * sizeof(char *)); cmd_line_list_tmp = cmd_line_list; + my_argv_arg = (char **)talloc_size(cmd_line_list_tmp, (my_argc + 1) * sizeof(char *)); for (i = my_argc - 1; i >= 0; --i) { my_argv_arg[i] = cmd_line_list_tmp->string_arg; @@ -1861,7 +1843,7 @@ my_argv_arg[my_argc] = 0; additional_error = - (char *)malloc(strlen(filename) + strlen(ADDITIONAL_ERROR) + + (char *)talloc_size(cmd_line_list_tmp, strlen(filename) + strlen(ADDITIONAL_ERROR) + 1); strcpy(additional_error, ADDITIONAL_ERROR); strcat(additional_error, filename); @@ -1869,13 +1851,13 @@ cmdline_parser_internal(my_argc, my_argv_arg, args_info, params, additional_error); - free(additional_error); - free(my_argv_arg); + talloc_free(additional_error); + talloc_free(my_argv_arg); } free_cmd_list(); if (result == EXIT_FAILURE) { - cmdline_parser_free(args_info); + talloc_free(args_info); exit(EXIT_FAILURE); } diff --git a/sgsnemu/cmdline.h b/sgsnemu/cmdline.h index 4dd4989..ad203fb 100644 --- a/sgsnemu/cmdline.h +++ b/sgsnemu/cmdline.h @@ -473,7 +473,7 @@ void cmdline_parser_print_version(void); /** - * Initializes all the fields a cmdline_parser_params structure + * Initializes all the fields a cmdline_parser_params structure * to their default values * @param params the structure to initialize */ diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index fce5059..01bdf9b 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -239,7 +239,7 @@ static int process_options(int argc, char **argv) { /* gengeopt declarations */ - struct gengetopt_args_info args_info; + struct gengetopt_args_info *args_info = talloc(tall_sgsnemu_ctx, struct gengetopt_args_info); struct hostent *host; unsigned int n; @@ -262,120 +262,120 @@ int nbquarters; int DST; - if (cmdline_parser(argc, argv, &args_info) != 0) + if (cmdline_parser(argc, argv, args_info) != 0) return -1; - if (args_info.debug_flag) { - if (args_info.remote_arg) - printf("remote: %s\n", args_info.remote_arg); - if (args_info.listen_arg) - printf("listen: %s\n", args_info.listen_arg); - if (args_info.conf_arg) - printf("conf: %s\n", args_info.conf_arg); - printf("debug: %d\n", args_info.debug_flag); - if (args_info.imsi_arg) - printf("imsi: %s\n", args_info.imsi_arg); - printf("qos: %#08x\n", args_info.qos_arg); - printf("qose1: %#0.16llx\n", args_info.qose1_arg); - printf("qose2: %#04x\n", args_info.qose2_arg); - printf("qose3: %#06x\n", args_info.qose3_arg); - printf("qose4: %#06x\n", args_info.qose4_arg); - printf("charging: %#04x\n", args_info.charging_arg); - if (args_info.apn_arg) - printf("apn: %s\n", args_info.apn_arg); - if (args_info.msisdn_arg) - printf("msisdn: %s\n", args_info.msisdn_arg); - if (args_info.uid_arg) - printf("uid: %s\n", args_info.uid_arg); - if (args_info.pwd_arg) - printf("pwd: %s\n", args_info.pwd_arg); - if (args_info.pidfile_arg) - printf("pidfile: %s\n", args_info.pidfile_arg); - if (args_info.statedir_arg) - printf("statedir: %s\n", args_info.statedir_arg); - if (args_info.dns_arg) - printf("dns: %s\n", args_info.dns_arg); - printf("contexts: %d\n", args_info.contexts_arg); - printf("timelimit: %d\n", args_info.timelimit_arg); - printf("createif: %d\n", args_info.createif_flag); - if (args_info.tun_device_arg) - printf("tun-device: %s\n", args_info.tun_device_arg); - if (args_info.netns_arg) - printf("netns: %s\n", args_info.netns_arg); - if (args_info.ipup_arg) - printf("ipup: %s\n", args_info.ipup_arg); - if (args_info.ipdown_arg) - printf("ipdown: %s\n", args_info.ipdown_arg); - printf("defaultroute: %d\n", args_info.defaultroute_flag); - if (args_info.pinghost_arg) - printf("pinghost: %s\n", args_info.pinghost_arg); - printf("pingrate: %d\n", args_info.pingrate_arg); - printf("pingsize: %d\n", args_info.pingsize_arg); - printf("pingcount: %d\n", args_info.pingcount_arg); - printf("pingquiet: %d\n", args_info.pingquiet_flag); - printf("norecovery: %d\n", args_info.norecovery_flag); - printf("no-tx-gpdu-seq: %d\n", args_info.no_tx_gpdu_seq_flag); + if (args_info->debug_flag) { + if (args_info->remote_arg) + printf("remote: %s\n", args_info->remote_arg); + if (args_info->listen_arg) + printf("listen: %s\n", args_info->listen_arg); + if (args_info->conf_arg) + printf("conf: %s\n", args_info->conf_arg); + printf("debug: %d\n", args_info->debug_flag); + if (args_info->imsi_arg) + printf("imsi: %s\n", args_info->imsi_arg); + printf("qos: %#08x\n", args_info->qos_arg); + printf("qose1: %#0.16llx\n", args_info->qose1_arg); + printf("qose2: %#04x\n", args_info->qose2_arg); + printf("qose3: %#06x\n", args_info->qose3_arg); + printf("qose4: %#06x\n", args_info->qose4_arg); + printf("charging: %#04x\n", args_info->charging_arg); + if (args_info->apn_arg) + printf("apn: %s\n", args_info->apn_arg); + if (args_info->msisdn_arg) + printf("msisdn: %s\n", args_info->msisdn_arg); + if (args_info->uid_arg) + printf("uid: %s\n", args_info->uid_arg); + if (args_info->pwd_arg) + printf("pwd: %s\n", args_info->pwd_arg); + if (args_info->pidfile_arg) + printf("pidfile: %s\n", args_info->pidfile_arg); + if (args_info->statedir_arg) + printf("statedir: %s\n", args_info->statedir_arg); + if (args_info->dns_arg) + printf("dns: %s\n", args_info->dns_arg); + printf("contexts: %d\n", args_info->contexts_arg); + printf("timelimit: %d\n", args_info->timelimit_arg); + printf("createif: %d\n", args_info->createif_flag); + if (args_info->tun_device_arg) + printf("tun-device: %s\n", args_info->tun_device_arg); + if (args_info->netns_arg) + printf("netns: %s\n", args_info->netns_arg); + if (args_info->ipup_arg) + printf("ipup: %s\n", args_info->ipup_arg); + if (args_info->ipdown_arg) + printf("ipdown: %s\n", args_info->ipdown_arg); + printf("defaultroute: %d\n", args_info->defaultroute_flag); + if (args_info->pinghost_arg) + printf("pinghost: %s\n", args_info->pinghost_arg); + printf("pingrate: %d\n", args_info->pingrate_arg); + printf("pingsize: %d\n", args_info->pingsize_arg); + printf("pingcount: %d\n", args_info->pingcount_arg); + printf("pingquiet: %d\n", args_info->pingquiet_flag); + printf("norecovery: %d\n", args_info->norecovery_flag); + printf("no-tx-gpdu-seq: %d\n", args_info->no_tx_gpdu_seq_flag); } /* Try out our new parser */ - if (args_info.conf_arg) { + if (args_info->conf_arg) { if (cmdline_parser_configfile - (args_info.conf_arg, &args_info, 0, 0, 0) != 0) + (args_info->conf_arg, args_info, 0, 0, 0) != 0) return -1; - if (args_info.debug_flag) { + if (args_info->debug_flag) { printf("cmdline_parser_configfile\n"); - if (args_info.remote_arg) - printf("remote: %s\n", args_info.remote_arg); - if (args_info.listen_arg) - printf("listen: %s\n", args_info.listen_arg); - if (args_info.conf_arg) - printf("conf: %s\n", args_info.conf_arg); - printf("debug: %d\n", args_info.debug_flag); - if (args_info.imsi_arg) - printf("imsi: %s\n", args_info.imsi_arg); - printf("qos: %#08x\n", args_info.qos_arg); - printf("qose1: %#0.16llx\n", args_info.qose1_arg); - printf("qose2: %#04x\n", args_info.qose2_arg); - printf("qose3: %#06x\n", args_info.qose3_arg); - printf("qose4: %#06x\n", args_info.qose4_arg); - printf("charging: %#04x\n", args_info.charging_arg); - if (args_info.apn_arg) - printf("apn: %s\n", args_info.apn_arg); - if (args_info.msisdn_arg) - printf("msisdn: %s\n", args_info.msisdn_arg); - if (args_info.uid_arg) - printf("uid: %s\n", args_info.uid_arg); - if (args_info.pwd_arg) - printf("pwd: %s\n", args_info.pwd_arg); - if (args_info.pidfile_arg) - printf("pidfile: %s\n", args_info.pidfile_arg); - if (args_info.statedir_arg) + if (args_info->remote_arg) + printf("remote: %s\n", args_info->remote_arg); + if (args_info->listen_arg) + printf("listen: %s\n", args_info->listen_arg); + if (args_info->conf_arg) + printf("conf: %s\n", args_info->conf_arg); + printf("debug: %d\n", args_info->debug_flag); + if (args_info->imsi_arg) + printf("imsi: %s\n", args_info->imsi_arg); + printf("qos: %#08x\n", args_info->qos_arg); + printf("qose1: %#0.16llx\n", args_info->qose1_arg); + printf("qose2: %#04x\n", args_info->qose2_arg); + printf("qose3: %#06x\n", args_info->qose3_arg); + printf("qose4: %#06x\n", args_info->qose4_arg); + printf("charging: %#04x\n", args_info->charging_arg); + if (args_info->apn_arg) + printf("apn: %s\n", args_info->apn_arg); + if (args_info->msisdn_arg) + printf("msisdn: %s\n", args_info->msisdn_arg); + if (args_info->uid_arg) + printf("uid: %s\n", args_info->uid_arg); + if (args_info->pwd_arg) + printf("pwd: %s\n", args_info->pwd_arg); + if (args_info->pidfile_arg) + printf("pidfile: %s\n", args_info->pidfile_arg); + if (args_info->statedir_arg) printf("statedir: %s\n", - args_info.statedir_arg); - if (args_info.dns_arg) - printf("dns: %s\n", args_info.dns_arg); - printf("contexts: %d\n", args_info.contexts_arg); - printf("timelimit: %d\n", args_info.timelimit_arg); - printf("createif: %d\n", args_info.createif_flag); - if (args_info.tun_device_arg) - printf("tun-device: %s\n", args_info.tun_device_arg); - if (args_info.netns_arg) - printf("netns: %s\n", args_info.netns_arg); - if (args_info.ipup_arg) - printf("ipup: %s\n", args_info.ipup_arg); - if (args_info.ipdown_arg) - printf("ipdown: %s\n", args_info.ipdown_arg); + args_info->statedir_arg); + if (args_info->dns_arg) + printf("dns: %s\n", args_info->dns_arg); + printf("contexts: %d\n", args_info->contexts_arg); + printf("timelimit: %d\n", args_info->timelimit_arg); + printf("createif: %d\n", args_info->createif_flag); + if (args_info->tun_device_arg) + printf("tun-device: %s\n", args_info->tun_device_arg); + if (args_info->netns_arg) + printf("netns: %s\n", args_info->netns_arg); + if (args_info->ipup_arg) + printf("ipup: %s\n", args_info->ipup_arg); + if (args_info->ipdown_arg) + printf("ipdown: %s\n", args_info->ipdown_arg); printf("defaultroute: %d\n", - args_info.defaultroute_flag); - if (args_info.pinghost_arg) + args_info->defaultroute_flag); + if (args_info->pinghost_arg) printf("pinghost: %s\n", - args_info.pinghost_arg); - printf("pingrate: %d\n", args_info.pingrate_arg); - printf("pingsize: %d\n", args_info.pingsize_arg); - printf("pingcount: %d\n", args_info.pingcount_arg); - printf("pingquiet: %d\n", args_info.pingquiet_flag); - printf("norecovery: %d\n", args_info.norecovery_flag); - printf("no-tx-gpdu-seq: %d\n", args_info.no_tx_gpdu_seq_flag); + args_info->pinghost_arg); + printf("pingrate: %d\n", args_info->pingrate_arg); + printf("pingsize: %d\n", args_info->pingsize_arg); + printf("pingcount: %d\n", args_info->pingcount_arg); + printf("pingquiet: %d\n", args_info->pingquiet_flag); + printf("norecovery: %d\n", args_info->norecovery_flag); + printf("no-tx-gpdu-seq: %d\n", args_info->no_tx_gpdu_seq_flag); } } @@ -384,7 +384,7 @@ /* foreground */ /* If fg flag not given run as a daemon */ /* Do not allow sgsnemu to run as deamon - if (!args_info.fg_flag) + if (!args_info->fg_flag) { closelog(); freopen("/dev/null", "w", stdout); @@ -395,22 +395,22 @@ } */ /* debug */ - options.debug = args_info.debug_flag; + options.debug = args_info->debug_flag; /* pidfile */ /* This has to be done after we have our final pid */ - if (args_info.pidfile_arg) { - log_pid(args_info.pidfile_arg); + if (args_info->pidfile_arg) { + log_pid(args_info->pidfile_arg); } /* dns */ /* If no dns option is given use system default */ /* Do hostname lookup to translate hostname to IP address */ printf("\n"); - if (args_info.dns_arg) { - if (!(host = gethostbyname(args_info.dns_arg))) { + if (args_info->dns_arg) { + if (!(host = gethostbyname(args_info->dns_arg))) { SYS_ERR(DSGSN, LOGL_ERROR, 0, - "Invalid DNS address: %s!", args_info.dns_arg); + "Invalid DNS address: %s!", args_info->dns_arg); return -1; } else { memcpy(&options.dns.s_addr, host->h_addr, @@ -418,7 +418,7 @@ _res.nscount = 1; _res.nsaddr_list[0].sin_addr = options.dns; printf("Using DNS server: %s (%s)\n", - args_info.dns_arg, inet_ntoa(options.dns)); + args_info->dns_arg, inet_ntoa(options.dns)); } } else { options.dns.s_addr = 0; @@ -428,17 +428,17 @@ /* listen */ /* If no listen option is specified listen to any local port */ /* Do hostname lookup to translate hostname to IP address */ - if (args_info.listen_arg) { - if (!(host = gethostbyname(args_info.listen_arg))) { + if (args_info->listen_arg) { + if (!(host = gethostbyname(args_info->listen_arg))) { SYS_ERR(DSGSN, LOGL_ERROR, 0, "Invalid listening address: %s!", - args_info.listen_arg); + args_info->listen_arg); return -1; } else { memcpy(&options.listen.s_addr, host->h_addr, host->h_length); printf("Local IP address is: %s (%s)\n", - args_info.listen_arg, inet_ntoa(options.listen)); + args_info->listen_arg, inet_ntoa(options.listen)); } } else { SYS_ERR(DSGSN, LOGL_ERROR, 0, @@ -449,17 +449,17 @@ /* remote */ /* If no remote option is specified terminate */ /* Do hostname lookup to translate hostname to IP address */ - if (args_info.remote_arg) { - if (!(host = gethostbyname(args_info.remote_arg))) { + if (args_info->remote_arg) { + if (!(host = gethostbyname(args_info->remote_arg))) { SYS_ERR(DSGSN, LOGL_ERROR, 0, "Invalid remote address: %s!", - args_info.remote_arg); + args_info->remote_arg); return -1; } else { memcpy(&options.remote.s_addr, host->h_addr, host->h_length); printf("Remote IP address is: %s (%s)\n", - args_info.remote_arg, inet_ntoa(options.remote)); + args_info->remote_arg, inet_ntoa(options.remote)); } } else { SYS_ERR(DSGSN, LOGL_ERROR, 0, @@ -468,106 +468,106 @@ } /* imsi */ - if (strlen(args_info.imsi_arg) != 15) { + if (strlen(args_info->imsi_arg) != 15) { printf("Invalid IMSI\n"); return -1; } options.imsi = 0xf000000000000000ull; - options.imsi |= ((uint64_t) (args_info.imsi_arg[0] - 48)); - options.imsi |= ((uint64_t) (args_info.imsi_arg[1] - 48)) << 4; - options.imsi |= ((uint64_t) (args_info.imsi_arg[2] - 48)) << 8; - options.imsi |= ((uint64_t) (args_info.imsi_arg[3] - 48)) << 12; - options.imsi |= ((uint64_t) (args_info.imsi_arg[4] - 48)) << 16; - options.imsi |= ((uint64_t) (args_info.imsi_arg[5] - 48)) << 20; - options.imsi |= ((uint64_t) (args_info.imsi_arg[6] - 48)) << 24; - options.imsi |= ((uint64_t) (args_info.imsi_arg[7] - 48)) << 28; - options.imsi |= ((uint64_t) (args_info.imsi_arg[8] - 48)) << 32; - options.imsi |= ((uint64_t) (args_info.imsi_arg[9] - 48)) << 36; - options.imsi |= ((uint64_t) (args_info.imsi_arg[10] - 48)) << 40; - options.imsi |= ((uint64_t) (args_info.imsi_arg[11] - 48)) << 44; - options.imsi |= ((uint64_t) (args_info.imsi_arg[12] - 48)) << 48; - options.imsi |= ((uint64_t) (args_info.imsi_arg[13] - 48)) << 52; - options.imsi |= ((uint64_t) (args_info.imsi_arg[14] - 48)) << 56; + options.imsi |= ((uint64_t) (args_info->imsi_arg[0] - 48)); + options.imsi |= ((uint64_t) (args_info->imsi_arg[1] - 48)) << 4; + options.imsi |= ((uint64_t) (args_info->imsi_arg[2] - 48)) << 8; + options.imsi |= ((uint64_t) (args_info->imsi_arg[3] - 48)) << 12; + options.imsi |= ((uint64_t) (args_info->imsi_arg[4] - 48)) << 16; + options.imsi |= ((uint64_t) (args_info->imsi_arg[5] - 48)) << 20; + options.imsi |= ((uint64_t) (args_info->imsi_arg[6] - 48)) << 24; + options.imsi |= ((uint64_t) (args_info->imsi_arg[7] - 48)) << 28; + options.imsi |= ((uint64_t) (args_info->imsi_arg[8] - 48)) << 32; + options.imsi |= ((uint64_t) (args_info->imsi_arg[9] - 48)) << 36; + options.imsi |= ((uint64_t) (args_info->imsi_arg[10] - 48)) << 40; + options.imsi |= ((uint64_t) (args_info->imsi_arg[11] - 48)) << 44; + options.imsi |= ((uint64_t) (args_info->imsi_arg[12] - 48)) << 48; + options.imsi |= ((uint64_t) (args_info->imsi_arg[13] - 48)) << 52; + options.imsi |= ((uint64_t) (args_info->imsi_arg[14] - 48)) << 56; printf("IMSI is: %s (%#08llx)\n", - args_info.imsi_arg, options.imsi); + args_info->imsi_arg, options.imsi); /* nsapi */ - if ((args_info.nsapi_arg > 15) || (args_info.nsapi_arg < 0)) { + if ((args_info->nsapi_arg > 15) || (args_info->nsapi_arg < 0)) { printf("Invalid NSAPI\n"); return -1; } - options.nsapi = args_info.nsapi_arg; - printf("Using NSAPI: %d\n", args_info.nsapi_arg); + options.nsapi = args_info->nsapi_arg; + printf("Using NSAPI: %d\n", args_info->nsapi_arg); /* qos */ options.qos.l = 4; - options.qos.v[3] = (args_info.qos_arg) & 0xff; - options.qos.v[2] = ((args_info.qos_arg) >> 8) & 0xff; - options.qos.v[1] = ((args_info.qos_arg) >> 16) & 0xff; - options.qos.v[0] = ((args_info.qos_arg) >> 24) & 0xff; + options.qos.v[3] = (args_info->qos_arg) & 0xff; + options.qos.v[2] = ((args_info->qos_arg) >> 8) & 0xff; + options.qos.v[1] = ((args_info->qos_arg) >> 16) & 0xff; + options.qos.v[0] = ((args_info->qos_arg) >> 24) & 0xff; /* Extensions according to 3GPP TS 24.008 */ - if (args_info.qose1_given == 1) { + if (args_info->qose1_given == 1) { options.qos.l = 12; - options.qos.v[11] = (args_info.qose1_arg) & 0xff; - options.qos.v[10] = ((args_info.qose1_arg) >> 8) & 0xff; - options.qos.v[9] = ((args_info.qose1_arg) >> 16) & 0xff; - options.qos.v[8] = ((args_info.qose1_arg) >> 24) & 0xff; - options.qos.v[7] = ((args_info.qose1_arg) >> 32) & 0xff; - options.qos.v[6] = ((args_info.qose1_arg) >> 40) & 0xff; - options.qos.v[5] = ((args_info.qose1_arg) >> 48) & 0xff; - options.qos.v[4] = ((args_info.qose1_arg) >> 56) & 0xff; - if (args_info.qose2_given == 1) { + options.qos.v[11] = (args_info->qose1_arg) & 0xff; + options.qos.v[10] = ((args_info->qose1_arg) >> 8) & 0xff; + options.qos.v[9] = ((args_info->qose1_arg) >> 16) & 0xff; + options.qos.v[8] = ((args_info->qose1_arg) >> 24) & 0xff; + options.qos.v[7] = ((args_info->qose1_arg) >> 32) & 0xff; + options.qos.v[6] = ((args_info->qose1_arg) >> 40) & 0xff; + options.qos.v[5] = ((args_info->qose1_arg) >> 48) & 0xff; + options.qos.v[4] = ((args_info->qose1_arg) >> 56) & 0xff; + if (args_info->qose2_given == 1) { options.qos.l = 13; - options.qos.v[12] = (args_info.qose2_arg) & 0xff; - if (args_info.qose3_given == 1) { + options.qos.v[12] = (args_info->qose2_arg) & 0xff; + if (args_info->qose3_given == 1) { options.qos.l = 15; options.qos.v[14] = - (args_info.qose3_arg) & 0xff; + (args_info->qose3_arg) & 0xff; options.qos.v[13] = - ((args_info.qose3_arg) >> 8) & 0xff; - if (args_info.qose4_given == 1) { + ((args_info->qose3_arg) >> 8) & 0xff; + if (args_info->qose4_given == 1) { options.qos.l = 17; options.qos.v[16] = - (args_info.qose4_arg) & 0xff; + (args_info->qose4_arg) & 0xff; options.qos.v[15] = - ((args_info.qose4_arg) >> 8) & 0xff; + ((args_info->qose4_arg) >> 8) & 0xff; } } } } /* charging */ - options.cch = args_info.charging_arg; + options.cch = args_info->charging_arg; /* contexts */ - if (args_info.contexts_arg > MAXCONTEXTS) { + if (args_info->contexts_arg > MAXCONTEXTS) { printf("Contexts has to be less than %d\n", MAXCONTEXTS); return -1; } - options.contexts = args_info.contexts_arg; + options.contexts = args_info->contexts_arg; /* Timelimit */ - options.timelimit = args_info.timelimit_arg; + options.timelimit = args_info->timelimit_arg; /* gtpversion */ - if ((args_info.gtpversion_arg > 1) || (args_info.gtpversion_arg < 0)) { + if ((args_info->gtpversion_arg > 1) || (args_info->gtpversion_arg < 0)) { printf("Invalid GTP version\n"); return -1; } - options.gtpversion = args_info.gtpversion_arg; - printf("Using GTP version: %d\n", args_info.gtpversion_arg); + options.gtpversion = args_info->gtpversion_arg; + printf("Using GTP version: %d\n", args_info->gtpversion_arg); /* apn */ - if (strlen(args_info.apn_arg) > (sizeof(options.apn.v) - 1)) { + if (strlen(args_info->apn_arg) > (sizeof(options.apn.v) - 1)) { printf("Invalid APN\n"); return -1; } - options.apn.l = strlen(args_info.apn_arg) + 1; + options.apn.l = strlen(args_info->apn_arg) + 1; apn = (char *)options.apn.v; - for (tok = strtok(args_info.apn_arg, "."); + for (tok = strtok(args_info->apn_arg, "."); tok != NULL; tok = strtok(NULL, ".")) { size_t len = strlen(tok); @@ -577,25 +577,25 @@ apn += len; } - printf("Using APN: %s\n", args_info.apn_arg); + printf("Using APN: %s\n", args_info->apn_arg); /* selmode */ - options.selmode = args_info.selmode_arg; - printf("Using selection mode: %d\n", args_info.selmode_arg); + options.selmode = args_info->selmode_arg; + printf("Using selection mode: %d\n", args_info->selmode_arg); /* rattype */ - if (args_info.rattype_given == 1) { + if (args_info->rattype_given == 1) { options.rattype_given = 1; options.rattype.l = 1; - options.rattype.v[0] = args_info.rattype_arg; - printf("Using RAT Type: %d\n", args_info.rattype_arg); + options.rattype.v[0] = args_info->rattype_arg; + printf("Using RAT Type: %d\n", args_info->rattype_arg); } /* userloc */ - if (args_info.userloc_given == 1) { + if (args_info->userloc_given == 1) { printf("Using User Location Information: %s\n", - args_info.userloc_arg); - tmp = args_info.userloc_arg; + args_info->userloc_arg); + tmp = args_info->userloc_arg; n = 0; pch = strtok(tmp, "."); while (pch != NULL) { @@ -687,9 +687,9 @@ } /* RAI */ - if (args_info.rai_given == 1) { - printf("Using RAI: %s\n", args_info.rai_arg); - tmp = args_info.rai_arg; + if (args_info->rai_given == 1) { + printf("Using RAI: %s\n", args_info->rai_arg); + tmp = args_info->rai_arg; n = 0; pch = strtok(tmp, "."); while (pch != NULL) { @@ -761,12 +761,12 @@ } /* mstz */ - if (args_info.mstz_given == 1) { + if (args_info->mstz_given == 1) { options.mstz_given = 1; options.mstz.l = 2; - printf("Using MS Time Zone: %s\n", args_info.mstz_arg); - tmp = args_info.mstz_arg; + printf("Using MS Time Zone: %s\n", args_info->mstz_arg); + tmp = args_info->mstz_arg; n = 0; pch = strtok(tmp, "."); while (pch != NULL) { @@ -815,80 +815,80 @@ } /* imeisv */ - if (args_info.imeisv_given == 1) { + if (args_info->imeisv_given == 1) { options.imeisv_given = 1; - if (strlen(args_info.imeisv_arg) != 16) { + if (strlen(args_info->imeisv_arg) != 16) { printf("Invalid IMEI(SV)\n"); return -1; } options.imeisv.l = 8; for (n = 0; n < 8; n++) { - a = (uint8_t) (args_info.imeisv_arg[2 * n] - 48); - b = (uint8_t) (args_info.imeisv_arg[2 * n + 1] - 48); + a = (uint8_t) (args_info->imeisv_arg[2 * n] - 48); + b = (uint8_t) (args_info->imeisv_arg[2 * n + 1] - 48); options.imeisv.v[n] = 16 * b + a; } - printf("Using IMEI(SV): %s\n", args_info.imeisv_arg); + printf("Using IMEI(SV): %s\n", args_info->imeisv_arg); } /* msisdn */ - if (strlen(args_info.msisdn_arg) > (sizeof(options.msisdn.v) - 1)) { + if (strlen(args_info->msisdn_arg) > (sizeof(options.msisdn.v) - 1)) { printf("Invalid MSISDN\n"); return -1; } options.msisdn.l = 1; options.msisdn.v[0] = 0x91; /* International format */ - for (n = 0; n < strlen(args_info.msisdn_arg); n++) { + for (n = 0; n < strlen(args_info->msisdn_arg); n++) { if ((n % 2) == 0) { options.msisdn.v[((int)n / 2) + 1] = - args_info.msisdn_arg[n] - 48 + 0xf0; + args_info->msisdn_arg[n] - 48 + 0xf0; options.msisdn.l += 1; } else { options.msisdn.v[((int)n / 2) + 1] = (options.msisdn.v[((int)n / 2) + 1] & 0x0f) + - (args_info.msisdn_arg[n] - 48) * 16; + (args_info->msisdn_arg[n] - 48) * 16; } } - printf("Using MSISDN: %s\n", args_info.msisdn_arg); + printf("Using MSISDN: %s\n", args_info->msisdn_arg); /* UID and PWD */ /* Might need to also insert stuff like DNS etc. */ - if ((strlen(args_info.uid_arg) + strlen(args_info.pwd_arg) + 10) > + if ((strlen(args_info->uid_arg) + strlen(args_info->pwd_arg) + 10) > (sizeof(options.pco.v) - 1)) { printf("invalid UID and PWD\n"); return -1; } options.pco.l = - strlen(args_info.uid_arg) + strlen(args_info.pwd_arg) + 10; + strlen(args_info->uid_arg) + strlen(args_info->pwd_arg) + 10; options.pco.v[0] = 0x80; /* PPP */ options.pco.v[1] = 0xc0; /* PAP */ options.pco.v[2] = 0x23; options.pco.v[3] = - strlen(args_info.uid_arg) + strlen(args_info.pwd_arg) + 6; + strlen(args_info->uid_arg) + strlen(args_info->pwd_arg) + 6; options.pco.v[4] = 0x01; /* Authenticate request */ options.pco.v[5] = 0x01; options.pco.v[6] = 0x00; /* MSB of length */ options.pco.v[7] = - strlen(args_info.uid_arg) + strlen(args_info.pwd_arg) + 6; - options.pco.v[8] = strlen(args_info.uid_arg); - memcpy(&options.pco.v[9], args_info.uid_arg, strlen(args_info.uid_arg)); - options.pco.v[9 + strlen(args_info.uid_arg)] = - strlen(args_info.pwd_arg); - memcpy(&options.pco.v[10 + strlen(args_info.uid_arg)], - args_info.pwd_arg, strlen(args_info.pwd_arg)); + strlen(args_info->uid_arg) + strlen(args_info->pwd_arg) + 6; + options.pco.v[8] = strlen(args_info->uid_arg); + memcpy(&options.pco.v[9], args_info->uid_arg, strlen(args_info->uid_arg)); + options.pco.v[9 + strlen(args_info->uid_arg)] = + strlen(args_info->pwd_arg); + memcpy(&options.pco.v[10 + strlen(args_info->uid_arg)], + args_info->pwd_arg, strlen(args_info->pwd_arg)); /* createif */ - options.createif = args_info.createif_flag; - options.tun_dev_name = args_info.tun_device_arg; - options.netns = args_info.netns_arg; + options.createif = args_info->createif_flag; + options.tun_dev_name = args_info->tun_device_arg; + options.netns = args_info->netns_arg; /* net */ /* Store net as in_addr net and mask */ - if (args_info.net_arg) { + if (args_info->net_arg) { if (ippool_aton - (&options.net, &options.prefixlen, args_info.net_arg, 0)) { + (&options.net, &options.prefixlen, args_info->net_arg, 0)) { SYS_ERR(DSGSN, LOGL_ERROR, 0, "Invalid network address: %s!", - args_info.net_arg); + args_info->net_arg); exit(1); } options.netaddr = options.net; @@ -902,56 +902,56 @@ } /* ipup */ - options.ipup = args_info.ipup_arg; + options.ipup = args_info->ipup_arg; /* ipdown */ - options.ipdown = args_info.ipdown_arg; + options.ipdown = args_info->ipdown_arg; /* statedir */ - options.statedir = args_info.statedir_arg; + options.statedir = args_info->statedir_arg; /* defaultroute */ - options.defaultroute = args_info.defaultroute_flag; + options.defaultroute = args_info->defaultroute_flag; /* pinghost */ /* Store ping host as in_addr */ - if (args_info.pinghost_arg) { - if (!(host = gethostbyname(args_info.pinghost_arg))) { + if (args_info->pinghost_arg) { + if (!(host = gethostbyname(args_info->pinghost_arg))) { SYS_ERR(DSGSN, LOGL_ERROR, 0, "Invalid ping host: %s!", - args_info.pinghost_arg); + args_info->pinghost_arg); return -1; } else { memcpy(&options.pinghost.s_addr, host->h_addr, host->h_length); printf("Using ping host: %s (%s)\n", - args_info.pinghost_arg, + args_info->pinghost_arg, inet_ntoa(options.pinghost)); } } /* Other ping parameters */ - options.pingrate = args_info.pingrate_arg; - options.pingsize = args_info.pingsize_arg; - options.pingcount = args_info.pingcount_arg; - options.pingquiet = args_info.pingquiet_flag; + options.pingrate = args_info->pingrate_arg; + options.pingsize = args_info->pingsize_arg; + options.pingcount = args_info->pingcount_arg; + options.pingquiet = args_info->pingquiet_flag; /* norecovery */ - options.norecovery_given = args_info.norecovery_flag; + options.norecovery_given = args_info->norecovery_flag; - if (args_info.no_tx_gpdu_seq_flag) + if (args_info->no_tx_gpdu_seq_flag) options.tx_gpdu_seq = 0; else options.tx_gpdu_seq = 1; /* PDP Type */ - if (!strcmp(args_info.pdp_type_arg, "v6")) + if (!strcmp(args_info->pdp_type_arg, "v6")) options.pdp_type = PDP_EUA_TYPE_v6; - else if (!strcmp(args_info.pdp_type_arg, "v4")) + else if (!strcmp(args_info->pdp_type_arg, "v4")) options.pdp_type = PDP_EUA_TYPE_v4; else { SYS_ERR(DSGSN, LOGL_ERROR, 0, "Unsupported/unknown PDP Type '%s'\n", - args_info.pdp_type_arg); + args_info->pdp_type_arg); return -1; } @@ -1607,6 +1607,9 @@ signal(SIGHUP, signal_handler); signal(SIGINT, signal_handler); + /* Track the use of talloc NULL memory contexts */ + talloc_enable_null_tracking(); + tall_sgsnemu_ctx = talloc_named_const(NULL, 0, "sgsnemu"); msgb_talloc_ctx_init(tall_sgsnemu_ctx, 0); osmo_init_logging2(tall_sgsnemu_ctx, &log_info); @@ -1936,6 +1939,11 @@ if (options.createif) tun_free(tun); + talloc_free(tall_sgsnemu_ctx); + fprintf(stderr, "=== talloc report (NULL):\n"); + talloc_report_full(NULL, stderr); + talloc_disable_null_tracking(); + if (0 == state) exit(1); /* Indicate error */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ie0d48a12a8349be5a859a03191421cbd9cc324cc Gerrit-Change-Number: 17758 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 Apr 8 17:51:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 17:51:45 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Refactor arg/cfg parser to use talloc In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17758 ) Change subject: sgsnemu: Refactor arg/cfg parser to use talloc ...................................................................... sgsnemu: Refactor arg/cfg parser to use talloc Used to get rid of some annoying memory leaks presented by ASan after each run. both ASan and talloc_report_full are fine after these changes, and sgsnemu continues to work as expected. Change-Id: Ie0d48a12a8349be5a859a03191421cbd9cc324cc --- M sgsnemu/cmdline.c M sgsnemu/cmdline.h M sgsnemu/sgsnemu.c 3 files changed, 367 insertions(+), 377 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/58/17758/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ie0d48a12a8349be5a859a03191421cbd9cc324cc Gerrit-Change-Number: 17758 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 Wed Apr 8 19:00:48 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 8 Apr 2020 19:00:48 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_ue: Implement data plane In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17756 ) Change subject: amarisoft_ue: Implement data plane ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17756 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: I1e228b1296eac8e4cb183c2faa735b0468abe124 Gerrit-Change-Number: 17756 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 08 Apr 2020 19: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 Wed Apr 8 21:37:28 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 8 Apr 2020 21:37:28 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/app_common: introduce auxiliary add_log_handler() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17759 ) Change subject: trx_toolkit/app_common: introduce auxiliary add_log_handler() ...................................................................... trx_toolkit/app_common: introduce auxiliary add_log_handler() Change-Id: Ied32764cf1c34dc7e0f746f4f085ea20168775cb --- M src/target/trx_toolkit/app_common.py 1 file changed, 12 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/59/17759/1 diff --git a/src/target/trx_toolkit/app_common.py b/src/target/trx_toolkit/app_common.py index f2a47c5..a8d6c8d 100644 --- a/src/target/trx_toolkit/app_common.py +++ b/src/target/trx_toolkit/app_common.py @@ -40,19 +40,23 @@ "This is free software: you are free to change and redistribute it.\n" \ "There is NO WARRANTY, to the extent permitted by law.\n") + def add_log_handler(self, lh, log_level, log_fmt): + lf = log.Formatter(log_fmt) + ll = log.getLevelName(log_level) + + log.root.addHandler(lh) + lh.setFormatter(lf) + lh.setLevel(ll) + def app_init_logging(self, argv): # Default logging handler (stderr) - sh = log.StreamHandler() - sh.setLevel(log.getLevelName(argv.log_level)) - sh.setFormatter(log.Formatter(argv.log_fmt)) - log.root.addHandler(sh) + self.add_log_handler(log.StreamHandler(), argv.log_level, + argv.log_fmt) # Optional file handler if argv.log_file_name is not None: - fh = log.FileHandler(argv.log_file_name) - fh.setLevel(log.getLevelName(argv.log_file_level)) - fh.setFormatter(log.Formatter(argv.log_file_fmt)) - log.root.addHandler(fh) + self.add_log_handler(log.FileHandler(argv.log_file_name), argv.log_file_level, + argv.log_file_fmt) # Set DEBUG for the root logger log.root.setLevel(log.DEBUG) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ied32764cf1c34dc7e0f746f4f085ea20168775cb Gerrit-Change-Number: 17759 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 Apr 8 21:37:29 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 8 Apr 2020 21:37:29 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/app_common: add options to enable time printing References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17760 ) Change subject: trx_toolkit/app_common: add options to enable time printing ...................................................................... trx_toolkit/app_common: add options to enable time printing Change-Id: Ie5d14a261e17af554f7132b03d58549a4831dcdb --- M src/target/trx_toolkit/app_common.py 1 file changed, 25 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/60/17760/1 diff --git a/src/target/trx_toolkit/app_common.py b/src/target/trx_toolkit/app_common.py index a8d6c8d..6e53b80 100644 --- a/src/target/trx_toolkit/app_common.py +++ b/src/target/trx_toolkit/app_common.py @@ -4,7 +4,7 @@ # TRX Toolkit # Common helpers for applications # -# (C) 2018 by Vadim Yanitskiy +# (C) 2018-2020 by Vadim Yanitskiy # # All Rights Reserved # @@ -29,6 +29,9 @@ # Example: [DEBUG] ctrl_if_bts.py:71 Recv POWEROFF cmd LOG_FMT_DEFAULT = "[%(levelname)s] %(filename)s:%(lineno)d %(message)s" + # Default time / date format (e.g. 2003-01-23 00:29:50) + LOG_TIME_FMT_DEFAULT = "%Y-%m-%d %H:%M:%S" + def app_print_copyright(self, holders = []): # Print copyright holders if any for date, author in holders: @@ -40,8 +43,9 @@ "This is free software: you are free to change and redistribute it.\n" \ "There is NO WARRANTY, to the extent permitted by law.\n") - def add_log_handler(self, lh, log_level, log_fmt): - lf = log.Formatter(log_fmt) + def add_log_handler(self, lh, log_level, log_fmt, time_fmt, log_time = False): + log_fmt = "%(asctime)s " + log_fmt if log_time else log_fmt + lf = log.Formatter(log_fmt, time_fmt) ll = log.getLevelName(log_level) log.root.addHandler(lh) @@ -51,12 +55,14 @@ def app_init_logging(self, argv): # Default logging handler (stderr) self.add_log_handler(log.StreamHandler(), argv.log_level, - argv.log_fmt) + argv.log_fmt, argv.log_time_fmt, + argv.log_time) # Optional file handler if argv.log_file_name is not None: self.add_log_handler(log.FileHandler(argv.log_file_name), argv.log_file_level, - argv.log_file_fmt) + argv.log_file_fmt, argv.log_file_time_fmt, + argv.log_file_time) # Set DEBUG for the root logger log.root.setLevel(log.DEBUG) @@ -66,6 +72,13 @@ dest = "log_level", type = str, default = "DEBUG", choices = ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"], help = "Set logging level (default %(default)s)") + parser.add_argument("--log-time", + dest = "log_time", action = "store_true", + help = "Prefix each log message with the current time") + parser.add_argument("--log-time-format", metavar = "FMT", + dest = "log_time_fmt", type = str, + default = self.LOG_TIME_FMT_DEFAULT, + help = "Set time format (default %(default)s)") parser.add_argument("--log-format", metavar = "FMT", dest = "log_fmt", type = str, default = self.LOG_FMT_DEFAULT, help = "Set logging message format") @@ -77,6 +90,13 @@ dest = "log_file_level", type = str, default = "DEBUG", choices = ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"], help = "Set logging level for file (default %(default)s)") + parser.add_argument("--log-file-time", + dest = "log_file_time", action = "store_true", + help = "Prefix each log message with the current time") + parser.add_argument("--log-file-time-format", metavar = "FMT", + dest = "log_file_time_fmt", type = str, + default = self.LOG_TIME_FMT_DEFAULT, + help = "Set time format for file (default %(default)s)") parser.add_argument("--log-file-format", metavar = "FMT", dest = "log_file_fmt", type = str, default = self.LOG_FMT_DEFAULT, help = "Set logging message format for file") -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie5d14a261e17af554f7132b03d58549a4831dcdb Gerrit-Change-Number: 17760 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 Apr 8 21:45:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 8 Apr 2020 21:45:03 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/app_common: introduce auxiliary add_log_handler() 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/+/17759 to look at the new patch set (#2). Change subject: trx_toolkit/app_common: introduce auxiliary add_log_handler() ...................................................................... trx_toolkit/app_common: introduce auxiliary add_log_handler() Change-Id: Ied32764cf1c34dc7e0f746f4f085ea20168775cb --- M src/target/trx_toolkit/app_common.py 1 file changed, 14 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/59/17759/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ied32764cf1c34dc7e0f746f4f085ea20168775cb Gerrit-Change-Number: 17759 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 Wed Apr 8 21:45:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 8 Apr 2020 21:45:03 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/app_common: add options to enable time printing 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/+/17760 to look at the new patch set (#2). Change subject: trx_toolkit/app_common: add options to enable time printing ...................................................................... trx_toolkit/app_common: add options to enable time printing Change-Id: Ie5d14a261e17af554f7132b03d58549a4831dcdb --- M src/target/trx_toolkit/app_common.py 1 file changed, 24 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/60/17760/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie5d14a261e17af554f7132b03d58549a4831dcdb Gerrit-Change-Number: 17760 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 Wed Apr 8 21:48:47 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 8 Apr 2020 21:48:47 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: enable time / date logging for fake_trx.py References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17761 ) Change subject: ttcn3-bts-test: enable time / date logging for fake_trx.py ...................................................................... ttcn3-bts-test: enable time / date logging for fake_trx.py Depends: Ie5d14a261e17af554f7132b03d58549a4831dcdb Change-Id: I7f82e4f573db8f72256718c04bb1ace23788ba38 --- M ttcn3-bts-test/jenkins.sh 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/61/17761/1 diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 325e564..cc401e7 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -48,6 +48,7 @@ /tmp/osmocom-bb/src/target/trx_toolkit/fake_trx.py \ --log-file-name /data/fake_trx.log \ --log-file-level DEBUG \ + --log-file-time \ --log-level INFO \ -R 172.18.9.20 -r 172.18.9.22 } -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7f82e4f573db8f72256718c04bb1ace23788ba38 Gerrit-Change-Number: 17761 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 Apr 8 21:54:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 21:54:17 +0000 Subject: Change in osmo-gsm-tester[master]: utils/bin: Support passing several bin files to setcap helper scripts In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17755 ) Change subject: utils/bin: Support passing several bin files to setcap helper scripts ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17755 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: Ifa43f895ae0796d086f35778263aaba07f2e1b7a Gerrit-Change-Number: 17755 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 08 Apr 2020 21:54: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 Apr 8 21:54:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 21:54:21 +0000 Subject: Change in osmo-gsm-tester[master]: utils/bin: Support passing several bin files to setcap helper scripts In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17755 ) Change subject: utils/bin: Support passing several bin files to setcap helper scripts ...................................................................... utils/bin: Support passing several bin files to setcap helper scripts Change-Id: Ifa43f895ae0796d086f35778263aaba07f2e1b7a --- M utils/bin/osmo-gsm-tester_setcap_net_admin.sh M utils/bin/osmo-gsm-tester_setcap_net_raw.sh M utils/bin/osmo-gsm-tester_setcap_netsys_admin.sh 3 files changed, 12 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/utils/bin/osmo-gsm-tester_setcap_net_admin.sh b/utils/bin/osmo-gsm-tester_setcap_net_admin.sh index 60e527a..2016d08 100755 --- a/utils/bin/osmo-gsm-tester_setcap_net_admin.sh +++ b/utils/bin/osmo-gsm-tester_setcap_net_admin.sh @@ -1,2 +1,5 @@ #!/bin/sh -/sbin/setcap cap_net_admin+ep "$1" +set -x +for filename in "$@"; do + /sbin/setcap cap_net_admin+ep "$filename" +done diff --git a/utils/bin/osmo-gsm-tester_setcap_net_raw.sh b/utils/bin/osmo-gsm-tester_setcap_net_raw.sh index 1f3a727..9390e6d 100755 --- a/utils/bin/osmo-gsm-tester_setcap_net_raw.sh +++ b/utils/bin/osmo-gsm-tester_setcap_net_raw.sh @@ -1,3 +1,5 @@ #!/bin/sh - -/sbin/setcap cap_net_raw+ep "$1" +set -x +for filename in "$@"; do + /sbin/setcap cap_net_raw+ep "$filename" +done diff --git a/utils/bin/osmo-gsm-tester_setcap_netsys_admin.sh b/utils/bin/osmo-gsm-tester_setcap_netsys_admin.sh index c432e1a..a3b929c 100755 --- a/utils/bin/osmo-gsm-tester_setcap_netsys_admin.sh +++ b/utils/bin/osmo-gsm-tester_setcap_netsys_admin.sh @@ -1,2 +1,5 @@ #!/bin/sh -/sbin/setcap cap_net_admin,cap_sys_admin+ep "$1" +set -x +for filename in "$@"; do + /sbin/setcap cap_net_admin,cap_sys_admin+ep "$filename" +done -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17755 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: Ifa43f895ae0796d086f35778263aaba07f2e1b7a Gerrit-Change-Number: 17755 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Wed Apr 8 21:54:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 21:54:22 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_ue: Implement data plane In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17756 ) Change subject: amarisoft_ue: Implement data plane ...................................................................... amarisoft_ue: Implement data plane Use the ifup script to set up the netns + configure the tun device created by lteue. Use it also as a hook to know when the UE is attached. Since tun setup is done by arch-optimized lte-avx(2) binaries, we also need to give capabilitites to them (instead of allowing inheritance of caps in general in the setcap script). Change-Id: I1e228b1296eac8e4cb183c2faa735b0468abe124 --- M src/osmo_gsm_tester/amarisoft_ue.py M src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl M utils/bin/osmo-gsm-tester_netns_setup.sh 3 files changed, 54 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified srs_andre: Looks good to me, approved diff --git a/src/osmo_gsm_tester/amarisoft_ue.py b/src/osmo_gsm_tester/amarisoft_ue.py index 9bfc182..422f28d 100644 --- a/src/osmo_gsm_tester/amarisoft_ue.py +++ b/src/osmo_gsm_tester/amarisoft_ue.py @@ -69,6 +69,7 @@ CFGFILE = 'amarisoft_lteue.cfg' CFGFILE_RF = 'amarisoft_rf_driver.cfg' LOGFILE = 'lteue.log' + IFUPFILE = 'ue-ifup' def __init__(self, suite_run, conf): self._addr = conf.get('addr', None) @@ -81,6 +82,7 @@ self._bin_prefix = None self.config_file = None self.config_rf_file = None + self.ifup_file = None self.log_file = None self.process = None self.rem_host = None @@ -88,6 +90,7 @@ self.remote_config_file = None self.remote_config_rf_file = None self.remote_log_file = None + self.remote_ifup_file = None self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): @@ -138,17 +141,16 @@ remote_binary = self.remote_inst.child('', AmarisoftUE.BINFILE) # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. self.log('Setting RPATH for ltetue') - # amarisoftue binary needs patchelf >= 0.9+52 to avoid failing during patch. OS#4389, patchelf-GH#192. + # patchelf >= 0.10 is required to support passing several files at once: self.rem_host.set_remote_env({'PATCHELF_BIN': '/opt/bin/patchelf-v0.10' }) self.rem_host.change_elf_rpath(remote_binary, str(self.remote_inst)) + # We also need to patch the arch-optimized binaries that lteue() will exec() into: + self.rem_host.change_elf_rpath(self.remote_inst.child('', 'lteue-*'), str(self.remote_inst)) - # amarisoftue requires CAP_SYS_ADMIN to cjump to net network namespace: netns(CLONE_NEWNET): - # amarisoftue requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): - self.log('Applying CAP_SYS_ADMIN+CAP_NET_ADMIN capability to ltetue') - self.rem_host.setcap_netsys_admin(remote_binary) - - self.log('Creating netns %s' % self.netns()) - self.rem_host.create_netns(self.netns()) + # lteue requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): + self.log('Applying CAP_NET_ADMIN capability to ltetue') + self.rem_host.setcap_net_admin(remote_binary) + self.rem_host.setcap_net_admin(self.remote_inst.child('', 'lteue-*')) args = (remote_binary, self.remote_config_file) self.process = self.rem_host.RemoteProcess(AmarisoftUE.BINFILE, args) @@ -162,14 +164,13 @@ # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. self.log('Setting RPATH for lteue') util.change_elf_rpath(binary, util.prepend_library_path(self.inst), self.run_dir.new_dir('patchelf')) + # We also need to patch the arch-optimized binaries that lteue() will exec() into: + util.change_elf_rpath(self.inst.child('', 'lteue-*'), util.prepend_library_path(self.inst), self.run_dir.new_dir('patchelf2')) - # amarisoftue requires CAP_SYS_ADMIN to cjump to net network namespace: netns(CLONE_NEWNET): - # amarisoftue requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): - self.log('Applying CAP_SYS_ADMIN+CAP_NET_ADMIN capability to lteue') - util.setcap_netsys_admin(binary, self.run_dir.new_dir('setcap_netsys_admin')) - - self.log('Creating netns %s' % self.netns()) - util.create_netns(self.netns(), self.run_dir.new_dir('create_netns')) + # lteue requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): + self.log('Applying CAP_NET_ADMIN capability to lteue') + util.setcap_net_admin(binary, self.run_dir.new_dir('setcap_net_admin')) + util.setcap_net_admin(self.inst.child('', 'lteue-*'), self.run_dir.new_dir('setcap_net_admin2')) args = (binary, os.path.abspath(self.config_file)) self.dbg(run_dir=self.run_dir, binary=binary, env=env) @@ -192,6 +193,24 @@ self.config_file = self.run_dir.child(AmarisoftUE.CFGFILE) self.config_rf_file = self.run_dir.child(AmarisoftUE.CFGFILE_RF) self.log_file = self.run_dir.child(AmarisoftUE.LOGFILE) + self.ifup_file = self.run_dir.new_file(AmarisoftUE.IFUPFILE) + os.chmod(self.ifup_file, 0o744) # add execution permission + with open(self.ifup_file, 'w') as f: + r = '''#!/bin/sh + set -x -e + ue_id="$1" # UE ID + pdn_id="$2" # PDN unique id (start from 0) + ifname="$3" # Interface name + ipv4_addr="$4" # IPv4 address + ipv4_dns="$5" # IPv4 DNS + ipv6_local_addr="$6" # IPv6 local address + ipv6_dns="$7" # IPv6 DNS + old_link_local="" + # script + sudoers file available in osmo-gsm-tester.git/utils/{bin,sudoers.d} + sudo /usr/local/bin/osmo-gsm-tester_netns_setup.sh "%s" "$ifname" "$ipv4_addr" + echo "${ue_id}: netns %s configured" + ''' % (self.netns(), self.netns()) + f.write(r) if not self.setup_runs_locally(): self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) @@ -202,6 +221,7 @@ self.remote_config_file = remote_run_dir.child(AmarisoftUE.CFGFILE) self.remote_config_rf_file = remote_run_dir.child(AmarisoftUE.CFGFILE_RF) self.remote_log_file = remote_run_dir.child(AmarisoftUE.LOGFILE) + self.remote_ifup_file = remote_run_dir.child(AmarisoftUE.IFUPFILE) values = dict(ue=config.get_defaults('amarisoft')) config.overlay(values, dict(ue=config.get_defaults('amarisoftue'))) @@ -211,7 +231,9 @@ config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file - config.overlay(values, dict(ue=dict(log_filename=logfile))) + ifupfile = self.ifup_file if self.setup_runs_locally() else self.remote_ifup_file + config.overlay(values, dict(ue=dict(log_filename=logfile, + ifup_filename=ifupfile))) # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': @@ -263,9 +285,12 @@ self.rem_host.recreate_remote_dir(remote_run_dir) self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) self.rem_host.scp('scp-cfg-rf-to-remote', self.config_rf_file, self.remote_config_rf_file) + self.rem_host.scp('scp-ifup-to-remote', self.ifup_file, self.remote_ifup_file) def is_connected(self, mcc_mnc=None): - return 'Network attach successful.' in (self.process.get_stdout() or '') + # lteue doesn't call the ifup script until after it becomes attached, so + # simply look for our ifup script output at the end of it: + return 'netns %s configured' % (self.netns()) in (self.process.get_stdout() or '') def is_attached(self): return self.is_connected() diff --git a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl index 59ab8b2..720c0ba 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl @@ -55,7 +55,7 @@ //external_sim: true, /* Enable it to create a TUN interface for each UE PDN */ - //tun_setup_script: "ue-ifup", + tun_setup_script: "${ue.ifup_filename}", sim_events: [{ event: "power_on", diff --git a/utils/bin/osmo-gsm-tester_netns_setup.sh b/utils/bin/osmo-gsm-tester_netns_setup.sh index e3d09ea..c53e41a 100755 --- a/utils/bin/osmo-gsm-tester_netns_setup.sh +++ b/utils/bin/osmo-gsm-tester_netns_setup.sh @@ -2,6 +2,7 @@ netns="$1" ifname="$2" # optional +ip_addr="$3" # optional if [ -f "/var/run/netns/${netns}" ]; then echo "netns $netns already exists" @@ -20,3 +21,13 @@ else ip netns exec $netns ls "/sys/class/net/${ifname}" >/dev/null && echo "iface $ifname already in netns $netns" fi + +if [ "x$ip_addr" = "x" ]; then + exit 0 +fi + +echo "Setting up iface $ifname with ${ip_addr}" +ip netns exec $netns ip link set dev $ifname up +ip netns exec $netns ip addr add ${ip_addr}/24 dev $ifname + +#ip netns exec $netns ip route add default via ${ip_addr} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17756 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: I1e228b1296eac8e4cb183c2faa735b0468abe124 Gerrit-Change-Number: 17756 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 Apr 8 21:58:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 21:58:39 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/app_common: introduce auxiliary add_log_handler() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17759 ) Change subject: trx_toolkit/app_common: introduce auxiliary add_log_handler() ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17759/2/src/target/trx_toolkit/app_common.py File src/target/trx_toolkit/app_common.py: https://gerrit.osmocom.org/c/osmocom-bb/+/17759/2/src/target/trx_toolkit/app_common.py at 53 PS2, Line 53: lo = (argv.log_level, argv.log_fmt) what's the point of this lo variable then expanding it two lines afterwards? -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ied32764cf1c34dc7e0f746f4f085ea20168775cb Gerrit-Change-Number: 17759 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 08 Apr 2020 21:58: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 Wed Apr 8 22:00:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 22:00:57 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/app_common: add options to enable time printing In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17760 ) Change subject: trx_toolkit/app_common: add options to enable time printing ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie5d14a261e17af554f7132b03d58549a4831dcdb Gerrit-Change-Number: 17760 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 08 Apr 2020 22:00: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 Wed Apr 8 22:07:24 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 8 Apr 2020 22:07:24 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/app_common: introduce auxiliary add_log_handler() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17759 ) Change subject: trx_toolkit/app_common: introduce auxiliary add_log_handler() ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17759/2/src/target/trx_toolkit/app_common.py File src/target/trx_toolkit/app_common.py: https://gerrit.osmocom.org/c/osmocom-bb/+/17759/2/src/target/trx_toolkit/app_common.py at 53 PS2, Line 53: lo = (argv.log_level, argv.log_fmt) > what's the point of this lo variable then expanding it two lines afterwards? It's easier to expand it here rather than when it's the second argument of self.add_log_handler(). I would need to align it adding tons of tabs/spaces, so in the end it would look like a figure Tetris ;) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ied32764cf1c34dc7e0f746f4f085ea20168775cb Gerrit-Change-Number: 17759 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 08 Apr 2020 22:07: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 Wed Apr 8 22:11:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 22:11:40 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/app_common: introduce auxiliary add_log_handler() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17759 ) Change subject: trx_toolkit/app_common: introduce auxiliary add_log_handler() ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17759/2/src/target/trx_toolkit/app_common.py File src/target/trx_toolkit/app_common.py: https://gerrit.osmocom.org/c/osmocom-bb/+/17759/2/src/target/trx_toolkit/app_common.py at 53 PS2, Line 53: lo = (argv.log_level, argv.log_fmt) > It's easier to expand it here rather than when it's the second argument of self.add_log_handler(). [?] I'm not following you. why not simply calling: self.add_log_handler(lh, argv.log_level, argv.log_fmt) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ied32764cf1c34dc7e0f746f4f085ea20168775cb Gerrit-Change-Number: 17759 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 08 Apr 2020 22:11:40 +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 Wed Apr 8 22:26:01 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 8 Apr 2020 22:26:01 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/app_common: introduce auxiliary add_log_handler() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17759 ) Change subject: trx_toolkit/app_common: introduce auxiliary add_log_handler() ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17759/2/src/target/trx_toolkit/app_common.py File src/target/trx_toolkit/app_common.py: https://gerrit.osmocom.org/c/osmocom-bb/+/17759/2/src/target/trx_toolkit/app_common.py at 53 PS2, Line 53: lo = (argv.log_level, argv.log_fmt) > I'm not following you. why not simply calling: [?] I mean in the next change we add more options, then some day we may want more... So I personally consider this: lh = (aaaaaaaaa, bbbbbbbbbbb, cccccccccccccc, ddddddd, eeeeeeeeeeee, fffffffffffff, gg, hhhhhhhhhh) -----> less ugly than this: self.add_log_handler(lh, aaaaaaaaa, bbbbbbbbbbb, cccccccccccccc, ddddddd, eeeeeeeeeeee, fffffffffffff, gg, hhhhhhhhhh) ------------------------> This is just a (groundless) style preference... -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ied32764cf1c34dc7e0f746f4f085ea20168775cb Gerrit-Change-Number: 17759 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 08 Apr 2020 22:26:01 +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 Apr 8 22:27:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 8 Apr 2020 22:27:31 +0000 Subject: Change in osmocom-bb[master]: trxcon/logging: print category, level and extended timestamp References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17762 ) Change subject: trxcon/logging: print category, level and extended timestamp ...................................................................... trxcon/logging: print category, level and extended timestamp Since we're heavily using trxcon in ttcn3-bts-test, the logging output should contain as much information as possible. Ideally we should introduce the VTY interface (see OS#3666) and get logging configuration options as a bonus. But let's just use some beneficial hard-coded defaults for now: - print category and level (huh, we use NOTICE everywhere?), - do not print category-hex (who needs it anyway?), - print extended timestamp, so we're in synce with other logs. P.S. This configuration is based on my own debugging experience. Change-Id: Ie3d259f3255d8af80e6780f850b808fa243f97b4 --- M src/host/trxcon/trxcon.c 1 file changed, 8 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/62/17762/1 diff --git a/src/host/trxcon/trxcon.c b/src/host/trxcon/trxcon.c index ecee518..dfce2b8 100644 --- a/src/host/trxcon/trxcon.c +++ b/src/host/trxcon/trxcon.c @@ -1,7 +1,7 @@ /* * OsmocomBB <-> SDR connection bridge * - * (C) 2016-2019 by Vadim Yanitskiy + * (C) 2016-2020 by Vadim Yanitskiy * * All Rights Reserved * @@ -53,7 +53,7 @@ #include "sched_trx.h" #define COPYRIGHT \ - "Copyright (C) 2016-2019 by Vadim Yanitskiy \n" \ + "Copyright (C) 2016-2020 by Vadim Yanitskiy \n" \ "License GPLv2+: GNU GPL version 2 or later " \ "\n" \ "This is free software: you are free to change and redistribute it.\n" \ @@ -283,6 +283,12 @@ /* Init logging system */ trx_log_init(tall_trxcon_ctx, app_data.debug_mask); + /* Configure pretty logging */ + log_set_print_extended_timestamp(osmo_stderr_target, 1); + log_set_print_category_hex(osmo_stderr_target, 0); + log_set_print_category(osmo_stderr_target, 1); + log_set_print_level(osmo_stderr_target, 1); + /* Optional GSMTAP */ if (app_data.gsmtap_ip != NULL) { gsmtap = gsmtap_source_init(app_data.gsmtap_ip, GSMTAP_UDP_PORT, 1); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie3d259f3255d8af80e6780f850b808fa243f97b4 Gerrit-Change-Number: 17762 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 Apr 8 22:36:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 22:36:54 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/app_common: introduce auxiliary add_log_handler() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17759 ) Change subject: trx_toolkit/app_common: introduce auxiliary add_log_handler() ...................................................................... Patch Set 2: ok I disagree but do as you like :) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ied32764cf1c34dc7e0f746f4f085ea20168775cb Gerrit-Change-Number: 17759 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 08 Apr 2020 22:36: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 Wed Apr 8 22:39:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 8 Apr 2020 22:39:31 +0000 Subject: Change in osmocom-bb[master]: trxcon/logging: print category, level and extended timestamp In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17762 ) Change subject: trxcon/logging: print category, level and extended timestamp ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie3d259f3255d8af80e6780f850b808fa243f97b4 Gerrit-Change-Number: 17762 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 08 Apr 2020 22: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 Thu Apr 9 08:53:46 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 9 Apr 2020 08:53:46 +0000 Subject: Change in osmo-ggsn[master]: doc: switch log levels to notice In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17584 ) Change subject: doc: switch log levels to notice ...................................................................... Abandoned Then lets keep the current logging levels. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I91743c870d8084b1a106b41be92661c7674a8584 Gerrit-Change-Number: 17584 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 9 09:02:48 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 9 Apr 2020 09:02:48 +0000 Subject: Change in osmo-ggsn[master]: doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip. In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17601 to look at the new patch set (#3). Change subject: doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip. ...................................................................... doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip. The example config for osmo-sgsn suggests to use 127.0.0.6 as bind ip. (the ip-address where the SGSN tries to connect) Lets use 127.0.0.2 instead to match the default config of osmo-sgsn. Change-Id: I513ab64896dee47fd92dbc5ef495fe1c6e734ec3 --- M doc/examples/osmo-ggsn.cfg 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/01/17601/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I513ab64896dee47fd92dbc5ef495fe1c6e734ec3 Gerrit-Change-Number: 17601 Gerrit-PatchSet: 3 Gerrit-Owner: dexter 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 Apr 9 09:19:44 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 9 Apr 2020 09:19:44 +0000 Subject: Change in osmo-trx[master]: doc: apply an rssi-offset of 28 by default. In-Reply-To: References: Message-ID: Hello fixeria, laforge, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/17596 to look at the new patch set (#3). Change subject: doc: apply an rssi-offset of 28 by default. ...................................................................... doc: apply an rssi-offset of 28 by default. Set an rssi offset of 28 in the example configs to make sure that the power control loop gets RSSI values that match at least half way the reality when the 1800 Mhz band is used. For other bands the value will be different (See also related osmocom ticket) Change-Id: I62725fe454f54e2c7cb7550dadb1e6fc94337d78 Related: OS#4468 --- M doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/96/17596/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I62725fe454f54e2c7cb7550dadb1e6fc94337d78 Gerrit-Change-Number: 17596 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 9 09:29:24 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 9 Apr 2020 09:29:24 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when not loglevel is set In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17604 ) Change subject: logging: use LOGL_NOTICE when not loglevel is set ...................................................................... Patch Set 3: No change so far, just rebased - please ignore. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Gerrit-Change-Number: 17604 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 09 Apr 2020 09:29: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 Thu Apr 9 09:46:30 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 9 Apr 2020 09:46:30 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when not loglevel is set In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17604 ) Change subject: logging: use LOGL_NOTICE when not loglevel is set ...................................................................... Patch Set 3: (1 comment) There are some things that I do not understand, see comment in src/logging.c, PS2, line 1064 https://gerrit.osmocom.org/c/libosmocore/+/17604/2/src/logging.c File src/logging.c: https://gerrit.osmocom.org/c/libosmocore/+/17604/2/src/logging.c at 1064 PS2, Line 1064: *(uint8_t*) (& > oh, this is actually a problem. I think many of our programs allocate the arrays as 'const', i.e. [?] I have difficulties to understand this. To my understanding we should dynamically allocate memory for 'cat' here in this function, then copy over the contents of 'cat' from osmo_log_info and make the changes there. When done we assign osmo_log_info->cat with the location of the copy we just created. Is this correct? The function gets a const struct log_info *inf, in logging.h I find const struct log_info_cat *cat in struct log_info. Is it even possible to replace osmo_log_info->cat with a now memory location then? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Gerrit-Change-Number: 17604 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 09 Apr 2020 09:46:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria 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 Apr 9 09:50:28 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 9 Apr 2020 09:50:28 +0000 Subject: Change in osmo-bts[master]: logging: use only LOGL_NOTICE as defualt loglevel 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/+/17606 to look at the new patch set (#2). Change subject: logging: use only LOGL_NOTICE as defualt loglevel ...................................................................... logging: use only LOGL_NOTICE as defualt loglevel some of the log categories in logging.c are set to LOGL_INFO or even to LOGL_DEBUG. This is too verbose. Lets set those categories to LOGL_NOTICE. Also the BTS manager programs (...bts_mgr.c) use LOGL_INFO by default. This should be set to LOGL_NOTICE as well Related: OS#2577 Change-Id: I6e7a635f9b4a93529661dafc591d512d7b7e8c75 --- M src/common/logging.c M src/osmo-bts-litecell15/misc/lc15bts_mgr.c M src/osmo-bts-oc2g/misc/oc2gbts_mgr.c M src/osmo-bts-sysmo/misc/sysmobts_mgr.c 4 files changed, 20 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/06/17606/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6e7a635f9b4a93529661dafc591d512d7b7e8c75 Gerrit-Change-Number: 17606 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 Thu Apr 9 10:35:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 9 Apr 2020 10:35:50 +0000 Subject: Change in osmo-trx[master]: doc: apply an rssi-offset of 28 by default. In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17596 ) Change subject: doc: apply an rssi-offset of 28 by default. ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I62725fe454f54e2c7cb7550dadb1e6fc94337d78 Gerrit-Change-Number: 17596 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 09 Apr 2020 10: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 Apr 9 11:00:07 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 9 Apr 2020 11:00:07 +0000 Subject: Change in osmo-pcu[master]: gprs_debug: Use only LOGL_NOTICE as default loglevel In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17609 ) Change subject: gprs_debug: Use only LOGL_NOTICE as default loglevel ...................................................................... Patch Set 2: You need to adjust logging levels in the unit tests, in the same way as RCLMACTest does. Also, since we're about to merge #17604, can we just remove all '.loglevel' entries rather than duplicating 'NOTICE, NOTICE, NOTICE...' everywhere? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb1cd1a94fb4fdd0147e073f8c1c82562c2c14ef Gerrit-Change-Number: 17609 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 09 Apr 2020 11:00: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 Thu Apr 9 11:06:38 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 9 Apr 2020 11:06:38 +0000 Subject: Change in osmo-iuh[master]: hnbgw: do not use LOGL_DEBUG as default loglevel In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17608 ) Change subject: hnbgw: do not use LOGL_DEBUG as default loglevel ...................................................................... Patch Set 2: Code-Review+1 Same here (see #17604), can we just omit all '.loglevel = NOTICE' entries? -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: If3dbed88307814764bab9e7f1821e1dc0d8be43b Gerrit-Change-Number: 17608 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 09 Apr 2020 11:06: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 Apr 9 12:30:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 9 Apr 2020 12:30:36 +0000 Subject: Change in osmo-ggsn[master]: doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17601 ) Change subject: doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip. ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I513ab64896dee47fd92dbc5ef495fe1c6e734ec3 Gerrit-Change-Number: 17601 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 09 Apr 2020 12: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 Thu Apr 9 12:32:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 9 Apr 2020 12:32:27 +0000 Subject: Change in osmo-bts[master]: logging: use only LOGL_NOTICE as defualt loglevel In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17606 ) Change subject: logging: use only LOGL_NOTICE as defualt loglevel ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6e7a635f9b4a93529661dafc591d512d7b7e8c75 Gerrit-Change-Number: 17606 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 09 Apr 2020 12: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 Thu Apr 9 12:33:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 9 Apr 2020 12:33:39 +0000 Subject: Change in osmo-trx[master]: doc: apply an rssi-offset of 28 by default. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17596 ) Change subject: doc: apply an rssi-offset of 28 by default. ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/17596/3/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg File doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg: https://gerrit.osmocom.org/c/osmo-trx/+/17596/3/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg at 16 PS3, Line 16: rssi-offset 28.000000 lol where all those zeros come from? -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I62725fe454f54e2c7cb7550dadb1e6fc94337d78 Gerrit-Change-Number: 17596 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 09 Apr 2020 12:33: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 Thu Apr 9 12:47:41 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 9 Apr 2020 12:47:41 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: cmdline: Drop unused function cmdline_parser_params_create() In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17757 ) Change subject: sgsnemu: cmdline: Drop unused function cmdline_parser_params_create() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I7d5d69f104d24aafd4aa0b7289bb8b3fa1d77ed4 Gerrit-Change-Number: 17757 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 09 Apr 2020 12:47: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 Apr 9 13:15:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 9 Apr 2020 13:15:30 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: cmdline: Drop unused function cmdline_parser_params_create() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17757 ) Change subject: sgsnemu: cmdline: Drop unused function cmdline_parser_params_create() ...................................................................... sgsnemu: cmdline: Drop unused function cmdline_parser_params_create() Change-Id: I7d5d69f104d24aafd4aa0b7289bb8b3fa1d77ed4 --- M sgsnemu/cmdline.c M sgsnemu/cmdline.h 2 files changed, 0 insertions(+), 15 deletions(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, approved diff --git a/sgsnemu/cmdline.c b/sgsnemu/cmdline.c index 13d0295..604e76b 100644 --- a/sgsnemu/cmdline.c +++ b/sgsnemu/cmdline.c @@ -368,14 +368,6 @@ } } -struct cmdline_parser_params *cmdline_parser_params_create(void) -{ - struct cmdline_parser_params *params = (struct cmdline_parser_params *) - malloc(sizeof(struct cmdline_parser_params)); - cmdline_parser_params_init(params); - return params; -} - static void free_string_field(char **s) { if (*s) { diff --git a/sgsnemu/cmdline.h b/sgsnemu/cmdline.h index c7c8521..4dd4989 100644 --- a/sgsnemu/cmdline.h +++ b/sgsnemu/cmdline.h @@ -480,13 +480,6 @@ void cmdline_parser_params_init(struct cmdline_parser_params *params); /** - * Allocates dynamically a cmdline_parser_params structure and initializes - * all its fields to their default values - * @return the created and initialized cmdline_parser_params structure - */ - struct cmdline_parser_params *cmdline_parser_params_create(void); - -/** * Initializes the passed gengetopt_args_info structure's fields * (also set default values for options that have a default) * @param args_info the structure to initialize -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I7d5d69f104d24aafd4aa0b7289bb8b3fa1d77ed4 Gerrit-Change-Number: 17757 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Apr 9 14:24:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 9 Apr 2020 14:24:16 +0000 Subject: Change in libosmocore[master]: tests/coding: Test decoding of DL EGPRS data packet 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/+/17750 to look at the new patch set (#2). Change subject: tests/coding: Test decoding of DL EGPRS data packet ...................................................................... tests/coding: Test decoding of DL EGPRS data packet Change-Id: Ide23a484b980995f24092d1cfbf062aed58fdf61 --- M tests/coding/coding_test.c M tests/coding/coding_test.ok 2 files changed, 106 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/50/17750/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17750 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ide23a484b980995f24092d1cfbf062aed58fdf61 Gerrit-Change-Number: 17750 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 Thu Apr 9 14:24:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 9 Apr 2020 14:24:17 +0000 Subject: Change in libosmocore[master]: tests/coding_test: Fix test_pdtch() results References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17763 ) Change subject: tests/coding_test: Fix test_pdtch() results ...................................................................... tests/coding_test: Fix test_pdtch() results When switching the l2 structures passes to test_pdtch() to be constant, it was noted that output of the test changes. This happens because same array is tested several times with different length, incrementing each time. Since the test was modifying the input array directly, it means each new run of test_pdtch() the array was further modified. Upon constifying the structures, we copy the array and hence only modify the required bits each time. Change-Id: Iffd0ca3669eb8d0d2e80d754fc8acbf72f1bebe8 --- M tests/coding/coding_test.c M tests/coding/coding_test.ok 2 files changed, 30 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/63/17763/1 diff --git a/tests/coding/coding_test.c b/tests/coding/coding_test.c index 417c594..bdfe300 100644 --- a/tests/coding/coding_test.c +++ b/tests/coding/coding_test.c @@ -323,7 +323,7 @@ uint8_t l2[54]; }; -static struct test_macblock test_macblock[] = { +static const struct test_macblock test_macblock[] = { /* Random frame */ { false, GSM0503_GPRS_BURSTS_NBITS, @@ -385,33 +385,34 @@ }, }; -static void test_pdtch(struct test_macblock *tmb, int len) +static void test_pdtch(const struct test_macblock *tmb, int len) { - uint8_t result[len]; + uint8_t l2[len], result[len]; ubit_t bursts_u[116 * 4]; sbit_t bursts_s[116 * 4]; int n_errors, n_bits_total; int rc; /* Zero the not coded tail bits */ + memcpy(l2, tmb->l2, len); switch (len) { case 34: case 54: - tmb->l2[len - 1] &= 0x7f; + l2[len - 1] &= 0x7f; result[len - 1] &= 0x7f; break; case 40: - tmb->l2[len - 1] &= 0x07; + l2[len - 1] &= 0x07; result[len - 1] &= 0x07; break; } /* Encode L2 message */ - printf("Encoding: %s\n", osmo_hexdump(tmb->l2, len)); + printf("Encoding: %s\n", osmo_hexdump(l2, len)); if (tmb->is_egprs) - rc = gsm0503_pdtch_egprs_encode(bursts_u, tmb->l2, len); + rc = gsm0503_pdtch_egprs_encode(bursts_u, l2, len); else - rc = gsm0503_pdtch_encode(bursts_u, tmb->l2, len); + rc = gsm0503_pdtch_encode(bursts_u, l2, len); CHECK_RC_OR_RET(rc == (int)tmb->exp_burst_bits, "encoding"); /* Prepare soft-bits */ @@ -435,7 +436,7 @@ printf("pdtch_decode: n_errors=%d n_bits_total=%d ber=%.2f\n", n_errors, n_bits_total, (float)n_errors/n_bits_total); - OSMO_ASSERT(!memcmp(tmb->l2, result, len)); + OSMO_ASSERT(!memcmp(l2, result, len)); printf("\n"); } diff --git a/tests/coding/coding_test.ok b/tests/coding/coding_test.ok index 91083e4..cb562e9 100644 --- a/tests/coding/coding_test.ok +++ b/tests/coding/coding_test.ok @@ -272,32 +272,32 @@ Decoded: a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 59 a8 42 a3 af 5f c6 36 43 44 ab a3 2f pdtch_decode: n_errors=132 n_bits_total=588 ber=0.22 -Encoding: a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 59 a8 42 a3 af 5f c6 36 43 44 ab a3 2f 5f c6 36 43 44 03 +Encoding: a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 59 a8 42 a3 af 5f c6 36 43 44 ab a3 af 5f c6 36 43 44 03 U-Bits: -100010111000001100000000001101001000000000101100111011001 00 00 101110010011001000110010000011100101000011110001101100001 -001011110100100101010101111111110011111011111110001101001 01 00 011010010110101000111110001100110011101101111000100101110 -110001101010001000010101011111101011000111010110110011110 00 00 101001101100011001101100110110000101000001000001011000110 -011100001010000100100101001000110110100111000000101110000 00 01 111100110000011001001100110100111101011010011110100010011 +100010111000001100000000001101001000000000101100111011001 00 00 101110011011001000110000000011100101000011110001101100001 +001011110100100101010101111111110011111011111110011101001 01 00 011010110110101000110110001100110011101101111000100101100 +110001100000001000010101011111101011000111010111110011110 00 00 100001101100011001101100110110000101000001000001011001110 +011100001010000100100101001000100110100111010000101110000 00 01 111100110000011001001101110100111101001010011110100110011 S-Bits: -81 7f 7f 7f 81 7f 81 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 7f 81 81 7f 7f 81 81 81 7f 81 81 7f 7f 81 7f 7f 81 7f 81 81 81 7f 7f 81 7f 7f 81 81 7f 7f 81 7f 7f 7f 81 81 7f 7f 81 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 81 7f 7f 7f 7f 81 81 81 81 7f 7f 7f 81 81 7f 81 81 7f 7f 7f 7f 81 -7f 7f 81 7f 81 81 81 81 7f 81 7f 7f 81 7f 7f 81 7f 81 7f 81 7f 81 7f 81 81 81 81 81 81 81 81 81 7f 7f 81 81 81 81 81 7f 81 81 81 81 81 81 81 7f 7f 7f 81 81 7f 81 7f 7f 81 81 7f 7f 81 81 7f 81 7f 7f 81 7f 81 81 7f 81 7f 81 7f 7f 7f 81 81 81 81 81 7f 7f 7f 81 81 7f 7f 81 81 7f 7f 81 81 81 7f 81 81 7f 81 81 81 81 7f 7f 7f 81 7f 7f 81 7f 81 81 81 7f -81 81 7f 7f 7f 81 81 7f 81 7f 81 7f 7f 7f 81 7f 7f 7f 7f 81 7f 81 7f 81 7f 81 81 81 81 81 81 7f 81 7f 81 81 7f 7f 7f 81 81 81 7f 81 7f 81 81 7f 81 81 7f 7f 81 81 81 81 7f 7f 7f 81 7f 81 7f 7f 81 81 7f 81 81 7f 7f 7f 81 81 7f 7f 81 81 7f 81 81 7f 7f 81 81 7f 81 81 7f 7f 7f 7f 81 7f 81 7f 7f 7f 7f 7f 81 7f 7f 7f 7f 7f 81 7f 81 81 7f 7f 7f 81 81 7f -7f 81 81 81 7f 7f 7f 7f 81 7f 81 7f 7f 7f 7f 81 7f 7f 81 7f 7f 81 7f 81 7f 7f 81 7f 7f 7f 81 81 7f 81 81 7f 81 7f 7f 81 81 81 7f 7f 7f 7f 7f 7f 81 7f 81 81 81 7f 7f 7f 7f 7f 81 81 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 81 7f 7f 81 81 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 81 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 81 7f 7f 7f 81 7f 7f 81 81 -Decoded: a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 59 a8 42 a3 af 5f c6 36 43 44 ab a3 2f 5f c6 36 43 44 03 +81 7f 7f 7f 81 7f 81 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 7f 81 81 7f 7f 81 81 81 7f 81 81 7f 7f 81 7f 7f 81 7f 81 81 81 7f 7f 81 81 7f 81 81 7f 7f 81 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 81 7f 7f 7f 7f 81 81 81 81 7f 7f 7f 81 81 7f 81 81 7f 7f 7f 7f 81 +7f 7f 81 7f 81 81 81 81 7f 81 7f 7f 81 7f 7f 81 7f 81 7f 81 7f 81 7f 81 81 81 81 81 81 81 81 81 7f 7f 81 81 81 81 81 7f 81 81 81 81 81 81 81 7f 7f 81 81 81 7f 81 7f 7f 81 81 7f 7f 81 81 7f 81 7f 81 81 7f 81 81 7f 81 7f 81 7f 7f 7f 81 81 7f 81 81 7f 7f 7f 81 81 7f 7f 81 81 7f 7f 81 81 81 7f 81 81 7f 81 81 81 81 7f 7f 7f 81 7f 7f 81 7f 81 81 7f 7f +81 81 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 81 7f 7f 7f 7f 81 7f 81 7f 81 7f 81 81 81 81 81 81 7f 81 7f 81 81 7f 7f 7f 81 81 81 7f 81 7f 81 81 81 81 81 7f 7f 81 81 81 81 7f 7f 7f 81 7f 7f 7f 7f 81 81 7f 81 81 7f 7f 7f 81 81 7f 7f 81 81 7f 81 81 7f 7f 81 81 7f 81 81 7f 7f 7f 7f 81 7f 81 7f 7f 7f 7f 7f 81 7f 7f 7f 7f 7f 81 7f 81 81 7f 7f 81 81 81 7f +7f 81 81 81 7f 7f 7f 7f 81 7f 81 7f 7f 7f 7f 81 7f 7f 81 7f 7f 81 7f 81 7f 7f 81 7f 7f 7f 81 7f 7f 81 81 7f 81 7f 7f 81 81 81 7f 81 7f 7f 7f 7f 81 7f 81 81 81 7f 7f 7f 7f 7f 81 81 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 81 7f 7f 81 81 7f 81 81 81 7f 81 7f 7f 81 81 81 81 7f 81 7f 7f 81 7f 81 7f 7f 81 81 81 81 7f 81 7f 7f 81 81 7f 7f 81 81 +Decoded: a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 59 a8 42 a3 af 5f c6 36 43 44 ab a3 af 5f c6 36 43 44 03 pdtch_decode: n_errors=220 n_bits_total=676 ber=0.33 -Encoding: a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 59 a8 42 a3 af 5f c6 36 43 44 ab a3 2f 5f c6 36 43 44 03 d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 28 +Encoding: a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 59 a8 42 a3 af 5f c6 36 43 44 ab a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 28 U-Bits: -100010100101111101110101011001010100000101001001011011000 00 00 001000000000001100000110001011010111110101110101001100010 -010101000000101010101011110000010101000100000011010001101 00 01 010111110101110101010111011111100111010011010000111110111 -010111100101110011111100101110001010100110000010100000100 00 01 010111101110101111110011110101111101110100011000101111111 -011110100110000011110100111111101111111111111010101110000 01 00 001010101010101010101010111010110110000000100000101001011 +100010100101111101110101011001010100000101001001011011000 00 00 001010001000001100000111001011010111110101110101001101010 +010101000000001010101011110000010101000100000011010001101 00 01 010111010101110101010111011111100111010011010000111110111 +010111100101110011111100101111001010100110000011100000100 00 01 010111101110101111110011110101111101110100011000101111111 +011110100110000010110100111111111111111111111010101110000 01 00 001010101010101010101011111010110110010000100000101001011 S-Bits: -81 7f 7f 7f 81 7f 81 7f 7f 81 7f 81 81 81 81 81 7f 81 81 81 7f 81 7f 81 7f 81 81 7f 7f 81 7f 81 7f 81 7f 7f 7f 7f 7f 81 7f 81 7f 7f 81 7f 7f 81 7f 81 81 7f 81 81 7f 7f 7f 7f 7f 7f 7f 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 81 7f 81 81 7f 81 7f 81 81 81 81 81 7f 81 7f 81 81 81 7f 81 7f 81 7f 7f 81 81 7f 7f 7f 81 7f -7f 81 7f 81 7f 81 7f 7f 7f 7f 7f 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 81 81 81 7f 7f 7f 7f 7f 81 7f 81 7f 81 7f 7f 7f 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 81 81 7f 81 7f 81 7f 81 7f 81 81 81 81 81 7f 81 7f 81 81 81 7f 81 7f 81 7f 81 7f 81 81 81 7f 81 81 81 81 81 81 7f 7f 81 81 81 7f 81 7f 7f 81 81 7f 81 7f 7f 7f 7f 81 81 81 81 81 7f 81 81 81 -7f 81 7f 81 81 81 81 7f 7f 81 7f 81 81 81 7f 7f 81 81 81 81 81 81 7f 7f 81 7f 81 81 81 7f 7f 7f 81 7f 81 7f 81 7f 7f 81 81 7f 7f 7f 7f 7f 81 7f 81 7f 7f 7f 7f 7f 81 7f 7f 7f 81 7f 81 7f 81 81 81 81 7f 81 81 81 7f 81 7f 81 81 81 81 81 81 7f 7f 81 81 81 81 7f 81 7f 81 81 81 81 81 7f 81 81 81 7f 81 7f 7f 7f 81 81 7f 7f 7f 81 7f 81 81 81 81 81 81 81 -7f 81 81 81 81 7f 81 7f 7f 81 81 7f 7f 7f 7f 7f 81 81 81 81 7f 81 7f 7f 81 81 81 81 81 81 81 7f 81 81 81 81 81 81 81 81 81 81 81 81 81 7f 81 7f 81 7f 81 81 81 7f 7f 7f 7f 81 7f 7f 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 81 81 7f 81 7f 81 81 7f 81 81 7f 7f 7f 7f 7f 7f 7f 81 7f 7f 7f 7f 7f 81 7f 81 7f 7f 81 7f 81 81 -Decoded: a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 59 a8 42 a3 af 5f c6 36 43 44 ab a3 2f 5f c6 36 43 44 03 d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 28 +81 7f 7f 7f 81 7f 81 7f 7f 81 7f 81 81 81 81 81 7f 81 81 81 7f 81 7f 81 7f 81 81 7f 7f 81 7f 81 7f 81 7f 7f 7f 7f 7f 81 7f 81 7f 7f 81 7f 7f 81 7f 81 81 7f 81 81 7f 7f 7f 7f 7f 7f 7f 81 7f 81 7f 7f 7f 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 81 81 7f 81 7f 81 81 81 81 81 7f 81 7f 81 81 81 7f 81 7f 81 7f 7f 81 81 7f 81 7f 81 7f +7f 81 7f 81 7f 81 7f 7f 7f 7f 7f 7f 7f 7f 81 7f 81 7f 81 7f 81 7f 81 81 81 81 7f 7f 7f 7f 7f 81 7f 81 7f 81 7f 7f 7f 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 81 81 7f 81 7f 81 7f 81 7f 81 81 81 7f 81 7f 81 7f 81 81 81 7f 81 7f 81 7f 81 7f 81 81 81 7f 81 81 81 81 81 81 7f 7f 81 81 81 7f 81 7f 7f 81 81 7f 81 7f 7f 7f 7f 81 81 81 81 81 7f 81 81 81 +7f 81 7f 81 81 81 81 7f 7f 81 7f 81 81 81 7f 7f 81 81 81 81 81 81 7f 7f 81 7f 81 81 81 81 7f 7f 81 7f 81 7f 81 7f 7f 81 81 7f 7f 7f 7f 7f 81 81 81 7f 7f 7f 7f 7f 81 7f 7f 7f 81 7f 81 7f 81 81 81 81 7f 81 81 81 7f 81 7f 81 81 81 81 81 81 7f 7f 81 81 81 81 7f 81 7f 81 81 81 81 81 7f 81 81 81 7f 81 7f 7f 7f 81 81 7f 7f 7f 81 7f 81 81 81 81 81 81 81 +7f 81 81 81 81 7f 81 7f 7f 81 81 7f 7f 7f 7f 7f 81 7f 81 81 7f 81 7f 7f 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 7f 81 7f 81 7f 81 81 81 7f 7f 7f 7f 81 7f 7f 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 81 81 81 81 7f 81 7f 81 81 7f 81 81 7f 7f 81 7f 7f 7f 7f 81 7f 7f 7f 7f 7f 81 7f 81 7f 7f 81 7f 81 81 +Decoded: a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 59 a8 42 a3 af 5f c6 36 43 44 ab a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 28 pdtch_decode: n_errors=0 n_bits_total=444 ber=0.00 Encoding: 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17763 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iffd0ca3669eb8d0d2e80d754fc8acbf72f1bebe8 Gerrit-Change-Number: 17763 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 Apr 9 15:56:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 9 Apr 2020 15:56:28 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Pass array of in64_addr to in46a_from_eua() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17764 ) Change subject: sgsnemu: Pass array of in64_addr to in46a_from_eua() ...................................................................... sgsnemu: Pass array of in64_addr to in46a_from_eua() Let's avoid buffer-overflow writing into out-of-bounds memory in the event the GGSN sends us 2 EUAs in Create PDP Context Respose. It should theoretically happen since we don't yet support ipv4v6 APNs in sgsnemu, but who knows. Change-Id: I8becd90ce1f0e8bb6e21438c04da4a9cab845492 --- M sgsnemu/sgsnemu.c 1 file changed, 34 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/64/17764/1 diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 01bdf9b..679f3c2 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -1409,8 +1409,8 @@ static int create_pdp_conf(struct pdp_t *pdp, void *cbp, int cause) { - int rc; - struct in46_addr addr; + int rc, i, num_addr; + struct in46_addr addr[2]; #if defined(__linux__) sigset_t oldmask; #endif @@ -1442,7 +1442,7 @@ return EOF; /* Not what we expected */ } - if (in46a_from_eua(&pdp->eua, &addr) < 1) { + if ((num_addr = in46a_from_eua(&pdp->eua, addr)) < 1) { printf ("Received create PDP context response. Cause value: %d\n", cause); @@ -1452,20 +1452,7 @@ return EOF; /* Not a valid IP address */ } - printf("Received create PDP context response. IP address: %s\n", - in46a_ntoa(&addr)); - - switch (addr.len) { - case 16: /* IPv6 */ - /* we have to enable the kernel to perform stateless autoconfiguration, - * i.e. send a router solicitation using the lover 64bits of the allocated - * EUA as interface identifier, as per 3GPP TS 29.061 Section 11.2.1.3.2 */ - memcpy(addr.v6.s6_addr, ll_prefix, sizeof(ll_prefix)); - printf("Derived IPv6 link-local address: %s\n", in46a_ntoa(&addr)); - break; - case 4: /* IPv4 */ - break; - } + printf("Received create PDP context response.\n"); #if defined(__linux__) if ((options.createif) && (options.netns)) { @@ -1477,19 +1464,37 @@ } #endif - if ((options.createif) && (!options.net.len)) { - size_t prefixlen = 32; - if (addr.len == 16) - prefixlen = 64; - /* printf("Setting up interface and routing\n"); */ - tun_addaddr(tun, &addr, &addr, prefixlen); - if (options.defaultroute) { - struct in_addr rm; - rm.s_addr = 0; - netdev_addroute(&rm, &addr.v4, &rm); + for (i = 0; i < num_addr; i++) { + printf("PDP ctx: received EUA with IP address: %s\n", in46a_ntoa(&addr[i])); + + switch (addr[i].len) { + case 16: /* IPv6 */ + /* we have to enable the kernel to perform stateless autoconfiguration, + * i.e. send a router solicitation using the lover 64bits of the allocated + * EUA as interface identifier, as per 3GPP TS 29.061 Section 11.2.1.3.2 */ + memcpy(addr[i].v6.s6_addr, ll_prefix, sizeof(ll_prefix)); + printf("Derived IPv6 link-local address: %s\n", in46a_ntoa(&addr[i])); + break; + case 4: /* IPv4 */ + break; } - if (options.ipup) - tun_runscript(tun, options.ipup); + + if ((options.createif) && (!options.net.len)) { + size_t prefixlen = 32; + if (addr[i].len == 16) + prefixlen = 64; + /* printf("Setting up interface and routing\n"); */ + tun_addaddr(tun, &addr[i], &addr[i], prefixlen); + if (options.defaultroute) { + struct in_addr rm; + rm.s_addr = 0; + netdev_addroute(&rm, &addr[i].v4, &rm); + } + if (options.ipup) + tun_runscript(tun, options.ipup); + } + + ipset(iph, &addr[i]); } /* now that ip-up has been executed, check if we are configured to @@ -1526,7 +1531,6 @@ } #endif - ipset(iph, &addr); state = 2; /* Connected */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I8becd90ce1f0e8bb6e21438c04da4a9cab845492 Gerrit-Change-Number: 17764 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 Apr 9 16:02:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 9 Apr 2020 16:02:00 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Rename sgsnemu's libgtp cb_conf References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17765 ) Change subject: sgsnemu: Rename sgsnemu's libgtp cb_conf ...................................................................... sgsnemu: Rename sgsnemu's libgtp cb_conf It makes it easier to understand where the function is called. Change-Id: Ibf32b416c3247d1415aa9c1a88755076dcd606f4 --- M sgsnemu/sgsnemu.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/65/17765/1 diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 679f3c2..a51145a 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -1568,7 +1568,7 @@ return 0; } -static int conf(int type, int cause, struct pdp_t *pdp, void *cbp) +static int _gtp_cb_conf(int type, int cause, struct pdp_t *pdp, void *cbp) { /* if (cause < 0) return 0; Some error occurred. We don't care */ switch (type) { @@ -1642,7 +1642,7 @@ maxfd = gsn->fd1u; gtp_set_cb_delete_context(gsn, delete_context); - gtp_set_cb_conf(gsn, conf); + gtp_set_cb_conf(gsn, _gtp_cb_conf); if (options.createif) gtp_set_cb_data_ind(gsn, encaps_tun); else -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17765 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ibf32b416c3247d1415aa9c1a88755076dcd606f4 Gerrit-Change-Number: 17765 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 Apr 9 16:14:58 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 9 Apr 2020 16:14:58 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: Change default for clock_advance to 3 References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17766 ) Change subject: osmo-bts-trx: Change default for clock_advance to 3 ...................................................................... osmo-bts-trx: Change default for clock_advance to 3 osmotrx fn-advance (which is the clock_advance variable here) and osmotrx rtx-advance together make up the minimum delay the BTS can react to a channel request, etc. The default of 25 are around 115ms which is clearly too much. With modern hardware and using SCHED_RR a lower value should not be an issue. Fixes: OS#4487 Fixes: SYS#4885 Change-Id: I7da3d0948f38e12342fb714b29f8edc5e9d0933d Related: SYS#4881 --- M src/osmo-bts-trx/main.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/66/17766/1 diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index ab0472e..7e71236 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -134,7 +134,7 @@ plink->u.osmotrx.remote_ip = talloc_strdup(plink, "127.0.0.1"); plink->u.osmotrx.base_port_local = 5800; plink->u.osmotrx.base_port_remote = 5700; - plink->u.osmotrx.clock_advance = 20; + plink->u.osmotrx.clock_advance = 3; plink->u.osmotrx.rts_advance = 5; /* attempt use newest TRXD version by default: */ plink->u.osmotrx.trxd_hdr_ver_max = TRX_DATA_FORMAT_VER; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7da3d0948f38e12342fb714b29f8edc5e9d0933d Gerrit-Change-Number: 17766 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 Thu Apr 9 16:16:44 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 9 Apr 2020 16:16:44 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: Change default for clock_advance to 3 In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17766 ) Change subject: osmo-bts-trx: Change default for clock_advance to 3 ...................................................................... Patch Set 1: Code-Review-1 I also used the SC5 on my laptop (X220) successfully with osmotrx fn-advance 2 osmotrx rts-advance 3 Maybe some of you could try with osmo-trx-uhd/lms and report whether you have any issues. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7da3d0948f38e12342fb714b29f8edc5e9d0933d Gerrit-Change-Number: 17766 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 09 Apr 2020 16:16: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 Apr 9 18:35:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 9 Apr 2020 18:35:10 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Set its default loglevel category to INFO References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17767 ) Change subject: sgsnemu: Set its default loglevel category to INFO ...................................................................... sgsnemu: Set its default loglevel category to INFO sgsnemu is a testing program and doesn't have a VTY iface to configure its log levels, so let's simply enable INFO as a default. Change-Id: I2a577f547b57fb0ab7b83de5c12da088697f3904 --- M lib/debug.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/67/17767/1 diff --git a/lib/debug.c b/lib/debug.c index 83423dc..cb918b1 100644 --- a/lib/debug.c +++ b/lib/debug.c @@ -24,7 +24,7 @@ [DSGSN] = { .name = "DSGSN", .description = "SGSN Emulator", - .enabled = 1, .loglevel = LOGL_NOTICE, + .enabled = 1, .loglevel = LOGL_INFO, }, [DICMP6] = { .name = "DICMP6", -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17767 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2a577f547b57fb0ab7b83de5c12da088697f3904 Gerrit-Change-Number: 17767 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 Apr 9 18:35:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 9 Apr 2020 18:35:10 +0000 Subject: Change in osmo-ggsn[master]: Move icmpv6 and checksum files from ggsn/ dir to lib/ References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17768 ) Change subject: Move icmpv6 and checksum files from ggsn/ dir to lib/ ...................................................................... Move icmpv6 and checksum files from ggsn/ dir to lib/ They will be required by sgsnemu to implement ICMPv6 Router Soliciations. Change-Id: Ie878604f0fc0169cc98a1e9eee64b14d76be2c45 --- M ggsn/Makefile.am M ggsn/ggsn.c M lib/Makefile.am R lib/checksum.c R lib/checksum.h R lib/icmpv6.c R lib/icmpv6.h 7 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/68/17768/1 diff --git a/ggsn/Makefile.am b/ggsn/Makefile.am index ca389f0..eea7c6e 100644 --- a/ggsn/Makefile.am +++ b/ggsn/Makefile.am @@ -12,4 +12,4 @@ endif osmo_ggsn_DEPENDENCIES = ../gtp/libgtp.la ../lib/libmisc.a -osmo_ggsn_SOURCES = ggsn_main.c ggsn_vty.c ggsn.c ggsn.h sgsn.c sgsn.h icmpv6.c icmpv6.h checksum.c checksum.h pco.c pco.h +osmo_ggsn_SOURCES = ggsn_main.c ggsn_vty.c ggsn.c ggsn.h sgsn.c sgsn.h pco.c pco.h diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c index c710984..3b10f70 100644 --- a/ggsn/ggsn.c +++ b/ggsn/ggsn.c @@ -54,7 +54,7 @@ #include "../lib/util.h" #include "../gtp/pdp.h" #include "../gtp/gtp.h" -#include "icmpv6.h" +#include "../lib/icmpv6.h" #include "pco.h" #include "ggsn.h" diff --git a/lib/Makefile.am b/lib/Makefile.am index f2c5dc9..5bd9443 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -1,10 +1,10 @@ noinst_LIBRARIES = libmisc.a -noinst_HEADERS = gnugetopt.h ippool.h lookup.h syserr.h tun.h in46_addr.h netdev.h gtp-kernel.h netns.h util.h +noinst_HEADERS = gnugetopt.h ippool.h lookup.h syserr.h tun.h in46_addr.h netdev.h gtp-kernel.h netns.h util.h icmpv6.h checksum.h AM_CFLAGS = -O2 -fno-builtin -Wall -DSBINDIR='"$(sbindir)"' -ggdb $(LIBOSMOCORE_CFLAGS) -libmisc_a_SOURCES = getopt1.c getopt.c ippool.c lookup.c tun.c debug.c in46_addr.c netdev.c netns.c util.c +libmisc_a_SOURCES = getopt1.c getopt.c ippool.c lookup.c tun.c debug.c in46_addr.c netdev.c netns.c util.c icmpv6.c checksum.c if ENABLE_GTP_KERNEL AM_CFLAGS += -DGTP_KERNEL $(LIBGTPNL_CFLAGS) diff --git a/ggsn/checksum.c b/lib/checksum.c similarity index 100% rename from ggsn/checksum.c rename to lib/checksum.c diff --git a/ggsn/checksum.h b/lib/checksum.h similarity index 100% rename from ggsn/checksum.h rename to lib/checksum.h diff --git a/ggsn/icmpv6.c b/lib/icmpv6.c similarity index 98% rename from ggsn/icmpv6.c rename to lib/icmpv6.c index 12119b8..a6545fd 100644 --- a/ggsn/icmpv6.c +++ b/lib/icmpv6.c @@ -25,8 +25,8 @@ #include "../gtp/gtp.h" #include "../gtp/pdp.h" -#include "../lib/ippool.h" -#include "../lib/syserr.h" +#include "ippool.h" +#include "syserr.h" #include "config.h" /* 29.061 11.2.1.3.4 IPv6 Router Configuration Variables in GGSN */ diff --git a/ggsn/icmpv6.h b/lib/icmpv6.h similarity index 100% rename from ggsn/icmpv6.h rename to lib/icmpv6.h -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17768 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ie878604f0fc0169cc98a1e9eee64b14d76be2c45 Gerrit-Change-Number: 17768 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 Apr 10 00:25:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 00:25:30 +0000 Subject: Change in osmo-gsm-tester[master]: pcu_{sysmo, oc2g}: Inherit from pcu abstract class References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17769 ) Change subject: pcu_{sysmo,oc2g}: Inherit from pcu abstract class ...................................................................... pcu_{sysmo,oc2g}: Inherit from pcu abstract class For some reason these classes were still not inheriting from the base class (probably because it was added after they existed) and they started failing after recent changes which presumed they where already inheriting. Change-Id: I88217baf490ec45373d0743585377ed2639a8cfd --- M src/osmo_gsm_tester/pcu_oc2g.py M src/osmo_gsm_tester/pcu_sysmo.py 2 files changed, 19 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/69/17769/1 diff --git a/src/osmo_gsm_tester/pcu_oc2g.py b/src/osmo_gsm_tester/pcu_oc2g.py index 36aef60..67c49b3 100644 --- a/src/osmo_gsm_tester/pcu_oc2g.py +++ b/src/osmo_gsm_tester/pcu_oc2g.py @@ -19,25 +19,21 @@ import os import pprint -from . import log, config, util, template, process +from . import log, config, util, template, process, pcu -class OsmoPcuOC2G(log.Origin): +class OsmoPcuOC2G(pcu.Pcu): REMOTE_DIR = '/osmo-gsm-tester-pcu' PCU_OC2G_BIN = 'osmo-pcu' PCU_OC2G_CFG = 'osmo-pcu-oc2g.cfg' def __init__(self, suite_run, btsoc2g, conf): - super().__init__(log.C_RUN, self.PCU_OC2G_BIN) + super().__init__(suite_run, btsoc2g, conf, self.PCU_OC2G_BIN) self.run_dir = None self.bsc = None self.inst = None self.remote_inst = None self.remote_dir = None - self.btsoc2g = None - self.suite_run = suite_run - self.btsoc2g = btsoc2g - self.conf = conf self.remote_env = {} self.remote_user = 'root' @@ -58,26 +54,26 @@ self.run_remote('rm-remote-dir', ('test', '!', '-d', OsmoPcuOC2G.REMOTE_DIR, '||', 'rm', '-rf', OsmoPcuOC2G.REMOTE_DIR)) self.run_remote('mk-remote-dir', ('mkdir', '-p', OsmoPcuOC2G.REMOTE_DIR)) self.run_local('scp-inst-to-btsoc2g', - ('scp', '-r', str(self.inst), '%s@%s:%s' % (self.remote_user, self.btsoc2g.remote_addr(), str(self.remote_inst)))) + ('scp', '-r', str(self.inst), '%s@%s:%s' % (self.remote_user, self.bts.remote_addr(), str(self.remote_inst)))) remote_run_dir = self.remote_dir.child(OsmoPcuOC2G.PCU_OC2G_BIN) self.run_remote('mk-remote-run-dir', ('mkdir', '-p', remote_run_dir)) remote_config_file = self.remote_dir.child(OsmoPcuOC2G.PCU_OC2G_CFG) self.run_local('scp-cfg-to-btsoc2g', - ('scp', '-r', self.config_file, '%s@%s:%s' % (self.remote_user, self.btsoc2g.remote_addr(), remote_config_file))) + ('scp', '-r', self.config_file, '%s@%s:%s' % (self.remote_user, self.bts.remote_addr(), remote_config_file))) remote_lib = self.remote_inst.child('lib') remote_binary = self.remote_inst.child('bin', OsmoPcuOC2G.PCU_OC2G_BIN) self.launch_remote(OsmoPcuOC2G.PCU_OC2G_BIN, ('LD_LIBRARY_PATH=%s' % remote_lib, remote_binary, '-c', remote_config_file, '-r', '1', - '-i', self.btsoc2g.bsc.addr()), + '-i', self.bts.bsc.addr()), remote_cwd=remote_run_dir, keepalive=keepalive) def _process_remote(self, name, popen_args, remote_cwd=None): run_dir = self.run_dir.new_dir(name) - return process.RemoteProcess(name, run_dir, self.remote_user, self.btsoc2g.remote_addr(), remote_cwd, + return process.RemoteProcess(name, run_dir, self.remote_user, self.bts.remote_addr(), remote_cwd, popen_args) def run_remote(self, name, popen_args, remote_cwd=None): @@ -110,8 +106,8 @@ config.overlay(values, self.suite_run.config()) config.overlay(values, { 'osmo_pcu_oc2g': { - 'bts_addr': self.btsoc2g.remote_addr(), - 'pcu_socket_path': self.btsoc2g.pcu_socket_path(), + 'bts_addr': self.bts.remote_addr(), + 'pcu_socket_path': self.bts.pcu_socket_path(), 'egprs_enabled': self.egprs_enabled(), } }) diff --git a/src/osmo_gsm_tester/pcu_sysmo.py b/src/osmo_gsm_tester/pcu_sysmo.py index 8998622..55d6f53 100644 --- a/src/osmo_gsm_tester/pcu_sysmo.py +++ b/src/osmo_gsm_tester/pcu_sysmo.py @@ -19,25 +19,21 @@ import os import pprint -from . import log, config, util, template, process +from . import log, config, util, template, process, pcu -class OsmoPcuSysmo(log.Origin): +class OsmoPcuSysmo(pcu.Pcu): REMOTE_DIR = '/osmo-gsm-tester-pcu' PCU_SYSMO_BIN = 'osmo-pcu' PCU_SYSMO_CFG = 'osmo-pcu-sysmo.cfg' def __init__(self, suite_run, sysmobts, conf): - super().__init__(log.C_RUN, self.PCU_SYSMO_BIN) + super().__init__(suite_run, sysmobts, conf, self.PCU_SYSMO_BIN) self.run_dir = None self.bsc = None self.inst = None self.remote_inst = None self.remote_dir = None - self.sysmobts = None - self.suite_run = suite_run - self.sysmobts = sysmobts - self.conf = conf self.remote_env = {} self.remote_user = 'root' @@ -57,27 +53,27 @@ self.run_remote('rm-remote-dir', ('test', '!', '-d', OsmoPcuSysmo.REMOTE_DIR, '||', 'rm', '-rf', OsmoPcuSysmo.REMOTE_DIR)) self.run_remote('mk-remote-dir', ('mkdir', '-p', OsmoPcuSysmo.REMOTE_DIR)) - self.run_local('scp-inst-to-sysmobts', - ('scp', '-r', str(self.inst), '%s@%s:%s' % (self.remote_user, self.sysmobts.remote_addr(), str(self.remote_inst)))) + self.run_local('scp-inst-to-bts', + ('scp', '-r', str(self.inst), '%s@%s:%s' % (self.remote_user, self.bts.remote_addr(), str(self.remote_inst)))) remote_run_dir = self.remote_dir.child(OsmoPcuSysmo.PCU_SYSMO_BIN) self.run_remote('mk-remote-run-dir', ('mkdir', '-p', remote_run_dir)) remote_config_file = self.remote_dir.child(OsmoPcuSysmo.PCU_SYSMO_CFG) self.run_local('scp-cfg-to-sysmobts', - ('scp', '-r', self.config_file, '%s@%s:%s' % (self.remote_user, self.sysmobts.remote_addr(), remote_config_file))) + ('scp', '-r', self.config_file, '%s@%s:%s' % (self.remote_user, self.bts.remote_addr(), remote_config_file))) remote_lib = self.remote_inst.child('lib') remote_binary = self.remote_inst.child('bin', OsmoPcuSysmo.PCU_SYSMO_BIN) self.launch_remote(OsmoPcuSysmo.PCU_SYSMO_BIN, ('LD_LIBRARY_PATH=%s' % remote_lib, remote_binary, '-c', remote_config_file, '-r', '1', - '-i', self.sysmobts.bsc.addr()), + '-i', self.bts.bsc.addr()), remote_cwd=remote_run_dir, keepalive=keepalive) def _process_remote(self, name, popen_args, remote_cwd=None): run_dir = self.run_dir.new_dir(name) - return process.RemoteProcess(name, run_dir, self.remote_user, self.sysmobts.remote_addr(), remote_cwd, + return process.RemoteProcess(name, run_dir, self.remote_user, self.bts.remote_addr(), remote_cwd, popen_args) def run_remote(self, name, popen_args, remote_cwd=None): @@ -110,8 +106,8 @@ config.overlay(values, self.suite_run.config()) config.overlay(values, { 'osmo_pcu_sysmo': { - 'bts_addr': self.sysmobts.remote_addr(), - 'pcu_socket_path': self.sysmobts.pcu_socket_path(), + 'bts_addr': self.bts.remote_addr(), + 'pcu_socket_path': self.bts.pcu_socket_path(), 'egprs_enabled': self.egprs_enabled(), } }) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17769 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: I88217baf490ec45373d0743585377ed2639a8cfd Gerrit-Change-Number: 17769 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 Apr 10 00:25:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 00:25:31 +0000 Subject: Change in osmo-gsm-tester[master]: bts_oc2g: Fix missing import remote References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17770 ) Change subject: bts_oc2g: Fix missing import remote ...................................................................... bts_oc2g: Fix missing import remote Change-Id: I318683b8dc6215f5bf863cfb1581e2c3bfa05621 --- M src/osmo_gsm_tester/bts_oc2g.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/70/17770/1 diff --git a/src/osmo_gsm_tester/bts_oc2g.py b/src/osmo_gsm_tester/bts_oc2g.py index 7b46fc8..4292e32 100644 --- a/src/osmo_gsm_tester/bts_oc2g.py +++ b/src/osmo_gsm_tester/bts_oc2g.py @@ -19,7 +19,7 @@ import os import pprint -from . import log, config, util, template, process, pcu_oc2g, bts_osmo +from . import log, config, util, template, process, remote, pcu_oc2g, bts_osmo class OsmoBtsOC2G(bts_osmo.OsmoBts): ############## -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17770 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: I318683b8dc6215f5bf863cfb1581e2c3bfa05621 Gerrit-Change-Number: 17770 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 Apr 10 00:25:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 00:25:31 +0000 Subject: Change in osmo-gsm-tester[master]: bts_oc2g: Fix ready_for_pcu() waiting forever References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17771 ) Change subject: bts_oc2g: Fix ready_for_pcu() waiting forever ...................................................................... bts_oc2g: Fix ready_for_pcu() waiting forever Change-Id: Id33e527591164b87d1e14b7922247b726267ad6e --- M src/osmo_gsm_tester/bts_oc2g.py 1 file changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/71/17771/1 diff --git a/src/osmo_gsm_tester/bts_oc2g.py b/src/osmo_gsm_tester/bts_oc2g.py index 4292e32..d1f80b7 100644 --- a/src/osmo_gsm_tester/bts_oc2g.py +++ b/src/osmo_gsm_tester/bts_oc2g.py @@ -36,6 +36,7 @@ self.inst = None self.remote_inst = None self.remote_dir = None + self.proc_bts = None self.remote_user = 'root' def _direct_pcu_enabled(self): @@ -128,7 +129,7 @@ if self._direct_pcu_enabled(): args += ('-M',) - proc = rem_host.RemoteProcess(OsmoBtsOC2G.BTS_OC2G_BIN, args) - self.suite_run.remember_to_stop(proc, keepalive) - proc.launch() + self.proc_bts = rem_host.RemoteProcess(OsmoBtsOC2G.BTS_OC2G_BIN, args) + self.suite_run.remember_to_stop(self.proc_bts, keepalive) + self.proc_bts.launch() # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17771 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: Id33e527591164b87d1e14b7922247b726267ad6e Gerrit-Change-Number: 17771 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 Apr 10 00:52:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 00:52:54 +0000 Subject: Change in osmo-gsm-tester[master]: pcu_{sysmo, oc2g}: Inherit from pcu abstract class In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17769 ) Change subject: pcu_{sysmo,oc2g}: Inherit from pcu abstract class ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17769 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: I88217baf490ec45373d0743585377ed2639a8cfd Gerrit-Change-Number: 17769 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 10 Apr 2020 00:52: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 Apr 10 00:52:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 00:52:57 +0000 Subject: Change in osmo-gsm-tester[master]: bts_oc2g: Fix missing import remote In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17770 ) Change subject: bts_oc2g: Fix missing import remote ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17770 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: I318683b8dc6215f5bf863cfb1581e2c3bfa05621 Gerrit-Change-Number: 17770 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 10 Apr 2020 00: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 Fri Apr 10 00:53:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 00:53:00 +0000 Subject: Change in osmo-gsm-tester[master]: bts_oc2g: Fix ready_for_pcu() waiting forever In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17771 ) Change subject: bts_oc2g: Fix ready_for_pcu() waiting forever ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17771 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: Id33e527591164b87d1e14b7922247b726267ad6e Gerrit-Change-Number: 17771 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 10 Apr 2020 00: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 Fri Apr 10 00:53:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 00:53:03 +0000 Subject: Change in osmo-gsm-tester[master]: pcu_{sysmo, oc2g}: Inherit from pcu abstract class In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17769 ) Change subject: pcu_{sysmo,oc2g}: Inherit from pcu abstract class ...................................................................... pcu_{sysmo,oc2g}: Inherit from pcu abstract class For some reason these classes were still not inheriting from the base class (probably because it was added after they existed) and they started failing after recent changes which presumed they where already inheriting. Change-Id: I88217baf490ec45373d0743585377ed2639a8cfd --- M src/osmo_gsm_tester/pcu_oc2g.py M src/osmo_gsm_tester/pcu_sysmo.py 2 files changed, 19 insertions(+), 27 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/pcu_oc2g.py b/src/osmo_gsm_tester/pcu_oc2g.py index 36aef60..67c49b3 100644 --- a/src/osmo_gsm_tester/pcu_oc2g.py +++ b/src/osmo_gsm_tester/pcu_oc2g.py @@ -19,25 +19,21 @@ import os import pprint -from . import log, config, util, template, process +from . import log, config, util, template, process, pcu -class OsmoPcuOC2G(log.Origin): +class OsmoPcuOC2G(pcu.Pcu): REMOTE_DIR = '/osmo-gsm-tester-pcu' PCU_OC2G_BIN = 'osmo-pcu' PCU_OC2G_CFG = 'osmo-pcu-oc2g.cfg' def __init__(self, suite_run, btsoc2g, conf): - super().__init__(log.C_RUN, self.PCU_OC2G_BIN) + super().__init__(suite_run, btsoc2g, conf, self.PCU_OC2G_BIN) self.run_dir = None self.bsc = None self.inst = None self.remote_inst = None self.remote_dir = None - self.btsoc2g = None - self.suite_run = suite_run - self.btsoc2g = btsoc2g - self.conf = conf self.remote_env = {} self.remote_user = 'root' @@ -58,26 +54,26 @@ self.run_remote('rm-remote-dir', ('test', '!', '-d', OsmoPcuOC2G.REMOTE_DIR, '||', 'rm', '-rf', OsmoPcuOC2G.REMOTE_DIR)) self.run_remote('mk-remote-dir', ('mkdir', '-p', OsmoPcuOC2G.REMOTE_DIR)) self.run_local('scp-inst-to-btsoc2g', - ('scp', '-r', str(self.inst), '%s@%s:%s' % (self.remote_user, self.btsoc2g.remote_addr(), str(self.remote_inst)))) + ('scp', '-r', str(self.inst), '%s@%s:%s' % (self.remote_user, self.bts.remote_addr(), str(self.remote_inst)))) remote_run_dir = self.remote_dir.child(OsmoPcuOC2G.PCU_OC2G_BIN) self.run_remote('mk-remote-run-dir', ('mkdir', '-p', remote_run_dir)) remote_config_file = self.remote_dir.child(OsmoPcuOC2G.PCU_OC2G_CFG) self.run_local('scp-cfg-to-btsoc2g', - ('scp', '-r', self.config_file, '%s@%s:%s' % (self.remote_user, self.btsoc2g.remote_addr(), remote_config_file))) + ('scp', '-r', self.config_file, '%s@%s:%s' % (self.remote_user, self.bts.remote_addr(), remote_config_file))) remote_lib = self.remote_inst.child('lib') remote_binary = self.remote_inst.child('bin', OsmoPcuOC2G.PCU_OC2G_BIN) self.launch_remote(OsmoPcuOC2G.PCU_OC2G_BIN, ('LD_LIBRARY_PATH=%s' % remote_lib, remote_binary, '-c', remote_config_file, '-r', '1', - '-i', self.btsoc2g.bsc.addr()), + '-i', self.bts.bsc.addr()), remote_cwd=remote_run_dir, keepalive=keepalive) def _process_remote(self, name, popen_args, remote_cwd=None): run_dir = self.run_dir.new_dir(name) - return process.RemoteProcess(name, run_dir, self.remote_user, self.btsoc2g.remote_addr(), remote_cwd, + return process.RemoteProcess(name, run_dir, self.remote_user, self.bts.remote_addr(), remote_cwd, popen_args) def run_remote(self, name, popen_args, remote_cwd=None): @@ -110,8 +106,8 @@ config.overlay(values, self.suite_run.config()) config.overlay(values, { 'osmo_pcu_oc2g': { - 'bts_addr': self.btsoc2g.remote_addr(), - 'pcu_socket_path': self.btsoc2g.pcu_socket_path(), + 'bts_addr': self.bts.remote_addr(), + 'pcu_socket_path': self.bts.pcu_socket_path(), 'egprs_enabled': self.egprs_enabled(), } }) diff --git a/src/osmo_gsm_tester/pcu_sysmo.py b/src/osmo_gsm_tester/pcu_sysmo.py index 8998622..55d6f53 100644 --- a/src/osmo_gsm_tester/pcu_sysmo.py +++ b/src/osmo_gsm_tester/pcu_sysmo.py @@ -19,25 +19,21 @@ import os import pprint -from . import log, config, util, template, process +from . import log, config, util, template, process, pcu -class OsmoPcuSysmo(log.Origin): +class OsmoPcuSysmo(pcu.Pcu): REMOTE_DIR = '/osmo-gsm-tester-pcu' PCU_SYSMO_BIN = 'osmo-pcu' PCU_SYSMO_CFG = 'osmo-pcu-sysmo.cfg' def __init__(self, suite_run, sysmobts, conf): - super().__init__(log.C_RUN, self.PCU_SYSMO_BIN) + super().__init__(suite_run, sysmobts, conf, self.PCU_SYSMO_BIN) self.run_dir = None self.bsc = None self.inst = None self.remote_inst = None self.remote_dir = None - self.sysmobts = None - self.suite_run = suite_run - self.sysmobts = sysmobts - self.conf = conf self.remote_env = {} self.remote_user = 'root' @@ -57,27 +53,27 @@ self.run_remote('rm-remote-dir', ('test', '!', '-d', OsmoPcuSysmo.REMOTE_DIR, '||', 'rm', '-rf', OsmoPcuSysmo.REMOTE_DIR)) self.run_remote('mk-remote-dir', ('mkdir', '-p', OsmoPcuSysmo.REMOTE_DIR)) - self.run_local('scp-inst-to-sysmobts', - ('scp', '-r', str(self.inst), '%s@%s:%s' % (self.remote_user, self.sysmobts.remote_addr(), str(self.remote_inst)))) + self.run_local('scp-inst-to-bts', + ('scp', '-r', str(self.inst), '%s@%s:%s' % (self.remote_user, self.bts.remote_addr(), str(self.remote_inst)))) remote_run_dir = self.remote_dir.child(OsmoPcuSysmo.PCU_SYSMO_BIN) self.run_remote('mk-remote-run-dir', ('mkdir', '-p', remote_run_dir)) remote_config_file = self.remote_dir.child(OsmoPcuSysmo.PCU_SYSMO_CFG) self.run_local('scp-cfg-to-sysmobts', - ('scp', '-r', self.config_file, '%s@%s:%s' % (self.remote_user, self.sysmobts.remote_addr(), remote_config_file))) + ('scp', '-r', self.config_file, '%s@%s:%s' % (self.remote_user, self.bts.remote_addr(), remote_config_file))) remote_lib = self.remote_inst.child('lib') remote_binary = self.remote_inst.child('bin', OsmoPcuSysmo.PCU_SYSMO_BIN) self.launch_remote(OsmoPcuSysmo.PCU_SYSMO_BIN, ('LD_LIBRARY_PATH=%s' % remote_lib, remote_binary, '-c', remote_config_file, '-r', '1', - '-i', self.sysmobts.bsc.addr()), + '-i', self.bts.bsc.addr()), remote_cwd=remote_run_dir, keepalive=keepalive) def _process_remote(self, name, popen_args, remote_cwd=None): run_dir = self.run_dir.new_dir(name) - return process.RemoteProcess(name, run_dir, self.remote_user, self.sysmobts.remote_addr(), remote_cwd, + return process.RemoteProcess(name, run_dir, self.remote_user, self.bts.remote_addr(), remote_cwd, popen_args) def run_remote(self, name, popen_args, remote_cwd=None): @@ -110,8 +106,8 @@ config.overlay(values, self.suite_run.config()) config.overlay(values, { 'osmo_pcu_sysmo': { - 'bts_addr': self.sysmobts.remote_addr(), - 'pcu_socket_path': self.sysmobts.pcu_socket_path(), + 'bts_addr': self.bts.remote_addr(), + 'pcu_socket_path': self.bts.pcu_socket_path(), 'egprs_enabled': self.egprs_enabled(), } }) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17769 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: I88217baf490ec45373d0743585377ed2639a8cfd Gerrit-Change-Number: 17769 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Fri Apr 10 00:53:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 00:53:03 +0000 Subject: Change in osmo-gsm-tester[master]: bts_oc2g: Fix missing import remote In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17770 ) Change subject: bts_oc2g: Fix missing import remote ...................................................................... bts_oc2g: Fix missing import remote Change-Id: I318683b8dc6215f5bf863cfb1581e2c3bfa05621 --- M src/osmo_gsm_tester/bts_oc2g.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/bts_oc2g.py b/src/osmo_gsm_tester/bts_oc2g.py index 7b46fc8..4292e32 100644 --- a/src/osmo_gsm_tester/bts_oc2g.py +++ b/src/osmo_gsm_tester/bts_oc2g.py @@ -19,7 +19,7 @@ import os import pprint -from . import log, config, util, template, process, pcu_oc2g, bts_osmo +from . import log, config, util, template, process, remote, pcu_oc2g, bts_osmo class OsmoBtsOC2G(bts_osmo.OsmoBts): ############## -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17770 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: I318683b8dc6215f5bf863cfb1581e2c3bfa05621 Gerrit-Change-Number: 17770 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Fri Apr 10 00:53:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 00:53:04 +0000 Subject: Change in osmo-gsm-tester[master]: bts_oc2g: Fix ready_for_pcu() waiting forever In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17771 ) Change subject: bts_oc2g: Fix ready_for_pcu() waiting forever ...................................................................... bts_oc2g: Fix ready_for_pcu() waiting forever Change-Id: Id33e527591164b87d1e14b7922247b726267ad6e --- M src/osmo_gsm_tester/bts_oc2g.py 1 file changed, 4 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/bts_oc2g.py b/src/osmo_gsm_tester/bts_oc2g.py index 4292e32..d1f80b7 100644 --- a/src/osmo_gsm_tester/bts_oc2g.py +++ b/src/osmo_gsm_tester/bts_oc2g.py @@ -36,6 +36,7 @@ self.inst = None self.remote_inst = None self.remote_dir = None + self.proc_bts = None self.remote_user = 'root' def _direct_pcu_enabled(self): @@ -128,7 +129,7 @@ if self._direct_pcu_enabled(): args += ('-M',) - proc = rem_host.RemoteProcess(OsmoBtsOC2G.BTS_OC2G_BIN, args) - self.suite_run.remember_to_stop(proc, keepalive) - proc.launch() + self.proc_bts = rem_host.RemoteProcess(OsmoBtsOC2G.BTS_OC2G_BIN, args) + self.suite_run.remember_to_stop(self.proc_bts, keepalive) + self.proc_bts.launch() # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17771 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: Id33e527591164b87d1e14b7922247b726267ad6e Gerrit-Change-Number: 17771 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Fri Apr 10 15:33:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 15:33:46 +0000 Subject: Change in osmo-gsm-tester[master]: Get rid of install top directory References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17772 ) Change subject: Get rid of install top directory ...................................................................... Get rid of install top directory Some content there is out of date, or should be mvoed to utils/ with the rest of installable stuff. Change-Id: I17ee94b175deb88faff71e7788c482093693f8a8 --- D install/ofono.service D install/org.ofono.conf D install/osmo-gsm-tester-limits.conf A utils/dbus-1/dbus_osmo-gsm-tester.conf R utils/systemd/osmo-gsm-tester.service 5 files changed, 9 insertions(+), 43 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/72/17772/1 diff --git a/install/ofono.service b/install/ofono.service deleted file mode 100644 index 0aa9fbe..0000000 --- a/install/ofono.service +++ /dev/null @@ -1,11 +0,0 @@ -# systemd service file for the ofono daemon -[Unit] -Description=oFono - -[Service] -ExecStart=/usr/local/src/ofono/src/ofonod -n -Restart=always -StartLimitInterval=0 - -[Install] -WantedBy=multi-user.target diff --git a/install/org.ofono.conf b/install/org.ofono.conf deleted file mode 100644 index 8b13c75..0000000 --- a/install/org.ofono.conf +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/install/osmo-gsm-tester-limits.conf b/install/osmo-gsm-tester-limits.conf deleted file mode 100644 index 1fb0738..0000000 --- a/install/osmo-gsm-tester-limits.conf +++ /dev/null @@ -1,4 +0,0 @@ -# place this file in /etc/security/limits.d to allow core files when a program -# crashes; for osmo-gsm-tester. -root - core unlimited -* - core unlimited diff --git a/utils/dbus-1/dbus_osmo-gsm-tester.conf b/utils/dbus-1/dbus_osmo-gsm-tester.conf new file mode 100644 index 0000000..d867833 --- /dev/null +++ b/utils/dbus-1/dbus_osmo-gsm-tester.conf @@ -0,0 +1,9 @@ + + + + + + + diff --git a/install/osmo-gsm-tester.service b/utils/systemd/osmo-gsm-tester.service similarity index 100% rename from install/osmo-gsm-tester.service rename to utils/systemd/osmo-gsm-tester.service -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17772 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: I17ee94b175deb88faff71e7788c482093693f8a8 Gerrit-Change-Number: 17772 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 Apr 10 15:36:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 15:36:22 +0000 Subject: Change in osmo-ci[master]: ansible: gsm-tester: Intall dbus policy file from git repo References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/17773 ) Change subject: ansible: gsm-tester: Intall dbus policy file from git repo ...................................................................... ansible: gsm-tester: Intall dbus policy file from git repo Since osmo-gsm-tester.git I17ee94b175deb88faff71e7788c482093693f8a8, the file is available in the repository, so let's simply install it from there. Change-Id: Icb4827c4126c997633e23e4d778ff9b1a1836322 --- D ansible/roles/gsm-tester/files/dbus_osmo-gsm-tester.conf M ansible/roles/gsm-tester/tasks/main.yml 2 files changed, 9 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/73/17773/1 diff --git a/ansible/roles/gsm-tester/files/dbus_osmo-gsm-tester.conf b/ansible/roles/gsm-tester/files/dbus_osmo-gsm-tester.conf deleted file mode 100644 index d867833..0000000 --- a/ansible/roles/gsm-tester/files/dbus_osmo-gsm-tester.conf +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/ansible/roles/gsm-tester/tasks/main.yml b/ansible/roles/gsm-tester/tasks/main.yml index 0109d1b..6258fde 100644 --- a/ansible/roles/gsm-tester/tasks/main.yml +++ b/ansible/roles/gsm-tester/tasks/main.yml @@ -318,14 +318,6 @@ tags: - osmo-gsm-tester-main -- name: allow osmo-gsm-tester to access ofono - copy: - src: dbus_osmo-gsm-tester.conf - dest: /etc/dbus-1/system.d/osmo-gsm-tester.conf - tags: - - ofono - - modem - - name: ensure tcpdump can be called by osmo-gsm-tester file: path: /usr/sbin/tcpdump @@ -399,6 +391,15 @@ tags: - osmo-gsm-tester-proc +- name: Install dbus policy file to allow osmo-gsm-tester group to access ofono + shell: | + cp utils/dbus-1/* /etc/dbus-1/system.d/ + args: + chdir: /root/osmo-gsm-tester + tags: + - ofono + - modem + - name: logrotate limit filesizes to 10M copy: content: "maxsize 10M" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17773 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Icb4827c4126c997633e23e4d778ff9b1a1836322 Gerrit-Change-Number: 17773 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 Apr 10 15:51:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 15:51:18 +0000 Subject: Change in osmo-gsm-tester[master]: Move example/ and ttcn3/ to sysmocom/ and sysmocom/ttcn3 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17774 ) Change subject: Move example/ and ttcn3/ to sysmocom/ and sysmocom/ttcn3 ...................................................................... Move example/ and ttcn3/ to sysmocom/ and sysmocom/ttcn3 This content is mostly specific to sysmocom's setup (thought it can still be re-used by other people if willing to). symlinks in ttcn3/ pointing to example/ are redone to point to sysmocom/. Change-Id: I364e0859c0851b9167907a4d948b659a0f6a19fb --- R sysmocom/README.txt R sysmocom/default-suites.conf R sysmocom/defaults.conf R sysmocom/paths.conf R sysmocom/resources.conf.prod R sysmocom/resources.conf.rnd R sysmocom/resources.conf.virtual R sysmocom/scenarios/amarisoftenb-rftype at .conf R sysmocom/scenarios/amarisoftue-rftype at .conf R sysmocom/scenarios/band-1800.conf R sysmocom/scenarios/band-1900.conf R sysmocom/scenarios/band-900.conf R sysmocom/scenarios/cfg-amarisoft-license at .conf R sysmocom/scenarios/cfg-codec-fr-any.conf R sysmocom/scenarios/cfg-codec-fr1.conf R sysmocom/scenarios/cfg-codec-fr2.conf R sysmocom/scenarios/cfg-codec-fr3.conf R sysmocom/scenarios/cfg-codec-hr1.conf R sysmocom/scenarios/cfg-codec-hr3.conf R sysmocom/scenarios/cfg-epc-qci at .conf R sysmocom/scenarios/cfg-epc-type at .conf R sysmocom/scenarios/cfg-iperf3-time at .conf R sysmocom/scenarios/cfg-srs-enable-pcap.conf R sysmocom/scenarios/cipher-a50.conf R sysmocom/scenarios/cipher-a51.conf R sysmocom/scenarios/mfeature-gprs.conf R sysmocom/scenarios/mod-bts0-chanallocdescend.conf R sysmocom/scenarios/mod-bts0-dynts-ipa.conf R sysmocom/scenarios/mod-bts0-dynts-osmo.conf R sysmocom/scenarios/mod-bts0-dynts67-ipa-compat-nanobts.conf R sysmocom/scenarios/mod-bts0-dynts67-ipa.conf R sysmocom/scenarios/mod-bts0-dynts67-osmo.conf R sysmocom/scenarios/mod-bts0-egprs.conf R sysmocom/scenarios/mod-bts0-numtrx2.conf R sysmocom/scenarios/mod-bts0-trxdversion0.conf R sysmocom/scenarios/mod-bts0-ts-tchf.conf R sysmocom/scenarios/mod-bts0-ts-tchh.conf R sysmocom/scenarios/mod-enb-args at .conf R sysmocom/scenarios/mod-enb-meas-event at .conf R sysmocom/scenarios/mod-enb-ncells at .conf R sysmocom/scenarios/mod-enb-nprb at .conf R sysmocom/scenarios/mod-enb-txmode at .conf R sysmocom/scenarios/mod-modem-args at .conf R sysmocom/scenarios/mod-srsue-airplane_mode_sim at .conf R sysmocom/scenarios/mod-srsue-ncarriers at .conf R sysmocom/scenarios/nanobts.conf R sysmocom/scenarios/oc2g.conf R sysmocom/scenarios/octphy.conf R sysmocom/scenarios/srsenb-rftype at .conf R sysmocom/scenarios/srsue-rftype at .conf R sysmocom/scenarios/sysmo.conf R sysmocom/scenarios/trx-b200.conf R sysmocom/scenarios/trx-lms-limenet-micro.conf R sysmocom/scenarios/trx-lms.conf R sysmocom/scenarios/trx-sysmocell5000.conf R sysmocom/scenarios/trx-umtrx.conf R sysmocom/scenarios/trx.conf R sysmocom/suites/4g/iperf3_dl.py R sysmocom/suites/4g/iperf3_ul.py R sysmocom/suites/4g/ping.py R sysmocom/suites/4g/suite.conf R sysmocom/suites/debug/interactive.py R sysmocom/suites/debug/suite.conf R sysmocom/suites/dynts/suite.conf R sysmocom/suites/dynts/switch_tch_pdch.py R sysmocom/suites/encryption/lib/testlib.py R sysmocom/suites/encryption/register_a5_0_authopt.py R sysmocom/suites/encryption/register_a5_0_authreq.py R sysmocom/suites/encryption/register_a5_1_authreq.py R sysmocom/suites/encryption/register_a5_3_authreq.py R sysmocom/suites/encryption/suite.conf R sysmocom/suites/gprs/cs_paging_gprs_active.py R sysmocom/suites/gprs/iperf3.py R sysmocom/suites/gprs/iperf3m4.py R sysmocom/suites/gprs/lib/testlib.py R sysmocom/suites/gprs/ping.py R sysmocom/suites/gprs/ping_idle_ping.py R sysmocom/suites/gprs/suite.conf R sysmocom/suites/nitb_debug/error.py R sysmocom/suites/nitb_debug/fail.py R sysmocom/suites/nitb_debug/fail_raise.py R sysmocom/suites/nitb_debug/interactive.py R sysmocom/suites/nitb_debug/pass.py R sysmocom/suites/nitb_debug/suite.conf R sysmocom/suites/nitb_netreg/register.py R sysmocom/suites/nitb_netreg/register_default.py R sysmocom/suites/nitb_netreg/suite.conf R sysmocom/suites/nitb_netreg_mass/register_default_mass.py R sysmocom/suites/nitb_netreg_mass/suite.conf R sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py R sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py R sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py R sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py R sysmocom/suites/nitb_smpp/suite.conf R sysmocom/suites/nitb_sms/mo_mt_sms.py R sysmocom/suites/nitb_sms/suite.conf R sysmocom/suites/nitb_ussd/assert_extension.py R sysmocom/suites/nitb_ussd/suite.conf R sysmocom/suites/smpp/esme_connect_policy_acceptall.py R sysmocom/suites/smpp/esme_connect_policy_closed.py R sysmocom/suites/smpp/esme_ms_sms_storeforward.py R sysmocom/suites/smpp/esme_ms_sms_transaction.py R sysmocom/suites/smpp/suite.conf R sysmocom/suites/sms/mo_mt_sms.py R sysmocom/suites/sms/suite.conf R sysmocom/suites/ussd/assert_extension.py R sysmocom/suites/ussd/suite.conf R sysmocom/suites/voice/lib/testlib.py R sysmocom/suites/voice/mo_mt_call.py R sysmocom/suites/voice/mo_mt_call_osmux.py R sysmocom/suites/voice/suite.conf R sysmocom/ttcn3/README.txt R sysmocom/ttcn3/default-suites.conf A sysmocom/ttcn3/defaults.conf R sysmocom/ttcn3/jenkins-run.sh R sysmocom/ttcn3/paths.conf A sysmocom/ttcn3/resources.conf.prod A sysmocom/ttcn3/resources.conf.rnd A sysmocom/ttcn3/scenarios/oc2g.conf A sysmocom/ttcn3/scenarios/sysmo.conf A sysmocom/ttcn3/scenarios/trx.conf R sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py R sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl R sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh R sysmocom/ttcn3/suites/ttcn3_bts_tests/suite.conf R sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py D ttcn3/defaults.conf D ttcn3/resources.conf.prod D ttcn3/resources.conf.rnd D ttcn3/scenarios/oc2g.conf D ttcn3/scenarios/sysmo.conf D ttcn3/scenarios/trx.conf 132 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/74/17774/1 diff --git a/example/README.txt b/sysmocom/README.txt similarity index 100% rename from example/README.txt rename to sysmocom/README.txt diff --git a/example/default-suites.conf b/sysmocom/default-suites.conf similarity index 100% rename from example/default-suites.conf rename to sysmocom/default-suites.conf diff --git a/example/defaults.conf b/sysmocom/defaults.conf similarity index 100% rename from example/defaults.conf rename to sysmocom/defaults.conf diff --git a/example/paths.conf b/sysmocom/paths.conf similarity index 100% rename from example/paths.conf rename to sysmocom/paths.conf diff --git a/example/resources.conf.prod b/sysmocom/resources.conf.prod similarity index 100% rename from example/resources.conf.prod rename to sysmocom/resources.conf.prod diff --git a/example/resources.conf.rnd b/sysmocom/resources.conf.rnd similarity index 100% rename from example/resources.conf.rnd rename to sysmocom/resources.conf.rnd diff --git a/example/resources.conf.virtual b/sysmocom/resources.conf.virtual similarity index 100% rename from example/resources.conf.virtual rename to sysmocom/resources.conf.virtual diff --git a/example/scenarios/amarisoftenb-rftype at .conf b/sysmocom/scenarios/amarisoftenb-rftype at .conf similarity index 100% rename from example/scenarios/amarisoftenb-rftype at .conf rename to sysmocom/scenarios/amarisoftenb-rftype at .conf diff --git a/example/scenarios/amarisoftue-rftype at .conf b/sysmocom/scenarios/amarisoftue-rftype at .conf similarity index 100% rename from example/scenarios/amarisoftue-rftype at .conf rename to sysmocom/scenarios/amarisoftue-rftype at .conf diff --git a/example/scenarios/band-1800.conf b/sysmocom/scenarios/band-1800.conf similarity index 100% rename from example/scenarios/band-1800.conf rename to sysmocom/scenarios/band-1800.conf diff --git a/example/scenarios/band-1900.conf b/sysmocom/scenarios/band-1900.conf similarity index 100% rename from example/scenarios/band-1900.conf rename to sysmocom/scenarios/band-1900.conf diff --git a/example/scenarios/band-900.conf b/sysmocom/scenarios/band-900.conf similarity index 100% rename from example/scenarios/band-900.conf rename to sysmocom/scenarios/band-900.conf diff --git a/example/scenarios/cfg-amarisoft-license at .conf b/sysmocom/scenarios/cfg-amarisoft-license at .conf similarity index 100% rename from example/scenarios/cfg-amarisoft-license at .conf rename to sysmocom/scenarios/cfg-amarisoft-license at .conf diff --git a/example/scenarios/cfg-codec-fr-any.conf b/sysmocom/scenarios/cfg-codec-fr-any.conf similarity index 100% rename from example/scenarios/cfg-codec-fr-any.conf rename to sysmocom/scenarios/cfg-codec-fr-any.conf diff --git a/example/scenarios/cfg-codec-fr1.conf b/sysmocom/scenarios/cfg-codec-fr1.conf similarity index 100% rename from example/scenarios/cfg-codec-fr1.conf rename to sysmocom/scenarios/cfg-codec-fr1.conf diff --git a/example/scenarios/cfg-codec-fr2.conf b/sysmocom/scenarios/cfg-codec-fr2.conf similarity index 100% rename from example/scenarios/cfg-codec-fr2.conf rename to sysmocom/scenarios/cfg-codec-fr2.conf diff --git a/example/scenarios/cfg-codec-fr3.conf b/sysmocom/scenarios/cfg-codec-fr3.conf similarity index 100% rename from example/scenarios/cfg-codec-fr3.conf rename to sysmocom/scenarios/cfg-codec-fr3.conf diff --git a/example/scenarios/cfg-codec-hr1.conf b/sysmocom/scenarios/cfg-codec-hr1.conf similarity index 100% rename from example/scenarios/cfg-codec-hr1.conf rename to sysmocom/scenarios/cfg-codec-hr1.conf diff --git a/example/scenarios/cfg-codec-hr3.conf b/sysmocom/scenarios/cfg-codec-hr3.conf similarity index 100% rename from example/scenarios/cfg-codec-hr3.conf rename to sysmocom/scenarios/cfg-codec-hr3.conf diff --git a/example/scenarios/cfg-epc-qci at .conf b/sysmocom/scenarios/cfg-epc-qci at .conf similarity index 100% rename from example/scenarios/cfg-epc-qci at .conf rename to sysmocom/scenarios/cfg-epc-qci at .conf diff --git a/example/scenarios/cfg-epc-type at .conf b/sysmocom/scenarios/cfg-epc-type at .conf similarity index 100% rename from example/scenarios/cfg-epc-type at .conf rename to sysmocom/scenarios/cfg-epc-type at .conf diff --git a/example/scenarios/cfg-iperf3-time at .conf b/sysmocom/scenarios/cfg-iperf3-time at .conf similarity index 100% rename from example/scenarios/cfg-iperf3-time at .conf rename to sysmocom/scenarios/cfg-iperf3-time at .conf diff --git a/example/scenarios/cfg-srs-enable-pcap.conf b/sysmocom/scenarios/cfg-srs-enable-pcap.conf similarity index 100% rename from example/scenarios/cfg-srs-enable-pcap.conf rename to sysmocom/scenarios/cfg-srs-enable-pcap.conf diff --git a/example/scenarios/cipher-a50.conf b/sysmocom/scenarios/cipher-a50.conf similarity index 100% rename from example/scenarios/cipher-a50.conf rename to sysmocom/scenarios/cipher-a50.conf diff --git a/example/scenarios/cipher-a51.conf b/sysmocom/scenarios/cipher-a51.conf similarity index 100% rename from example/scenarios/cipher-a51.conf rename to sysmocom/scenarios/cipher-a51.conf diff --git a/example/scenarios/mfeature-gprs.conf b/sysmocom/scenarios/mfeature-gprs.conf similarity index 100% rename from example/scenarios/mfeature-gprs.conf rename to sysmocom/scenarios/mfeature-gprs.conf diff --git a/example/scenarios/mod-bts0-chanallocdescend.conf b/sysmocom/scenarios/mod-bts0-chanallocdescend.conf similarity index 100% rename from example/scenarios/mod-bts0-chanallocdescend.conf rename to sysmocom/scenarios/mod-bts0-chanallocdescend.conf diff --git a/example/scenarios/mod-bts0-dynts-ipa.conf b/sysmocom/scenarios/mod-bts0-dynts-ipa.conf similarity index 100% rename from example/scenarios/mod-bts0-dynts-ipa.conf rename to sysmocom/scenarios/mod-bts0-dynts-ipa.conf diff --git a/example/scenarios/mod-bts0-dynts-osmo.conf b/sysmocom/scenarios/mod-bts0-dynts-osmo.conf similarity index 100% rename from example/scenarios/mod-bts0-dynts-osmo.conf rename to sysmocom/scenarios/mod-bts0-dynts-osmo.conf diff --git a/example/scenarios/mod-bts0-dynts67-ipa-compat-nanobts.conf b/sysmocom/scenarios/mod-bts0-dynts67-ipa-compat-nanobts.conf similarity index 100% rename from example/scenarios/mod-bts0-dynts67-ipa-compat-nanobts.conf rename to sysmocom/scenarios/mod-bts0-dynts67-ipa-compat-nanobts.conf diff --git a/example/scenarios/mod-bts0-dynts67-ipa.conf b/sysmocom/scenarios/mod-bts0-dynts67-ipa.conf similarity index 100% rename from example/scenarios/mod-bts0-dynts67-ipa.conf rename to sysmocom/scenarios/mod-bts0-dynts67-ipa.conf diff --git a/example/scenarios/mod-bts0-dynts67-osmo.conf b/sysmocom/scenarios/mod-bts0-dynts67-osmo.conf similarity index 100% rename from example/scenarios/mod-bts0-dynts67-osmo.conf rename to sysmocom/scenarios/mod-bts0-dynts67-osmo.conf diff --git a/example/scenarios/mod-bts0-egprs.conf b/sysmocom/scenarios/mod-bts0-egprs.conf similarity index 100% rename from example/scenarios/mod-bts0-egprs.conf rename to sysmocom/scenarios/mod-bts0-egprs.conf diff --git a/example/scenarios/mod-bts0-numtrx2.conf b/sysmocom/scenarios/mod-bts0-numtrx2.conf similarity index 100% rename from example/scenarios/mod-bts0-numtrx2.conf rename to sysmocom/scenarios/mod-bts0-numtrx2.conf diff --git a/example/scenarios/mod-bts0-trxdversion0.conf b/sysmocom/scenarios/mod-bts0-trxdversion0.conf similarity index 100% rename from example/scenarios/mod-bts0-trxdversion0.conf rename to sysmocom/scenarios/mod-bts0-trxdversion0.conf diff --git a/example/scenarios/mod-bts0-ts-tchf.conf b/sysmocom/scenarios/mod-bts0-ts-tchf.conf similarity index 100% rename from example/scenarios/mod-bts0-ts-tchf.conf rename to sysmocom/scenarios/mod-bts0-ts-tchf.conf diff --git a/example/scenarios/mod-bts0-ts-tchh.conf b/sysmocom/scenarios/mod-bts0-ts-tchh.conf similarity index 100% rename from example/scenarios/mod-bts0-ts-tchh.conf rename to sysmocom/scenarios/mod-bts0-ts-tchh.conf diff --git a/example/scenarios/mod-enb-args at .conf b/sysmocom/scenarios/mod-enb-args at .conf similarity index 100% rename from example/scenarios/mod-enb-args at .conf rename to sysmocom/scenarios/mod-enb-args at .conf diff --git a/example/scenarios/mod-enb-meas-event at .conf b/sysmocom/scenarios/mod-enb-meas-event at .conf similarity index 100% rename from example/scenarios/mod-enb-meas-event at .conf rename to sysmocom/scenarios/mod-enb-meas-event at .conf diff --git a/example/scenarios/mod-enb-ncells at .conf b/sysmocom/scenarios/mod-enb-ncells at .conf similarity index 100% rename from example/scenarios/mod-enb-ncells at .conf rename to sysmocom/scenarios/mod-enb-ncells at .conf diff --git a/example/scenarios/mod-enb-nprb at .conf b/sysmocom/scenarios/mod-enb-nprb at .conf similarity index 100% rename from example/scenarios/mod-enb-nprb at .conf rename to sysmocom/scenarios/mod-enb-nprb at .conf diff --git a/example/scenarios/mod-enb-txmode at .conf b/sysmocom/scenarios/mod-enb-txmode at .conf similarity index 100% rename from example/scenarios/mod-enb-txmode at .conf rename to sysmocom/scenarios/mod-enb-txmode at .conf diff --git a/example/scenarios/mod-modem-args at .conf b/sysmocom/scenarios/mod-modem-args at .conf similarity index 100% rename from example/scenarios/mod-modem-args at .conf rename to sysmocom/scenarios/mod-modem-args at .conf diff --git a/example/scenarios/mod-srsue-airplane_mode_sim at .conf b/sysmocom/scenarios/mod-srsue-airplane_mode_sim at .conf similarity index 100% rename from example/scenarios/mod-srsue-airplane_mode_sim at .conf rename to sysmocom/scenarios/mod-srsue-airplane_mode_sim at .conf diff --git a/example/scenarios/mod-srsue-ncarriers at .conf b/sysmocom/scenarios/mod-srsue-ncarriers at .conf similarity index 100% rename from example/scenarios/mod-srsue-ncarriers at .conf rename to sysmocom/scenarios/mod-srsue-ncarriers at .conf diff --git a/example/scenarios/nanobts.conf b/sysmocom/scenarios/nanobts.conf similarity index 100% rename from example/scenarios/nanobts.conf rename to sysmocom/scenarios/nanobts.conf diff --git a/example/scenarios/oc2g.conf b/sysmocom/scenarios/oc2g.conf similarity index 100% rename from example/scenarios/oc2g.conf rename to sysmocom/scenarios/oc2g.conf diff --git a/example/scenarios/octphy.conf b/sysmocom/scenarios/octphy.conf similarity index 100% rename from example/scenarios/octphy.conf rename to sysmocom/scenarios/octphy.conf diff --git a/example/scenarios/srsenb-rftype at .conf b/sysmocom/scenarios/srsenb-rftype at .conf similarity index 100% rename from example/scenarios/srsenb-rftype at .conf rename to sysmocom/scenarios/srsenb-rftype at .conf diff --git a/example/scenarios/srsue-rftype at .conf b/sysmocom/scenarios/srsue-rftype at .conf similarity index 100% rename from example/scenarios/srsue-rftype at .conf rename to sysmocom/scenarios/srsue-rftype at .conf diff --git a/example/scenarios/sysmo.conf b/sysmocom/scenarios/sysmo.conf similarity index 100% rename from example/scenarios/sysmo.conf rename to sysmocom/scenarios/sysmo.conf diff --git a/example/scenarios/trx-b200.conf b/sysmocom/scenarios/trx-b200.conf similarity index 100% rename from example/scenarios/trx-b200.conf rename to sysmocom/scenarios/trx-b200.conf diff --git a/example/scenarios/trx-lms-limenet-micro.conf b/sysmocom/scenarios/trx-lms-limenet-micro.conf similarity index 100% rename from example/scenarios/trx-lms-limenet-micro.conf rename to sysmocom/scenarios/trx-lms-limenet-micro.conf diff --git a/example/scenarios/trx-lms.conf b/sysmocom/scenarios/trx-lms.conf similarity index 100% rename from example/scenarios/trx-lms.conf rename to sysmocom/scenarios/trx-lms.conf diff --git a/example/scenarios/trx-sysmocell5000.conf b/sysmocom/scenarios/trx-sysmocell5000.conf similarity index 100% rename from example/scenarios/trx-sysmocell5000.conf rename to sysmocom/scenarios/trx-sysmocell5000.conf diff --git a/example/scenarios/trx-umtrx.conf b/sysmocom/scenarios/trx-umtrx.conf similarity index 100% rename from example/scenarios/trx-umtrx.conf rename to sysmocom/scenarios/trx-umtrx.conf diff --git a/example/scenarios/trx.conf b/sysmocom/scenarios/trx.conf similarity index 100% rename from example/scenarios/trx.conf rename to sysmocom/scenarios/trx.conf diff --git a/example/suites/4g/iperf3_dl.py b/sysmocom/suites/4g/iperf3_dl.py similarity index 100% rename from example/suites/4g/iperf3_dl.py rename to sysmocom/suites/4g/iperf3_dl.py diff --git a/example/suites/4g/iperf3_ul.py b/sysmocom/suites/4g/iperf3_ul.py similarity index 100% rename from example/suites/4g/iperf3_ul.py rename to sysmocom/suites/4g/iperf3_ul.py diff --git a/example/suites/4g/ping.py b/sysmocom/suites/4g/ping.py similarity index 100% rename from example/suites/4g/ping.py rename to sysmocom/suites/4g/ping.py diff --git a/example/suites/4g/suite.conf b/sysmocom/suites/4g/suite.conf similarity index 100% rename from example/suites/4g/suite.conf rename to sysmocom/suites/4g/suite.conf diff --git a/example/suites/debug/interactive.py b/sysmocom/suites/debug/interactive.py similarity index 100% rename from example/suites/debug/interactive.py rename to sysmocom/suites/debug/interactive.py diff --git a/example/suites/debug/suite.conf b/sysmocom/suites/debug/suite.conf similarity index 100% rename from example/suites/debug/suite.conf rename to sysmocom/suites/debug/suite.conf diff --git a/example/suites/dynts/suite.conf b/sysmocom/suites/dynts/suite.conf similarity index 100% rename from example/suites/dynts/suite.conf rename to sysmocom/suites/dynts/suite.conf diff --git a/example/suites/dynts/switch_tch_pdch.py b/sysmocom/suites/dynts/switch_tch_pdch.py similarity index 100% rename from example/suites/dynts/switch_tch_pdch.py rename to sysmocom/suites/dynts/switch_tch_pdch.py diff --git a/example/suites/encryption/lib/testlib.py b/sysmocom/suites/encryption/lib/testlib.py similarity index 100% rename from example/suites/encryption/lib/testlib.py rename to sysmocom/suites/encryption/lib/testlib.py diff --git a/example/suites/encryption/register_a5_0_authopt.py b/sysmocom/suites/encryption/register_a5_0_authopt.py similarity index 100% rename from example/suites/encryption/register_a5_0_authopt.py rename to sysmocom/suites/encryption/register_a5_0_authopt.py diff --git a/example/suites/encryption/register_a5_0_authreq.py b/sysmocom/suites/encryption/register_a5_0_authreq.py similarity index 100% rename from example/suites/encryption/register_a5_0_authreq.py rename to sysmocom/suites/encryption/register_a5_0_authreq.py diff --git a/example/suites/encryption/register_a5_1_authreq.py b/sysmocom/suites/encryption/register_a5_1_authreq.py similarity index 100% rename from example/suites/encryption/register_a5_1_authreq.py rename to sysmocom/suites/encryption/register_a5_1_authreq.py diff --git a/example/suites/encryption/register_a5_3_authreq.py b/sysmocom/suites/encryption/register_a5_3_authreq.py similarity index 100% rename from example/suites/encryption/register_a5_3_authreq.py rename to sysmocom/suites/encryption/register_a5_3_authreq.py diff --git a/example/suites/encryption/suite.conf b/sysmocom/suites/encryption/suite.conf similarity index 100% rename from example/suites/encryption/suite.conf rename to sysmocom/suites/encryption/suite.conf diff --git a/example/suites/gprs/cs_paging_gprs_active.py b/sysmocom/suites/gprs/cs_paging_gprs_active.py similarity index 100% rename from example/suites/gprs/cs_paging_gprs_active.py rename to sysmocom/suites/gprs/cs_paging_gprs_active.py diff --git a/example/suites/gprs/iperf3.py b/sysmocom/suites/gprs/iperf3.py similarity index 100% rename from example/suites/gprs/iperf3.py rename to sysmocom/suites/gprs/iperf3.py diff --git a/example/suites/gprs/iperf3m4.py b/sysmocom/suites/gprs/iperf3m4.py similarity index 100% rename from example/suites/gprs/iperf3m4.py rename to sysmocom/suites/gprs/iperf3m4.py diff --git a/example/suites/gprs/lib/testlib.py b/sysmocom/suites/gprs/lib/testlib.py similarity index 100% rename from example/suites/gprs/lib/testlib.py rename to sysmocom/suites/gprs/lib/testlib.py diff --git a/example/suites/gprs/ping.py b/sysmocom/suites/gprs/ping.py similarity index 100% rename from example/suites/gprs/ping.py rename to sysmocom/suites/gprs/ping.py diff --git a/example/suites/gprs/ping_idle_ping.py b/sysmocom/suites/gprs/ping_idle_ping.py similarity index 100% rename from example/suites/gprs/ping_idle_ping.py rename to sysmocom/suites/gprs/ping_idle_ping.py diff --git a/example/suites/gprs/suite.conf b/sysmocom/suites/gprs/suite.conf similarity index 100% rename from example/suites/gprs/suite.conf rename to sysmocom/suites/gprs/suite.conf diff --git a/example/suites/nitb_debug/error.py b/sysmocom/suites/nitb_debug/error.py similarity index 100% rename from example/suites/nitb_debug/error.py rename to sysmocom/suites/nitb_debug/error.py diff --git a/example/suites/nitb_debug/fail.py b/sysmocom/suites/nitb_debug/fail.py similarity index 100% rename from example/suites/nitb_debug/fail.py rename to sysmocom/suites/nitb_debug/fail.py diff --git a/example/suites/nitb_debug/fail_raise.py b/sysmocom/suites/nitb_debug/fail_raise.py similarity index 100% rename from example/suites/nitb_debug/fail_raise.py rename to sysmocom/suites/nitb_debug/fail_raise.py diff --git a/example/suites/nitb_debug/interactive.py b/sysmocom/suites/nitb_debug/interactive.py similarity index 100% rename from example/suites/nitb_debug/interactive.py rename to sysmocom/suites/nitb_debug/interactive.py diff --git a/example/suites/nitb_debug/pass.py b/sysmocom/suites/nitb_debug/pass.py similarity index 100% rename from example/suites/nitb_debug/pass.py rename to sysmocom/suites/nitb_debug/pass.py diff --git a/example/suites/nitb_debug/suite.conf b/sysmocom/suites/nitb_debug/suite.conf similarity index 100% rename from example/suites/nitb_debug/suite.conf rename to sysmocom/suites/nitb_debug/suite.conf diff --git a/example/suites/nitb_netreg/register.py b/sysmocom/suites/nitb_netreg/register.py similarity index 100% rename from example/suites/nitb_netreg/register.py rename to sysmocom/suites/nitb_netreg/register.py diff --git a/example/suites/nitb_netreg/register_default.py b/sysmocom/suites/nitb_netreg/register_default.py similarity index 100% rename from example/suites/nitb_netreg/register_default.py rename to sysmocom/suites/nitb_netreg/register_default.py diff --git a/example/suites/nitb_netreg/suite.conf b/sysmocom/suites/nitb_netreg/suite.conf similarity index 100% rename from example/suites/nitb_netreg/suite.conf rename to sysmocom/suites/nitb_netreg/suite.conf diff --git a/example/suites/nitb_netreg_mass/register_default_mass.py b/sysmocom/suites/nitb_netreg_mass/register_default_mass.py similarity index 100% rename from example/suites/nitb_netreg_mass/register_default_mass.py rename to sysmocom/suites/nitb_netreg_mass/register_default_mass.py diff --git a/example/suites/nitb_netreg_mass/suite.conf b/sysmocom/suites/nitb_netreg_mass/suite.conf similarity index 100% rename from example/suites/nitb_netreg_mass/suite.conf rename to sysmocom/suites/nitb_netreg_mass/suite.conf diff --git a/example/suites/nitb_smpp/esme_connect_policy_acceptall.py b/sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py similarity index 100% rename from example/suites/nitb_smpp/esme_connect_policy_acceptall.py rename to sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py diff --git a/example/suites/nitb_smpp/esme_connect_policy_closed.py b/sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py similarity index 100% rename from example/suites/nitb_smpp/esme_connect_policy_closed.py rename to sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py diff --git a/example/suites/nitb_smpp/esme_ms_sms_storeforward.py b/sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py similarity index 100% rename from example/suites/nitb_smpp/esme_ms_sms_storeforward.py rename to sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py diff --git a/example/suites/nitb_smpp/esme_ms_sms_transaction.py b/sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py similarity index 100% rename from example/suites/nitb_smpp/esme_ms_sms_transaction.py rename to sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py diff --git a/example/suites/nitb_smpp/suite.conf b/sysmocom/suites/nitb_smpp/suite.conf similarity index 100% rename from example/suites/nitb_smpp/suite.conf rename to sysmocom/suites/nitb_smpp/suite.conf diff --git a/example/suites/nitb_sms/mo_mt_sms.py b/sysmocom/suites/nitb_sms/mo_mt_sms.py similarity index 100% rename from example/suites/nitb_sms/mo_mt_sms.py rename to sysmocom/suites/nitb_sms/mo_mt_sms.py diff --git a/example/suites/nitb_sms/suite.conf b/sysmocom/suites/nitb_sms/suite.conf similarity index 100% rename from example/suites/nitb_sms/suite.conf rename to sysmocom/suites/nitb_sms/suite.conf diff --git a/example/suites/nitb_ussd/assert_extension.py b/sysmocom/suites/nitb_ussd/assert_extension.py similarity index 100% rename from example/suites/nitb_ussd/assert_extension.py rename to sysmocom/suites/nitb_ussd/assert_extension.py diff --git a/example/suites/nitb_ussd/suite.conf b/sysmocom/suites/nitb_ussd/suite.conf similarity index 100% rename from example/suites/nitb_ussd/suite.conf rename to sysmocom/suites/nitb_ussd/suite.conf diff --git a/example/suites/smpp/esme_connect_policy_acceptall.py b/sysmocom/suites/smpp/esme_connect_policy_acceptall.py similarity index 100% rename from example/suites/smpp/esme_connect_policy_acceptall.py rename to sysmocom/suites/smpp/esme_connect_policy_acceptall.py diff --git a/example/suites/smpp/esme_connect_policy_closed.py b/sysmocom/suites/smpp/esme_connect_policy_closed.py similarity index 100% rename from example/suites/smpp/esme_connect_policy_closed.py rename to sysmocom/suites/smpp/esme_connect_policy_closed.py diff --git a/example/suites/smpp/esme_ms_sms_storeforward.py b/sysmocom/suites/smpp/esme_ms_sms_storeforward.py similarity index 100% rename from example/suites/smpp/esme_ms_sms_storeforward.py rename to sysmocom/suites/smpp/esme_ms_sms_storeforward.py diff --git a/example/suites/smpp/esme_ms_sms_transaction.py b/sysmocom/suites/smpp/esme_ms_sms_transaction.py similarity index 100% rename from example/suites/smpp/esme_ms_sms_transaction.py rename to sysmocom/suites/smpp/esme_ms_sms_transaction.py diff --git a/example/suites/smpp/suite.conf b/sysmocom/suites/smpp/suite.conf similarity index 100% rename from example/suites/smpp/suite.conf rename to sysmocom/suites/smpp/suite.conf diff --git a/example/suites/sms/mo_mt_sms.py b/sysmocom/suites/sms/mo_mt_sms.py similarity index 100% rename from example/suites/sms/mo_mt_sms.py rename to sysmocom/suites/sms/mo_mt_sms.py diff --git a/example/suites/sms/suite.conf b/sysmocom/suites/sms/suite.conf similarity index 100% rename from example/suites/sms/suite.conf rename to sysmocom/suites/sms/suite.conf diff --git a/example/suites/ussd/assert_extension.py b/sysmocom/suites/ussd/assert_extension.py similarity index 100% rename from example/suites/ussd/assert_extension.py rename to sysmocom/suites/ussd/assert_extension.py diff --git a/example/suites/ussd/suite.conf b/sysmocom/suites/ussd/suite.conf similarity index 100% rename from example/suites/ussd/suite.conf rename to sysmocom/suites/ussd/suite.conf diff --git a/example/suites/voice/lib/testlib.py b/sysmocom/suites/voice/lib/testlib.py similarity index 100% rename from example/suites/voice/lib/testlib.py rename to sysmocom/suites/voice/lib/testlib.py diff --git a/example/suites/voice/mo_mt_call.py b/sysmocom/suites/voice/mo_mt_call.py similarity index 100% rename from example/suites/voice/mo_mt_call.py rename to sysmocom/suites/voice/mo_mt_call.py diff --git a/example/suites/voice/mo_mt_call_osmux.py b/sysmocom/suites/voice/mo_mt_call_osmux.py similarity index 100% rename from example/suites/voice/mo_mt_call_osmux.py rename to sysmocom/suites/voice/mo_mt_call_osmux.py diff --git a/example/suites/voice/suite.conf b/sysmocom/suites/voice/suite.conf similarity index 100% rename from example/suites/voice/suite.conf rename to sysmocom/suites/voice/suite.conf diff --git a/ttcn3/README.txt b/sysmocom/ttcn3/README.txt similarity index 100% rename from ttcn3/README.txt rename to sysmocom/ttcn3/README.txt diff --git a/ttcn3/default-suites.conf b/sysmocom/ttcn3/default-suites.conf similarity index 100% rename from ttcn3/default-suites.conf rename to sysmocom/ttcn3/default-suites.conf diff --git a/sysmocom/ttcn3/defaults.conf b/sysmocom/ttcn3/defaults.conf new file mode 120000 index 0000000..1e7775f --- /dev/null +++ b/sysmocom/ttcn3/defaults.conf @@ -0,0 +1 @@ +../defaults.conf \ No newline at end of file diff --git a/ttcn3/jenkins-run.sh b/sysmocom/ttcn3/jenkins-run.sh similarity index 100% rename from ttcn3/jenkins-run.sh rename to sysmocom/ttcn3/jenkins-run.sh diff --git a/ttcn3/paths.conf b/sysmocom/ttcn3/paths.conf similarity index 100% rename from ttcn3/paths.conf rename to sysmocom/ttcn3/paths.conf diff --git a/sysmocom/ttcn3/resources.conf.prod b/sysmocom/ttcn3/resources.conf.prod new file mode 120000 index 0000000..a291b19 --- /dev/null +++ b/sysmocom/ttcn3/resources.conf.prod @@ -0,0 +1 @@ +../resources.conf.prod \ No newline at end of file diff --git a/sysmocom/ttcn3/resources.conf.rnd b/sysmocom/ttcn3/resources.conf.rnd new file mode 120000 index 0000000..756e6a9 --- /dev/null +++ b/sysmocom/ttcn3/resources.conf.rnd @@ -0,0 +1 @@ +../resources.conf.rnd \ No newline at end of file diff --git a/sysmocom/ttcn3/scenarios/oc2g.conf b/sysmocom/ttcn3/scenarios/oc2g.conf new file mode 120000 index 0000000..50c1477 --- /dev/null +++ b/sysmocom/ttcn3/scenarios/oc2g.conf @@ -0,0 +1 @@ +../../scenarios/oc2g.conf \ No newline at end of file diff --git a/sysmocom/ttcn3/scenarios/sysmo.conf b/sysmocom/ttcn3/scenarios/sysmo.conf new file mode 120000 index 0000000..93ef3ed --- /dev/null +++ b/sysmocom/ttcn3/scenarios/sysmo.conf @@ -0,0 +1 @@ +../../scenarios/sysmo.conf \ No newline at end of file diff --git a/sysmocom/ttcn3/scenarios/trx.conf b/sysmocom/ttcn3/scenarios/trx.conf new file mode 120000 index 0000000..f0fd8f8 --- /dev/null +++ b/sysmocom/ttcn3/scenarios/trx.conf @@ -0,0 +1 @@ +../../scenarios/trx.conf \ No newline at end of file diff --git a/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py similarity index 100% rename from ttcn3/suites/ttcn3_bts_tests/lib/testlib.py rename to sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py diff --git a/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl b/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl similarity index 100% rename from ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl rename to sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl diff --git a/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh b/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh similarity index 100% rename from ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh rename to sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh diff --git a/ttcn3/suites/ttcn3_bts_tests/suite.conf b/sysmocom/ttcn3/suites/ttcn3_bts_tests/suite.conf similarity index 100% rename from ttcn3/suites/ttcn3_bts_tests/suite.conf rename to sysmocom/ttcn3/suites/ttcn3_bts_tests/suite.conf diff --git a/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py similarity index 100% rename from ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py rename to sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py diff --git a/ttcn3/defaults.conf b/ttcn3/defaults.conf deleted file mode 120000 index e47699d..0000000 --- a/ttcn3/defaults.conf +++ /dev/null @@ -1 +0,0 @@ -../example/defaults.conf \ No newline at end of file diff --git a/ttcn3/resources.conf.prod b/ttcn3/resources.conf.prod deleted file mode 120000 index 3e40e89..0000000 --- a/ttcn3/resources.conf.prod +++ /dev/null @@ -1 +0,0 @@ -../example/resources.conf.prod \ No newline at end of file diff --git a/ttcn3/resources.conf.rnd b/ttcn3/resources.conf.rnd deleted file mode 120000 index 6f98474..0000000 --- a/ttcn3/resources.conf.rnd +++ /dev/null @@ -1 +0,0 @@ -../example/resources.conf.rnd \ No newline at end of file diff --git a/ttcn3/scenarios/oc2g.conf b/ttcn3/scenarios/oc2g.conf deleted file mode 120000 index c85edf2..0000000 --- a/ttcn3/scenarios/oc2g.conf +++ /dev/null @@ -1 +0,0 @@ -../../example/scenarios/oc2g.conf \ No newline at end of file diff --git a/ttcn3/scenarios/sysmo.conf b/ttcn3/scenarios/sysmo.conf deleted file mode 120000 index 5374081..0000000 --- a/ttcn3/scenarios/sysmo.conf +++ /dev/null @@ -1 +0,0 @@ -../../example/scenarios/sysmo.conf \ No newline at end of file diff --git a/ttcn3/scenarios/trx.conf b/ttcn3/scenarios/trx.conf deleted file mode 120000 index d72ddb2..0000000 --- a/ttcn3/scenarios/trx.conf +++ /dev/null @@ -1 +0,0 @@ -../../example/scenarios/trx.conf \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17774 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: I364e0859c0851b9167907a4d948b659a0f6a19fb Gerrit-Change-Number: 17774 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 Apr 10 16:24:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 16:24:58 +0000 Subject: Change in osmo-gsm-tester[master]: Introduce doc/examples/ directory References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17775 ) Change subject: Introduce doc/examples/ directory ...................................................................... Introduce doc/examples/ directory It contains simple usual setups to get started with osmo-gsm-tester, such as creating a 4G network using srsLTE or a 2G network using the osmocom stack (+ ofono modems). Change-Id: I55d5b1152da201799af21a77ef6c562f97bd94fc --- A doc/examples/2g_osmocom/README.txt A doc/examples/2g_osmocom/default-suites.conf A doc/examples/2g_osmocom/defaults.conf A doc/examples/2g_osmocom/paths.conf A doc/examples/2g_osmocom/resources.conf A doc/examples/2g_osmocom/scenarios/trx-b200.conf A doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py A doc/examples/2g_osmocom/suites/sms/suite.conf A doc/examples/4g_srsLTE/README.txt A doc/examples/4g_srsLTE/default-suites.conf A doc/examples/4g_srsLTE/defaults.conf A doc/examples/4g_srsLTE/paths.conf A doc/examples/4g_srsLTE/resources.conf A doc/examples/4g_srsLTE/scenarios/cfg-epc-qci at .conf A doc/examples/4g_srsLTE/scenarios/cfg-epc-type at .conf A doc/examples/4g_srsLTE/scenarios/cfg-iperf3-time at .conf A doc/examples/4g_srsLTE/scenarios/cfg-srs-enable-pcap.conf A doc/examples/4g_srsLTE/scenarios/mod-enb-args at .conf A doc/examples/4g_srsLTE/scenarios/mod-enb-meas-event at .conf A doc/examples/4g_srsLTE/scenarios/mod-enb-ncells at .conf A doc/examples/4g_srsLTE/scenarios/mod-enb-nprb at .conf A doc/examples/4g_srsLTE/scenarios/mod-enb-txmode at .conf A doc/examples/4g_srsLTE/scenarios/mod-modem-args at .conf A doc/examples/4g_srsLTE/scenarios/mod-srsue-airplane_mode_sim at .conf A doc/examples/4g_srsLTE/scenarios/mod-srsue-ncarriers at .conf A doc/examples/4g_srsLTE/scenarios/srsenb-rftype at .conf A doc/examples/4g_srsLTE/scenarios/srsue-rftype at .conf A doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py A doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py A doc/examples/4g_srsLTE/suites/4g/ping.py A doc/examples/4g_srsLTE/suites/4g/suite.conf 31 files changed, 498 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/75/17775/1 diff --git a/doc/examples/2g_osmocom/README.txt b/doc/examples/2g_osmocom/README.txt new file mode 100644 index 0000000..4c869ca --- /dev/null +++ b/doc/examples/2g_osmocom/README.txt @@ -0,0 +1,30 @@ +This a sample gsm test suite configured and ready to use. +The only thing missing is a trial dir containing binaries. + +You can point osmo-gsm-tester.py at this config using the OSMO_GSM_TESTER_CONF +environment variable: + + export OSMO_GSM_TESTER_CONF="$PWD" + +When there is no OSMO_GSM_TESTER_CONF set, osmo-gsm-tester will instead look +for conf files in several locations like ~/.config/osmo-gsm-tester, +/usr/local/etc/osmo-gsm-tester, /etc/osmo-gsm-tester. + +If you have your trial with binary tar archives in ~/my_trial +you can run the suite for example like this: + + osmo-gsm-tester.py ~/my_trial + +Specifically, from this dir: + + OSMO_GSM_TESTER_CONF="$PWD" ../src/osmo-gsm-tester.py ~/my_trial + +Alternatively you can setup this example as permanent config using something +like: + + mkdir -p ~/.config + ln -s "$PWD" ~/.config/osmo-gsm-tester + +A ./state dir will be created to store the current osmo-gsm-tester state. If +you prefer not to write to $PWD, set up an own configuration pointing at a +different path (see paths.conf: 'state_dir'). diff --git a/doc/examples/2g_osmocom/default-suites.conf b/doc/examples/2g_osmocom/default-suites.conf new file mode 100644 index 0000000..94cf9c5 --- /dev/null +++ b/doc/examples/2g_osmocom/default-suites.conf @@ -0,0 +1 @@ +- sms:trx-b200 diff --git a/doc/examples/2g_osmocom/defaults.conf b/doc/examples/2g_osmocom/defaults.conf new file mode 100644 index 0000000..06d596a --- /dev/null +++ b/doc/examples/2g_osmocom/defaults.conf @@ -0,0 +1,63 @@ +bsc: + net: + mcc: 901 + mnc: 70 + short_name: osmo-gsm-tester-msc + long_name: osmo-gsm-tester-msc + encryption: a5_0 + codec_list: + - fr1 + +msc: + net: + mcc: 901 + mnc: 70 + short_name: osmo-gsm-tester-msc + long_name: osmo-gsm-tester-msc + encryption: a5_0 + authentication: optional + +bsc_bts: + base_station_id_code: 63 + stream_id: 255 + osmobsc_bts_type: sysmobts + channel_allocator: ascending + gprs_mode: gprs + num_trx: 1 + max_trx: 1 + trx_list: + - nominal_power: 23 + max_power_red: 0 + arfcn: 868 + timeslot_list: + - phys_chan_config: CCCH+SDCCH4 + - phys_chan_config: SDCCH8 + - phys_chan_config: TCH/F + - phys_chan_config: TCH/F + - phys_chan_config: TCH/F + - phys_chan_config: TCH/F + - phys_chan_config: PDCH + - phys_chan_config: PDCH + - nominal_power: 23 + max_power_red: 0 + arfcn: 872 + timeslot_list: + - phys_chan_config: TCH/F + - phys_chan_config: SDCCH8 + - phys_chan_config: TCH/F + - phys_chan_config: TCH/F + - phys_chan_config: TCH/F + - phys_chan_config: TCH/F + - phys_chan_config: PDCH + - phys_chan_config: PDCH + +osmo_bts_trx: + max_trx: 2 + +osmo_trx: + type: uhd + launch_trx: true + clock_reference: internal + +iperf3cli: + time: 60 diff --git a/doc/examples/2g_osmocom/paths.conf b/doc/examples/2g_osmocom/paths.conf new file mode 100644 index 0000000..27c5818 --- /dev/null +++ b/doc/examples/2g_osmocom/paths.conf @@ -0,0 +1,3 @@ +state_dir: '/var/tmp/osmo-gsm-tester/state' +suites_dir: './suites' +scenarios_dir: './scenarios' diff --git a/doc/examples/2g_osmocom/resources.conf b/doc/examples/2g_osmocom/resources.conf new file mode 100644 index 0000000..087c445 --- /dev/null +++ b/doc/examples/2g_osmocom/resources.conf @@ -0,0 +1,40 @@ +# all hardware and interfaces available to this osmo-gsm-tester + +ip_address: +- addr: 10.42.42.2 +- addr: 10.42.42.3 +- addr: 10.42.42.4 +- addr: 10.42.42.5 +- addr: 10.42.42.6 +- addr: 10.42.42.7 + +bts: +- label: Ettus B200 + type: osmo-bts-trx + ipa_unit_id: 6 + addr: 10.42.42.50 + band: GSM-1800 + ciphers: [a5_0, a5_1, a5_3] + osmo_trx: + type: uhd + launch_trx: true + remote_user: jenkins + trx_ip: 10.42.42.116 + dev_args: "type=b200,serial=306BD11" + clock_reference: external + multi_arfcn: true + +modem: +- label: sierra_1st + path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.4/1-5.4.1/1-5.4.1.2' + ki: 'EBAB63D06C3F546A16C977CB40E57C68' + auth_algo: 'comp128v1' + ciphers: [a5_0, a5_1] + features: ['2g', 'sms', 'voice', 'ussd', 'sim'] + +- label: ec20_1 + path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.4/1-5.4.1/1-5.4.1.6' + ki: '07F35D0A9476646169669401215580E0' + auth_algo: 'comp128v1' + ciphers: [a5_0, a5_1] + features: ['2g', 'sms', 'voice', 'ussd', 'gprs', 'sim'] diff --git a/doc/examples/2g_osmocom/scenarios/trx-b200.conf b/doc/examples/2g_osmocom/scenarios/trx-b200.conf new file mode 100644 index 0000000..2bad7e8 --- /dev/null +++ b/doc/examples/2g_osmocom/scenarios/trx-b200.conf @@ -0,0 +1,4 @@ +resources: + bts: + - label: Ettus B200 + type: osmo-bts-trx diff --git a/doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py b/doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py new file mode 100755 index 0000000..7654ea6 --- /dev/null +++ b/doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +hlr = suite.hlr() +bts = suite.bts() +mgw_msc = suite.mgw() +mgw_bsc = suite.mgw() +stp = suite.stp() +msc = suite.msc(hlr, mgw_msc, stp) +bsc = suite.bsc(msc, mgw_bsc, stp) +ms_mo = suite.modem() +ms_mt = suite.modem() + +hlr.start() +stp.start() +msc.start() +mgw_msc.start() +mgw_bsc.start() + +bsc.bts_add(bts) +bsc.start() + +bts.start() +wait(bsc.bts_is_connected, bts) + +hlr.subscriber_add(ms_mo) +hlr.subscriber_add(ms_mt) + +ms_mo.connect(msc.mcc_mnc()) +ms_mt.connect(msc.mcc_mnc()) + +ms_mo.log_info() +ms_mt.log_info() + +print('waiting for modems to attach...') +wait(ms_mo.is_connected, msc.mcc_mnc()) +wait(ms_mt.is_connected, msc.mcc_mnc()) +wait(msc.subscriber_attached, ms_mo, ms_mt) + +sms = ms_mo.sms_send(ms_mt) +wait(ms_mt.sms_was_received, sms) diff --git a/doc/examples/2g_osmocom/suites/sms/suite.conf b/doc/examples/2g_osmocom/suites/sms/suite.conf new file mode 100644 index 0000000..28a81ea --- /dev/null +++ b/doc/examples/2g_osmocom/suites/sms/suite.conf @@ -0,0 +1,9 @@ +resources: + ip_address: + - times: 6 # msc, bsc, hlr, stp, mgw*2 + bts: + - times: 1 + modem: + - times: 2 + features: + - sms diff --git a/doc/examples/4g_srsLTE/README.txt b/doc/examples/4g_srsLTE/README.txt new file mode 100644 index 0000000..6840801 --- /dev/null +++ b/doc/examples/4g_srsLTE/README.txt @@ -0,0 +1,30 @@ +This a sample 4G test suite configured and ready to use srsLTE stack. +The only thing missing is a trial dir containing binaries. + +You can point osmo-gsm-tester.py at this config using the OSMO_GSM_TESTER_CONF +environment variable: + + export OSMO_GSM_TESTER_CONF="$PWD" + +When there is no OSMO_GSM_TESTER_CONF set, osmo-gsm-tester will instead look +for conf files in several locations like ~/.config/osmo-gsm-tester, +/usr/local/etc/osmo-gsm-tester, /etc/osmo-gsm-tester. + +If you have your trial with binary tar archives in ~/my_trial +you can run the suite for example like this: + + osmo-gsm-tester.py ~/my_trial + +Specifically, from this dir: + + OSMO_GSM_TESTER_CONF="$PWD" ../../src/osmo-gsm-tester.py ~/my_trial + +Alternatively you can setup this example as permanent config using something +like: + + mkdir -p ~/.config + ln -s "$PWD" ~/.config/osmo-gsm-tester + +A ./state dir will be created to store the current osmo-gsm-tester state. If +you prefer not to write to $PWD, set up an own configuration pointing at a +different path (see paths.conf: 'state_dir'). diff --git a/doc/examples/4g_srsLTE/default-suites.conf b/doc/examples/4g_srsLTE/default-suites.conf new file mode 100644 index 0000000..136cb92 --- /dev/null +++ b/doc/examples/4g_srsLTE/default-suites.conf @@ -0,0 +1,2 @@ +- 4g:srsue-rftype at uhd+srsenb-rftype@uhd+mod-enb-nprb at 6 +- 4g:srsue-rftype at zmq+srsenb-rftype@zmq+mod-enb-nprb at 25 diff --git a/doc/examples/4g_srsLTE/defaults.conf b/doc/examples/4g_srsLTE/defaults.conf new file mode 100644 index 0000000..4a3b4c4 --- /dev/null +++ b/doc/examples/4g_srsLTE/defaults.conf @@ -0,0 +1,40 @@ +epc: + type: srsepc + mcc: 901 + mnc: 70 + qci: 9 + +srsepc: + enable_pcap: false + +enb: + mcc: 901 + mnc: 70 + transmission_mode: 1 + num_cells: 1 + enable_measurements: false + a1_report_type: rsrp + a1_report_value: -105 + a1_hysteresis: 0 + a1_time_to_trigger: 640 + a2_report_type: rsrp + a2_report_value: -110 + a2_hysteresis: 0 + a2_time_to_trigger: 640 + a3_report_type: rsrp + a3_report_value: 6 + a3_hysteresis: 0 + a3_time_to_trigger: 480 + +srsenb: + num_prb: 100 + enable_pcap: false + +srsue: + enable_pcap: false + airplane_t_on_ms: -1 + airplane_t_off_ms: -1 + num_carriers: 1 + +iperf3cli: + time: 60 diff --git a/doc/examples/4g_srsLTE/paths.conf b/doc/examples/4g_srsLTE/paths.conf new file mode 100644 index 0000000..27c5818 --- /dev/null +++ b/doc/examples/4g_srsLTE/paths.conf @@ -0,0 +1,3 @@ +state_dir: '/var/tmp/osmo-gsm-tester/state' +suites_dir: './suites' +scenarios_dir: './scenarios' diff --git a/doc/examples/4g_srsLTE/resources.conf b/doc/examples/4g_srsLTE/resources.conf new file mode 100644 index 0000000..a1bdcbc --- /dev/null +++ b/doc/examples/4g_srsLTE/resources.conf @@ -0,0 +1,44 @@ +# all hardware and interfaces available to this osmo-gsm-tester + +# Used to run srsEPC on it: +run_node: +- run_type: ssh + run_addr: 172.18.50.100 + ssh_user: jenkins + ssh_addr: 172.18.50.100 + +enb: +- label: srsENB-zmq + type: srsenb + rf_dev_type: zmq + remote_user: jenkins + addr: 172.18.50.101 + +- label: srsENB-B200 + type: srsenb + rf_dev_type: uhd + rf_dev_args: 'type=b200,serial=317B9FE' + remote_user: jenkins + addr: 172.18.50.102 + +modem: +- label: srsUE-zmq + type: srsue + rf_dev_type: zmq + remote_user: jenkins + addr: 172.18.50.100 + imsi: '001010123456789' + ki: '00112233445566778899aabbccddeeff' + auth_algo: 'xor' + features: ['4g'] + +- label: srsUE-B200 + type: srsue + rf_dev_type: uhd + rf_dev_args: 'type=b200,serial=3128FF1' + remote_user: jenkins + addr: 10.12.1.195 + imsi: '001010123456789' + ki: '00112233445566778899aabbccddeeff' + auth_algo: 'xor' + features: ['4g'] diff --git a/doc/examples/4g_srsLTE/scenarios/cfg-epc-qci at .conf b/doc/examples/4g_srsLTE/scenarios/cfg-epc-qci at .conf new file mode 100644 index 0000000..8f9c937 --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/cfg-epc-qci at .conf @@ -0,0 +1,3 @@ +config: + epc: + qci: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/cfg-epc-type at .conf b/doc/examples/4g_srsLTE/scenarios/cfg-epc-type at .conf new file mode 100644 index 0000000..89b7fba --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/cfg-epc-type at .conf @@ -0,0 +1,3 @@ +config: + epc: + type: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/cfg-iperf3-time at .conf b/doc/examples/4g_srsLTE/scenarios/cfg-iperf3-time at .conf new file mode 100644 index 0000000..f46c59a --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/cfg-iperf3-time at .conf @@ -0,0 +1,3 @@ +config: + iperf3cli: + time: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/cfg-srs-enable-pcap.conf b/doc/examples/4g_srsLTE/scenarios/cfg-srs-enable-pcap.conf new file mode 100644 index 0000000..6927b80 --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/cfg-srs-enable-pcap.conf @@ -0,0 +1,7 @@ +config: + epc: + enable_pcap: true + enb: + enable_pcap: true + modem: + enable_pcap: true diff --git a/doc/examples/4g_srsLTE/scenarios/mod-enb-args at .conf b/doc/examples/4g_srsLTE/scenarios/mod-enb-args at .conf new file mode 100644 index 0000000..a758d01 --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/mod-enb-args at .conf @@ -0,0 +1,3 @@ +modifiers: + enb: + - additional_args: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/mod-enb-meas-event at .conf b/doc/examples/4g_srsLTE/scenarios/mod-enb-meas-event at .conf new file mode 100644 index 0000000..44f4fcd --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/mod-enb-meas-event at .conf @@ -0,0 +1,7 @@ +modifiers: + enb: + - enable_measurements: true + ${param1}_report_type: ${param2} + ${param1}_report_value: ${param3} + ${param1}_hysteresis: ${param4} + ${param1}_time_to_trigger: ${param5} diff --git a/doc/examples/4g_srsLTE/scenarios/mod-enb-ncells at .conf b/doc/examples/4g_srsLTE/scenarios/mod-enb-ncells at .conf new file mode 100644 index 0000000..b57b94a --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/mod-enb-ncells at .conf @@ -0,0 +1,3 @@ +modifiers: + enb: + - num_cells: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/mod-enb-nprb at .conf b/doc/examples/4g_srsLTE/scenarios/mod-enb-nprb at .conf new file mode 100644 index 0000000..f17347c --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/mod-enb-nprb at .conf @@ -0,0 +1,3 @@ +modifiers: + enb: + - num_prb: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/mod-enb-txmode at .conf b/doc/examples/4g_srsLTE/scenarios/mod-enb-txmode at .conf new file mode 100644 index 0000000..e0c8d01 --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/mod-enb-txmode at .conf @@ -0,0 +1,3 @@ +modifiers: + enb: + - transmission_mode: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/mod-modem-args at .conf b/doc/examples/4g_srsLTE/scenarios/mod-modem-args at .conf new file mode 100644 index 0000000..dde7796 --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/mod-modem-args at .conf @@ -0,0 +1,3 @@ +modifiers: + modem: + - additional_args: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/mod-srsue-airplane_mode_sim at .conf b/doc/examples/4g_srsLTE/scenarios/mod-srsue-airplane_mode_sim at .conf new file mode 100644 index 0000000..c05fba1 --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/mod-srsue-airplane_mode_sim at .conf @@ -0,0 +1,4 @@ +modifiers: + modem: + - airplane_t_on_ms: ${param1} + airplane_t_off_ms: ${param2} diff --git a/doc/examples/4g_srsLTE/scenarios/mod-srsue-ncarriers at .conf b/doc/examples/4g_srsLTE/scenarios/mod-srsue-ncarriers at .conf new file mode 100644 index 0000000..bb6409a --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/mod-srsue-ncarriers at .conf @@ -0,0 +1,3 @@ +modifiers: + modem: + - num_carriers: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/srsenb-rftype at .conf b/doc/examples/4g_srsLTE/scenarios/srsenb-rftype at .conf new file mode 100644 index 0000000..bf64b19 --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/srsenb-rftype at .conf @@ -0,0 +1,4 @@ +resources: + enb: + - type: srsenb + rf_dev_type: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/srsue-rftype at .conf b/doc/examples/4g_srsLTE/scenarios/srsue-rftype at .conf new file mode 100644 index 0000000..85a0609 --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/srsue-rftype at .conf @@ -0,0 +1,4 @@ +resources: + modem: + - type: srsue + rf_dev_type: ${param1} diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py new file mode 100755 index 0000000..88ae82d --- /dev/null +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +def print_result_node(result, node_str): + sent = result['end']['sum_sent'] + recv = result['end']['sum_received'] + print("Result %s:" % node_str) + print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) + print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) + +def print_results(cli_res, srv_res): + print_result_node(cli_res, 'client') + print_result_node(srv_res, 'server') + +epc = suite.epc() +enb = suite.enb() +ue = suite.modem() +iperf3srv = suite.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) +epc.start() +enb.ue_add(ue) +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) + +iperf3srv.start() +proc = iperf3cli.prepare_test_proc(True, ue.netns()) + +print('waiting for UE to attach...') +wait(ue.is_connected, None) +print('UE is attached') + +print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) +proc.launch_sync() +iperf3srv.stop() +print_results(iperf3cli.get_results(), iperf3srv.get_results()) + +max_rate = enb.ue_max_rate(downlink=True) +res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='dl_brate', criterion='gt') +print(res_str) +test.set_report_stdout(res_str) diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py new file mode 100755 index 0000000..597b50d --- /dev/null +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +def print_result_node(result, node_str): + sent = result['end']['sum_sent'] + recv = result['end']['sum_received'] + print("Result %s:" % node_str) + print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) + print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) + +def print_results(cli_res, srv_res): + print_result_node(cli_res, 'client') + print_result_node(srv_res, 'server') + +epc = suite.epc() +enb = suite.enb() +ue = suite.modem() +iperf3srv = suite.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) +epc.start() +enb.ue_add(ue) +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) + +iperf3srv.start() +proc = iperf3cli.prepare_test_proc(False, ue.netns()) + +print('waiting for UE to attach...') +wait(ue.is_connected, None) +print('UE is attached') + +print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) +proc.launch_sync() +iperf3srv.stop() +print_results(iperf3cli.get_results(), iperf3srv.get_results()) + +max_rate = enb.ue_max_rate(downlink=False) +res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='ul_brate', criterion='gt') +print(res_str) +test.set_report_stdout(res_str) diff --git a/doc/examples/4g_srsLTE/suites/4g/ping.py b/doc/examples/4g_srsLTE/suites/4g/ping.py new file mode 100755 index 0000000..17eee78 --- /dev/null +++ b/doc/examples/4g_srsLTE/suites/4g/ping.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +epc = suite.epc() +enb = suite.enb() +ue = suite.modem() + +epc.subscriber_add(ue) +epc.start() +enb.ue_add(ue) +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) +print('waiting for UE to attach...') +wait(ue.is_connected, None) +print('UE is attached') + +proc = ue.run_netns_wait('ping', ('ping', '-c', '10', epc.tun_addr())) +output = proc.get_stdout() +print(output) +test.set_report_stdout(output) diff --git a/doc/examples/4g_srsLTE/suites/4g/suite.conf b/doc/examples/4g_srsLTE/suites/4g/suite.conf new file mode 100644 index 0000000..e439e99 --- /dev/null +++ b/doc/examples/4g_srsLTE/suites/4g/suite.conf @@ -0,0 +1,12 @@ +resources: + run_node: # for EPC + - times: 1 + enb: + - times: 1 + modem: + - times: 1 + features: + - 4g + +defaults: + timeout: 180s -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17775 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: I55d5b1152da201799af21a77ef6c562f97bd94fc Gerrit-Change-Number: 17775 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 Apr 10 16:34:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 16:34:20 +0000 Subject: Change in osmo-ci[master]: jobs: osmo-gsm-tester: Update path to sysmocom's specific setup References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/17776 ) Change subject: jobs: osmo-gsm-tester: Update path to sysmocom's specific setup ...................................................................... jobs: osmo-gsm-tester: Update path to sysmocom's specific setup Since osmo-gsm-tester.git I364e0859c0851b9167907a4d948b659a0f6a19fb the example/ directory has been renamed to sysmocom/ Change-Id: I4c7516d2eb9636d37391a81dc9d484c0c04d7191 --- M jobs/osmo-gsm-tester-runner.yml 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/76/17776/1 diff --git a/jobs/osmo-gsm-tester-runner.yml b/jobs/osmo-gsm-tester-runner.yml index d00ecfa..788f057 100644 --- a/jobs/osmo-gsm-tester-runner.yml +++ b/jobs/osmo-gsm-tester-runner.yml @@ -225,9 +225,9 @@ - copy_artifact: repo: osmo-gsm-tester_build-osmocom-bb - shell: > - unlink osmo-gsm-tester/example/resources.conf || true + unlink osmo-gsm-tester/sysmocom/resources.conf || true - ln -s resources.conf.virtual osmo-gsm-tester/example/resources.conf + ln -s resources.conf.virtual osmo-gsm-tester/sysmocom/resources.conf # TODO: We (want to) grant CAP_SYS_NICE for osmo-bts-virtual # but with newer cgroup support and the --cpu-rt-runtime/--ulimit @@ -236,7 +236,7 @@ docker run --rm=true \ -e HOME=/build \ -e JOB_NAME="$JOB_NAME" \ - -e OSMO_GSM_TESTER_CONF="/build/osmo-gsm-tester/example" \ + -e OSMO_GSM_TESTER_CONF="/build/osmo-gsm-tester/sysmocom" \ -e OSMO_GSM_TESTER_OPTS="$OSMO_GSM_TESTER_OPTS" \ -e BUILD_NUMBER="$BUILD_NUMBER" \ -w /build -i \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17776 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4c7516d2eb9636d37391a81dc9d484c0c04d7191 Gerrit-Change-Number: 17776 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 Apr 10 16:38:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 16:38:08 +0000 Subject: Change in osmo-ci[master]: jobs: osmo-gsm-tester: Update path to sysmocom's specific setup In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ci/+/17776 ) Change subject: jobs: osmo-gsm-tester: Update path to sysmocom's specific setup ...................................................................... jobs: osmo-gsm-tester: Update path to sysmocom's specific setup Since osmo-gsm-tester.git I364e0859c0851b9167907a4d948b659a0f6a19fb the example/ directory has been renamed to sysmocom/ Change-Id: I4c7516d2eb9636d37391a81dc9d484c0c04d7191 --- M jobs/osmo-gsm-tester-runner.yml M jobs/osmo-gsm-tester_run-gerrit.sh M jobs/osmo-gsm-tester_run-prod.sh M jobs/osmo-gsm-tester_run-rnd.sh M jobs/osmo-gsm-tester_ttcn3.sh 5 files changed, 18 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/76/17776/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17776 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4c7516d2eb9636d37391a81dc9d484c0c04d7191 Gerrit-Change-Number: 17776 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Apr 10 17:00:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 17:00:23 +0000 Subject: Change in osmo-gsm-tester[master]: Move example/ and ttcn3/ to sysmocom/ and sysmocom/ttcn3 In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17774 ) Change subject: Move example/ and ttcn3/ to sysmocom/ and sysmocom/ttcn3 ...................................................................... Move example/ and ttcn3/ to sysmocom/ and sysmocom/ttcn3 This content is mostly specific to sysmocom's setup (thought it can still be re-used by other people if willing to). symlinks in ttcn3/ pointing to example/ are redone to point to sysmocom/. Change-Id: I364e0859c0851b9167907a4d948b659a0f6a19fb --- M .gitignore R sysmocom/README.txt R sysmocom/default-suites.conf R sysmocom/defaults.conf R sysmocom/paths.conf R sysmocom/resources.conf.prod R sysmocom/resources.conf.rnd R sysmocom/resources.conf.virtual R sysmocom/scenarios/amarisoftenb-rftype at .conf R sysmocom/scenarios/amarisoftue-rftype at .conf R sysmocom/scenarios/band-1800.conf R sysmocom/scenarios/band-1900.conf R sysmocom/scenarios/band-900.conf R sysmocom/scenarios/cfg-amarisoft-license at .conf R sysmocom/scenarios/cfg-codec-fr-any.conf R sysmocom/scenarios/cfg-codec-fr1.conf R sysmocom/scenarios/cfg-codec-fr2.conf R sysmocom/scenarios/cfg-codec-fr3.conf R sysmocom/scenarios/cfg-codec-hr1.conf R sysmocom/scenarios/cfg-codec-hr3.conf R sysmocom/scenarios/cfg-epc-qci at .conf R sysmocom/scenarios/cfg-epc-type at .conf R sysmocom/scenarios/cfg-iperf3-time at .conf R sysmocom/scenarios/cfg-srs-enable-pcap.conf R sysmocom/scenarios/cipher-a50.conf R sysmocom/scenarios/cipher-a51.conf R sysmocom/scenarios/mfeature-gprs.conf R sysmocom/scenarios/mod-bts0-chanallocdescend.conf R sysmocom/scenarios/mod-bts0-dynts-ipa.conf R sysmocom/scenarios/mod-bts0-dynts-osmo.conf R sysmocom/scenarios/mod-bts0-dynts67-ipa-compat-nanobts.conf R sysmocom/scenarios/mod-bts0-dynts67-ipa.conf R sysmocom/scenarios/mod-bts0-dynts67-osmo.conf R sysmocom/scenarios/mod-bts0-egprs.conf R sysmocom/scenarios/mod-bts0-numtrx2.conf R sysmocom/scenarios/mod-bts0-trxdversion0.conf R sysmocom/scenarios/mod-bts0-ts-tchf.conf R sysmocom/scenarios/mod-bts0-ts-tchh.conf R sysmocom/scenarios/mod-enb-args at .conf R sysmocom/scenarios/mod-enb-meas-event at .conf R sysmocom/scenarios/mod-enb-ncells at .conf R sysmocom/scenarios/mod-enb-nprb at .conf R sysmocom/scenarios/mod-enb-txmode at .conf R sysmocom/scenarios/mod-modem-args at .conf R sysmocom/scenarios/mod-srsue-airplane_mode_sim at .conf R sysmocom/scenarios/mod-srsue-ncarriers at .conf R sysmocom/scenarios/nanobts.conf R sysmocom/scenarios/oc2g.conf R sysmocom/scenarios/octphy.conf R sysmocom/scenarios/srsenb-rftype at .conf R sysmocom/scenarios/srsue-rftype at .conf R sysmocom/scenarios/sysmo.conf R sysmocom/scenarios/trx-b200.conf R sysmocom/scenarios/trx-lms-limenet-micro.conf R sysmocom/scenarios/trx-lms.conf R sysmocom/scenarios/trx-sysmocell5000.conf R sysmocom/scenarios/trx-umtrx.conf R sysmocom/scenarios/trx.conf R sysmocom/suites/4g/iperf3_dl.py R sysmocom/suites/4g/iperf3_ul.py R sysmocom/suites/4g/ping.py R sysmocom/suites/4g/suite.conf R sysmocom/suites/debug/interactive.py R sysmocom/suites/debug/suite.conf R sysmocom/suites/dynts/suite.conf R sysmocom/suites/dynts/switch_tch_pdch.py R sysmocom/suites/encryption/lib/testlib.py R sysmocom/suites/encryption/register_a5_0_authopt.py R sysmocom/suites/encryption/register_a5_0_authreq.py R sysmocom/suites/encryption/register_a5_1_authreq.py R sysmocom/suites/encryption/register_a5_3_authreq.py R sysmocom/suites/encryption/suite.conf R sysmocom/suites/gprs/cs_paging_gprs_active.py R sysmocom/suites/gprs/iperf3.py R sysmocom/suites/gprs/iperf3m4.py R sysmocom/suites/gprs/lib/testlib.py R sysmocom/suites/gprs/ping.py R sysmocom/suites/gprs/ping_idle_ping.py R sysmocom/suites/gprs/suite.conf R sysmocom/suites/nitb_debug/error.py R sysmocom/suites/nitb_debug/fail.py R sysmocom/suites/nitb_debug/fail_raise.py R sysmocom/suites/nitb_debug/interactive.py R sysmocom/suites/nitb_debug/pass.py R sysmocom/suites/nitb_debug/suite.conf R sysmocom/suites/nitb_netreg/register.py R sysmocom/suites/nitb_netreg/register_default.py R sysmocom/suites/nitb_netreg/suite.conf R sysmocom/suites/nitb_netreg_mass/register_default_mass.py R sysmocom/suites/nitb_netreg_mass/suite.conf R sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py R sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py R sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py R sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py R sysmocom/suites/nitb_smpp/suite.conf R sysmocom/suites/nitb_sms/mo_mt_sms.py R sysmocom/suites/nitb_sms/suite.conf R sysmocom/suites/nitb_ussd/assert_extension.py R sysmocom/suites/nitb_ussd/suite.conf R sysmocom/suites/smpp/esme_connect_policy_acceptall.py R sysmocom/suites/smpp/esme_connect_policy_closed.py R sysmocom/suites/smpp/esme_ms_sms_storeforward.py R sysmocom/suites/smpp/esme_ms_sms_transaction.py R sysmocom/suites/smpp/suite.conf R sysmocom/suites/sms/mo_mt_sms.py R sysmocom/suites/sms/suite.conf R sysmocom/suites/ussd/assert_extension.py R sysmocom/suites/ussd/suite.conf R sysmocom/suites/voice/lib/testlib.py R sysmocom/suites/voice/mo_mt_call.py R sysmocom/suites/voice/mo_mt_call_osmux.py R sysmocom/suites/voice/suite.conf R sysmocom/ttcn3/README.txt R sysmocom/ttcn3/default-suites.conf A sysmocom/ttcn3/defaults.conf R sysmocom/ttcn3/jenkins-run.sh R sysmocom/ttcn3/paths.conf A sysmocom/ttcn3/resources.conf.prod A sysmocom/ttcn3/resources.conf.rnd A sysmocom/ttcn3/scenarios/oc2g.conf A sysmocom/ttcn3/scenarios/sysmo.conf A sysmocom/ttcn3/scenarios/trx.conf R sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py R sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl R sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh R sysmocom/ttcn3/suites/ttcn3_bts_tests/suite.conf R sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py D ttcn3/defaults.conf D ttcn3/resources.conf.prod D ttcn3/resources.conf.rnd D ttcn3/scenarios/oc2g.conf D ttcn3/scenarios/sysmo.conf D ttcn3/scenarios/trx.conf 133 files changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/74/17774/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17774 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: I364e0859c0851b9167907a4d948b659a0f6a19fb Gerrit-Change-Number: 17774 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Apr 10 18:13:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 10 Apr 2020 18:13:23 +0000 Subject: Change in osmo-ci[master]: ansible: The network:osmocom:nightly key has changed *again* :( References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/17777 ) Change subject: ansible: The network:osmocom:nightly key has changed *again* :( ...................................................................... ansible: The network:osmocom:nightly key has changed *again* :( Change-Id: I1ddc792c23d7c7d6db9aea694ac615c1f5449782 --- M ansible/roles/gsm-tester-bts/files/Release.key 1 file changed, 9 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/77/17777/1 diff --git a/ansible/roles/gsm-tester-bts/files/Release.key b/ansible/roles/gsm-tester-bts/files/Release.key index a737316..4257562 100644 --- a/ansible/roles/gsm-tester-bts/files/Release.key +++ b/ansible/roles/gsm-tester-bts/files/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 -pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH -/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY -VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi -K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa -X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW -XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig -7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXoL5 +awIbAwUJEF/xbwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fBFkH +/Ry9IT3WkpyrKLi6wlTKBZTDGz58xDEd6i4fKr1sepgfexzmu/t1125A4Jyuy5Qp +wolWdVIxmo8Mo9/u16ssGV/Iiy4y+3v+yfOExUeaM5XS4eW5cWcySBi+y3PGL17o +Qf/iZDnzJtx16kMgD+lybTFSRDhRg4BV1egMMtOV/XIhC7mp0Gt6oOU72fGuWFKs +3prY+XmL20x8+FfI35sXRAQu2L7OBDnUJoHHuHIT1s5no5JSYubctY/KNT/9YGme +DSspyOxXJTo6YgOJStyMQZ3DaE4XxSnGpzPV27OnfMWjRf+KLvgFjx9n/zPIzBTh +Q9gL7GfQUOkJ5L0GrOvVxBiIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=/Tek +=zwAO -----END PGP PUBLIC KEY BLOCK----- -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1ddc792c23d7c7d6db9aea694ac615c1f5449782 Gerrit-Change-Number: 17777 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 Apr 10 18:55:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 10 Apr 2020 18:55:42 +0000 Subject: Change in docker-playground[master]: move all osmo-*-master containers to Debian 10 (buster) References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17778 ) Change subject: move all osmo-*-master containers to Debian 10 (buster) ...................................................................... move all osmo-*-master containers to Debian 10 (buster) We keep osmo-*-latest with Debian 9 (stretch) so we actually have some tests on both of the distributions. Not entirely sure if we should do that, or simply also move the 'lastest' tests to 10. Change-Id: Ibcf323a1fc5c660779a7005127d7cdb4577a9495 --- M osmo-bsc-master/Dockerfile M osmo-bts-master/Dockerfile M osmo-ggsn-master/Dockerfile M osmo-hlr-master/Dockerfile M osmo-hnbgw-master/Dockerfile M osmo-mgw-master/Dockerfile M osmo-msc-master/Dockerfile M osmo-nitb-master/Dockerfile M osmo-pcu-master/Dockerfile M osmo-remsim-master/Dockerfile M osmo-sgsn-master/Dockerfile M osmo-sip-master/Dockerfile M osmo-stp-master/Dockerfile M osmocom-bb-host-master/Dockerfile 14 files changed, 28 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/78/17778/1 diff --git a/osmo-bsc-master/Dockerfile b/osmo-bsc-master/Dockerfile index 75afbb7..99303a6 100644 --- a/osmo-bsc-master/Dockerfile +++ b/osmo-bsc-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +FROM $USER/debian-buster-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/" COPY Release.key /tmp/Release.key diff --git a/osmo-bts-master/Dockerfile b/osmo-bts-master/Dockerfile index b73f2ac..9f1403f 100644 --- a/osmo-bts-master/Dockerfile +++ b/osmo-bts-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +FROM $USER/debian-buster-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/" COPY Release.key /tmp/Release.key diff --git a/osmo-ggsn-master/Dockerfile b/osmo-ggsn-master/Dockerfile index 3802670..78f580f 100644 --- a/osmo-ggsn-master/Dockerfile +++ b/osmo-ggsn-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +FROM $USER/debian-buster-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/" COPY Release.key /tmp/Release.key diff --git a/osmo-hlr-master/Dockerfile b/osmo-hlr-master/Dockerfile index 6a09b0d..41d89a2 100644 --- a/osmo-hlr-master/Dockerfile +++ b/osmo-hlr-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +FROM $USER/debian-buster-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/" COPY Release.key /tmp/Release.key diff --git a/osmo-hnbgw-master/Dockerfile b/osmo-hnbgw-master/Dockerfile index 951b95b..d618ce9 100644 --- a/osmo-hnbgw-master/Dockerfile +++ b/osmo-hnbgw-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +FROM $USER/debian-buster-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/" COPY Release.key /tmp/Release.key diff --git a/osmo-mgw-master/Dockerfile b/osmo-mgw-master/Dockerfile index f898c7e..cec68cb 100644 --- a/osmo-mgw-master/Dockerfile +++ b/osmo-mgw-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +FROM $USER/debian-buster-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/" COPY Release.key /tmp/Release.key diff --git a/osmo-msc-master/Dockerfile b/osmo-msc-master/Dockerfile index 55e5d6e..77d0bb0 100644 --- a/osmo-msc-master/Dockerfile +++ b/osmo-msc-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +FROM $USER/debian-buster-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/" COPY Release.key /tmp/Release.key diff --git a/osmo-nitb-master/Dockerfile b/osmo-nitb-master/Dockerfile index 0dad7fa..9355e48 100644 --- a/osmo-nitb-master/Dockerfile +++ b/osmo-nitb-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +FROM $USER/debian-buster-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/" COPY Release.key /tmp/Release.key diff --git a/osmo-pcu-master/Dockerfile b/osmo-pcu-master/Dockerfile index 1aed8c9..69a99b6 100644 --- a/osmo-pcu-master/Dockerfile +++ b/osmo-pcu-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +FROM $USER/debian-buster-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/" COPY Release.key /tmp/Release.key diff --git a/osmo-remsim-master/Dockerfile b/osmo-remsim-master/Dockerfile index 0a15d93..ba193a5 100644 --- a/osmo-remsim-master/Dockerfile +++ b/osmo-remsim-master/Dockerfile @@ -1,5 +1,5 @@ ARG USER -FROM $USER/debian-stretch-build +FROM $USER/debian-buster-build MAINTAINER Harald Welte @@ -18,7 +18,7 @@ RUN cd vsmartcard/virtualsmartcard && autoreconf -fi && ./configure && make -j8 install -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/" COPY Release.key /tmp/Release.key diff --git a/osmo-sgsn-master/Dockerfile b/osmo-sgsn-master/Dockerfile index 10fc92e..b29f87b 100644 --- a/osmo-sgsn-master/Dockerfile +++ b/osmo-sgsn-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +FROM $USER/debian-buster-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/" COPY Release.key /tmp/Release.key diff --git a/osmo-sip-master/Dockerfile b/osmo-sip-master/Dockerfile index 2407984..9f5c126 100644 --- a/osmo-sip-master/Dockerfile +++ b/osmo-sip-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +FROM $USER/debian-buster-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/" COPY Release.key /tmp/Release.key diff --git a/osmo-stp-master/Dockerfile b/osmo-stp-master/Dockerfile index 62bcbc7..ac38d5c 100644 --- a/osmo-stp-master/Dockerfile +++ b/osmo-stp-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +FROM $USER/debian-buster-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/" COPY Release.key /tmp/Release.key diff --git a/osmocom-bb-host-master/Dockerfile b/osmocom-bb-host-master/Dockerfile index 1d79f06..2e9f218 100644 --- a/osmocom-bb-host-master/Dockerfile +++ b/osmocom-bb-host-master/Dockerfile @@ -1,11 +1,11 @@ ARG USER -FROM $USER/debian-stretch-build +FROM $USER/debian-buster-build MAINTAINER Harald Welte ARG OSMO_BB_BRANCH="master" -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/" COPY Release.key /tmp/Release.key -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibcf323a1fc5c660779a7005127d7cdb4577a9495 Gerrit-Change-Number: 17778 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 Apr 10 19:03:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 19:03:03 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Update path to sysmocom's specific setup References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17779 ) Change subject: osmo-gsm-tester: Update path to sysmocom's specific setup ...................................................................... osmo-gsm-tester: Update path to sysmocom's specific setup Since osmo-gsm-tester.git I364e0859c0851b9167907a4d948b659a0f6a19fb the example/ directory has been renamed to sysmocom/ Change-Id: I8ca085e02330be51de12066da0555c1bc0c8b767 --- M osmo-gsm-tester/Dockerfile 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/79/17779/1 diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index 303642b..b46fe4c 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -130,9 +130,9 @@ RUN mkdir -p /etc/security/limits.d/ && cp osmo-gsm-tester/utils/limits.d/* /etc/security/limits.d/ VOLUME /data -COPY resources.conf /tmp/osmo-gsm-tester/example/resources.conf +COPY resources.conf /tmp/osmo-gsm-tester/sysmocom/resources.conf -ENV OSMO_GSM_TESTER_CONF /tmp/osmo-gsm-tester/example +ENV OSMO_GSM_TESTER_CONF /tmp/osmo-gsm-tester/sysmocom WORKDIR /data CMD ["/bin/sh", "-c", "/data/osmo-gsm-tester-master.sh >/data/osmo-gsm-tester.log 2>&1"] -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17779 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8ca085e02330be51de12066da0555c1bc0c8b767 Gerrit-Change-Number: 17779 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 Apr 10 19:05:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 19:05:56 +0000 Subject: Change in osmo-gsm-tester[master]: Rename object classes to be {obj_class}_{implementation} References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17780 ) Change subject: Rename object classes to be {obj_class}_{implementation} ...................................................................... Rename object classes to be {obj_class}_{implementation} Change-Id: Ieafd96d7ee5b4baef08ca767629b93834f6a8c7c --- R src/osmo_gsm_tester/bsc_osmo.py R src/osmo_gsm_tester/enb_amarisoft.py R src/osmo_gsm_tester/enb_srs.py R src/osmo_gsm_tester/epc_amarisoft.py R src/osmo_gsm_tester/epc_srs.py R src/osmo_gsm_tester/ggsn_osmo.py R src/osmo_gsm_tester/hlr_osmo.py R src/osmo_gsm_tester/mgcpgw_osmo.py R src/osmo_gsm_tester/mgw_osmo.py R src/osmo_gsm_tester/ms_amarisoft.py R src/osmo_gsm_tester/ms_srs.py R src/osmo_gsm_tester/msc_osmo.py R src/osmo_gsm_tester/nitb_osmo.py M src/osmo_gsm_tester/resource.py R src/osmo_gsm_tester/sgsn_osmo.py R src/osmo_gsm_tester/stp_osmo.py M src/osmo_gsm_tester/suite.py 17 files changed, 18 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/80/17780/1 diff --git a/src/osmo_gsm_tester/osmo_bsc.py b/src/osmo_gsm_tester/bsc_osmo.py similarity index 100% rename from src/osmo_gsm_tester/osmo_bsc.py rename to src/osmo_gsm_tester/bsc_osmo.py diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/enb_amarisoft.py similarity index 99% rename from src/osmo_gsm_tester/amarisoft_enb.py rename to src/osmo_gsm_tester/enb_amarisoft.py index c92bf50..1487bdd 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/enb_amarisoft.py @@ -49,7 +49,7 @@ REMOTE_DIR = '/osmo-gsm-tester-amarisoftenb' BINFILE = 'lteenb' - CFGFILE = 'amarisoft_enb.cfg' + CFGFILE = 'enb_amarisoft.cfg' CFGFILE_SIB1 = 'amarisoft_sib1.asn' CFGFILE_SIB23 = 'amarisoft_sib23.asn' CFGFILE_RF = 'amarisoft_rf_driver.cfg' diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/enb_srs.py similarity index 100% rename from src/osmo_gsm_tester/srs_enb.py rename to src/osmo_gsm_tester/enb_srs.py diff --git a/src/osmo_gsm_tester/amarisoft_epc.py b/src/osmo_gsm_tester/epc_amarisoft.py similarity index 100% rename from src/osmo_gsm_tester/amarisoft_epc.py rename to src/osmo_gsm_tester/epc_amarisoft.py diff --git a/src/osmo_gsm_tester/srs_epc.py b/src/osmo_gsm_tester/epc_srs.py similarity index 100% rename from src/osmo_gsm_tester/srs_epc.py rename to src/osmo_gsm_tester/epc_srs.py diff --git a/src/osmo_gsm_tester/osmo_ggsn.py b/src/osmo_gsm_tester/ggsn_osmo.py similarity index 100% rename from src/osmo_gsm_tester/osmo_ggsn.py rename to src/osmo_gsm_tester/ggsn_osmo.py diff --git a/src/osmo_gsm_tester/osmo_hlr.py b/src/osmo_gsm_tester/hlr_osmo.py similarity index 100% rename from src/osmo_gsm_tester/osmo_hlr.py rename to src/osmo_gsm_tester/hlr_osmo.py diff --git a/src/osmo_gsm_tester/osmo_mgcpgw.py b/src/osmo_gsm_tester/mgcpgw_osmo.py similarity index 100% rename from src/osmo_gsm_tester/osmo_mgcpgw.py rename to src/osmo_gsm_tester/mgcpgw_osmo.py diff --git a/src/osmo_gsm_tester/osmo_mgw.py b/src/osmo_gsm_tester/mgw_osmo.py similarity index 100% rename from src/osmo_gsm_tester/osmo_mgw.py rename to src/osmo_gsm_tester/mgw_osmo.py diff --git a/src/osmo_gsm_tester/amarisoft_ue.py b/src/osmo_gsm_tester/ms_amarisoft.py similarity index 100% rename from src/osmo_gsm_tester/amarisoft_ue.py rename to src/osmo_gsm_tester/ms_amarisoft.py diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/ms_srs.py similarity index 100% rename from src/osmo_gsm_tester/srs_ue.py rename to src/osmo_gsm_tester/ms_srs.py diff --git a/src/osmo_gsm_tester/osmo_msc.py b/src/osmo_gsm_tester/msc_osmo.py similarity index 100% rename from src/osmo_gsm_tester/osmo_msc.py rename to src/osmo_gsm_tester/msc_osmo.py diff --git a/src/osmo_gsm_tester/osmo_nitb.py b/src/osmo_gsm_tester/nitb_osmo.py similarity index 100% rename from src/osmo_gsm_tester/osmo_nitb.py rename to src/osmo_gsm_tester/nitb_osmo.py diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index c58bdc7..fa17bcd 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -29,7 +29,7 @@ from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g from . import modem from . import ms_osmo_mobile -from . import srs_ue, amarisoft_ue, srs_enb, amarisoft_enb, srs_epc, amarisoft_epc +from . import ms_srs, ms_amarisoft, enb_srs, enb_amarisoft, epc_srs, epc_amarisoft from .util import is_dict, is_list @@ -157,13 +157,13 @@ } KNOWN_ENB_TYPES = { - 'srsenb': srs_enb.srsENB, - 'amarisoftenb': amarisoft_enb.AmarisoftENB, + 'srsenb': enb_srs.srsENB, + 'amarisoftenb': enb_amarisoft.AmarisoftENB, } KNOWN_EPC_TYPES = { - 'srsepc': srs_epc.srsEPC, - 'amarisoftepc': amarisoft_epc.AmarisoftEPC, + 'srsepc': epc_srs.srsEPC, + 'amarisoftepc': epc_amarisoft.AmarisoftEPC, } KNOWN_MS_TYPES = { @@ -171,8 +171,8 @@ None: modem.Modem, 'ofono': modem.Modem, 'osmo-mobile': ms_osmo_mobile.MSOsmoMobile, - 'srsue': srs_ue.srsUE, - 'amarisoftue': amarisoft_ue.AmarisoftUE, + 'srsue': ms_srs.srsUE, + 'amarisoftue': ms_amarisoft.AmarisoftUE, } diff --git a/src/osmo_gsm_tester/osmo_sgsn.py b/src/osmo_gsm_tester/sgsn_osmo.py similarity index 100% rename from src/osmo_gsm_tester/osmo_sgsn.py rename to src/osmo_gsm_tester/sgsn_osmo.py diff --git a/src/osmo_gsm_tester/osmo_stp.py b/src/osmo_gsm_tester/stp_osmo.py similarity index 100% rename from src/osmo_gsm_tester/osmo_stp.py rename to src/osmo_gsm_tester/stp_osmo.py diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index 5076671..0ddd95f 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -23,7 +23,7 @@ import pprint from . import config, log, util, resource, test from .event_loop import MainLoop -from . import osmo_nitb, osmo_hlr, osmo_mgcpgw, osmo_mgw, osmo_msc, osmo_bsc, osmo_stp, osmo_ggsn, osmo_sgsn, esme, osmocon, ms_driver, iperf3, process +from . import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3, process from . import run_node class Timeout(Exception): @@ -275,47 +275,47 @@ def nitb(self, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_nitb.OsmoNitb(self, ip_address) + return nitb_osmo.OsmoNitb(self, ip_address) def hlr(self, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_hlr.OsmoHlr(self, ip_address) + return hlr_osmo.OsmoHlr(self, ip_address) def ggsn(self, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_ggsn.OsmoGgsn(self, ip_address) + return ggsn_osmo.OsmoGgsn(self, ip_address) def sgsn(self, hlr, ggsn, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_sgsn.OsmoSgsn(self, hlr, ggsn, ip_address) + return sgsn_osmo.OsmoSgsn(self, hlr, ggsn, ip_address) def mgcpgw(self, ip_address=None, bts_ip=None): if ip_address is None: ip_address = self.ip_address() - return osmo_mgcpgw.OsmoMgcpgw(self, ip_address, bts_ip) + return mgcpgw_osmo.OsmoMgcpgw(self, ip_address, bts_ip) def mgw(self, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_mgw.OsmoMgw(self, ip_address) + return mgw_osmo.OsmoMgw(self, ip_address) def msc(self, hlr, mgcpgw, stp, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_msc.OsmoMsc(self, hlr, mgcpgw, stp, ip_address) + return msc_osmo.OsmoMsc(self, hlr, mgcpgw, stp, ip_address) def bsc(self, msc, mgw, stp, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_bsc.OsmoBsc(self, msc, mgw, stp, ip_address) + return bsc_osmo.OsmoBsc(self, msc, mgw, stp, ip_address) def stp(self, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_stp.OsmoStp(self, ip_address) + return stp_osmo.OsmoStp(self, ip_address) def ms_driver(self): ms = ms_driver.MsDriver(self) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17780 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: Ieafd96d7ee5b4baef08ca767629b93834f6a8c7c Gerrit-Change-Number: 17780 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 Apr 10 19:05:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 19:05:57 +0000 Subject: Change in osmo-gsm-tester[master]: Create core directory to contain most of code not in object classes u... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17781 ) Change subject: Create core directory to contain most of code not in object classes used by tests ...................................................................... Create core directory to contain most of code not in object classes used by tests Change-Id: I9aec6c55ccd71894182057d36e0025b69925d314 --- M src/osmo-gsm-tester.py M src/osmo_gsm_tester/bsc_osmo.py M src/osmo_gsm_tester/bts.py M src/osmo_gsm_tester/bts_nanobts.py M src/osmo_gsm_tester/bts_oc2g.py M src/osmo_gsm_tester/bts_octphy.py M src/osmo_gsm_tester/bts_osmo.py M src/osmo_gsm_tester/bts_osmotrx.py M src/osmo_gsm_tester/bts_osmovirtual.py M src/osmo_gsm_tester/bts_sysmo.py A src/osmo_gsm_tester/core/__init__.py R src/osmo_gsm_tester/core/config.py R src/osmo_gsm_tester/core/event_loop.py R src/osmo_gsm_tester/core/log.py R src/osmo_gsm_tester/core/process.py R src/osmo_gsm_tester/core/remote.py R src/osmo_gsm_tester/core/schema.py R src/osmo_gsm_tester/core/template.py R src/osmo_gsm_tester/core/util.py M src/osmo_gsm_tester/enb.py M src/osmo_gsm_tester/enb_amarisoft.py M src/osmo_gsm_tester/enb_srs.py M src/osmo_gsm_tester/epc.py M src/osmo_gsm_tester/epc_amarisoft.py M src/osmo_gsm_tester/epc_srs.py M src/osmo_gsm_tester/esme.py M src/osmo_gsm_tester/ggsn_osmo.py M src/osmo_gsm_tester/hlr_osmo.py M src/osmo_gsm_tester/iperf3.py M src/osmo_gsm_tester/mgcpgw_osmo.py M src/osmo_gsm_tester/mgw_osmo.py M src/osmo_gsm_tester/modem.py M src/osmo_gsm_tester/ms.py M src/osmo_gsm_tester/ms_amarisoft.py M src/osmo_gsm_tester/ms_driver.py M src/osmo_gsm_tester/ms_srs.py M src/osmo_gsm_tester/msc_osmo.py M src/osmo_gsm_tester/nitb_osmo.py M src/osmo_gsm_tester/osmo_ctrl.py M src/osmo_gsm_tester/osmocon.py M src/osmo_gsm_tester/pcap_recorder.py M src/osmo_gsm_tester/pcu.py M src/osmo_gsm_tester/pcu_oc2g.py M src/osmo_gsm_tester/pcu_osmo.py M src/osmo_gsm_tester/pcu_sysmo.py M src/osmo_gsm_tester/powersupply.py M src/osmo_gsm_tester/powersupply_intellinet.py M src/osmo_gsm_tester/powersupply_sispm.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/run_node.py M src/osmo_gsm_tester/sgsn_osmo.py M src/osmo_gsm_tester/smsc.py M src/osmo_gsm_tester/stp_osmo.py M src/osmo_gsm_tester/suite.py M src/osmo_gsm_tester/test.py M src/osmo_gsm_tester/trial.py M src/osmo_ms_driver/__main__.py M src/osmo_ms_driver/event_server.py M src/osmo_ms_driver/simple_loop.py M src/osmo_ms_driver/starter.py M src/osmo_ms_driver/test_support.py 61 files changed, 100 insertions(+), 76 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/81/17781/1 diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py index 18b852b..df87957 100755 --- a/src/osmo-gsm-tester.py +++ b/src/osmo-gsm-tester.py @@ -70,7 +70,8 @@ import argparse from signal import * from osmo_gsm_tester import __version__ -from osmo_gsm_tester import trial, suite, log, config +from osmo_gsm_tester.core import log, config +from osmo_gsm_tester import trial, suite def sig_handler_cleanup(signum, frame): print("killed by signal %d" % signum) diff --git a/src/osmo_gsm_tester/bsc_osmo.py b/src/osmo_gsm_tester/bsc_osmo.py index 4160527..e9d1631 100644 --- a/src/osmo_gsm_tester/bsc_osmo.py +++ b/src/osmo_gsm_tester/bsc_osmo.py @@ -21,7 +21,8 @@ import re import pprint -from . import log, util, config, template, process, osmo_ctrl, pcap_recorder +from .core import log, util, config, template, process +from . import osmo_ctrl, pcap_recorder class OsmoBsc(log.Origin): diff --git a/src/osmo_gsm_tester/bts.py b/src/osmo_gsm_tester/bts.py index 2ca44d2..a20bd53 100644 --- a/src/osmo_gsm_tester/bts.py +++ b/src/osmo_gsm_tester/bts.py @@ -19,7 +19,7 @@ import copy from abc import ABCMeta, abstractmethod -from . import log, config, schema +from .core import log, config, schema class Bts(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/bts_nanobts.py b/src/osmo_gsm_tester/bts_nanobts.py index 4cdb98e..539e5ed 100644 --- a/src/osmo_gsm_tester/bts_nanobts.py +++ b/src/osmo_gsm_tester/bts_nanobts.py @@ -20,9 +20,10 @@ import os import re import json -from . import log, config, util, process, pcap_recorder, bts, pcu +from .core import log, config, util, process +from .core.event_loop import MainLoop +from . import pcap_recorder, bts, pcu from . import powersupply -from .event_loop import MainLoop class NanoBts(bts.Bts): diff --git a/src/osmo_gsm_tester/bts_oc2g.py b/src/osmo_gsm_tester/bts_oc2g.py index d1f80b7..0cebc09 100644 --- a/src/osmo_gsm_tester/bts_oc2g.py +++ b/src/osmo_gsm_tester/bts_oc2g.py @@ -19,7 +19,8 @@ import os import pprint -from . import log, config, util, template, process, remote, pcu_oc2g, bts_osmo +from .core import log, config, util, template, process, remote +from . import pcu_oc2g, bts_osmo class OsmoBtsOC2G(bts_osmo.OsmoBts): ############## diff --git a/src/osmo_gsm_tester/bts_octphy.py b/src/osmo_gsm_tester/bts_octphy.py index a1dd494..e15cc15 100644 --- a/src/osmo_gsm_tester/bts_octphy.py +++ b/src/osmo_gsm_tester/bts_octphy.py @@ -19,7 +19,8 @@ import os import pprint -from . import log, config, util, template, process, bts_osmo +from .core import log, config, util, template, process +from . import bts_osmo class OsmoBtsOctphy(bts_osmo.OsmoBtsMainUnit): diff --git a/src/osmo_gsm_tester/bts_osmo.py b/src/osmo_gsm_tester/bts_osmo.py index 9105c28..39ca264 100644 --- a/src/osmo_gsm_tester/bts_osmo.py +++ b/src/osmo_gsm_tester/bts_osmo.py @@ -20,7 +20,8 @@ import os import tempfile from abc import ABCMeta, abstractmethod -from . import log, bts, pcu_osmo +from .core import log +from . import bts, pcu_osmo class OsmoBts(bts.Bts, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/bts_osmotrx.py b/src/osmo_gsm_tester/bts_osmotrx.py index 22ff4b6..91a1dd8 100644 --- a/src/osmo_gsm_tester/bts_osmotrx.py +++ b/src/osmo_gsm_tester/bts_osmotrx.py @@ -20,9 +20,9 @@ import os import pprint from abc import ABCMeta, abstractmethod -from . import log, config, util, template, process, remote, bts_osmo -from . import powersupply -from .event_loop import MainLoop +from .core import log, config, util, template, process, remote +from .core.event_loop import MainLoop +from . import powersupply, bts_osmo class OsmoBtsTrx(bts_osmo.OsmoBtsMainUnit): ############## diff --git a/src/osmo_gsm_tester/bts_osmovirtual.py b/src/osmo_gsm_tester/bts_osmovirtual.py index 516d992..262c805 100644 --- a/src/osmo_gsm_tester/bts_osmovirtual.py +++ b/src/osmo_gsm_tester/bts_osmovirtual.py @@ -20,7 +20,8 @@ import os import pprint -from . import config, util, template, process, bts_osmo +from .core import config, util, template, process +from . import bts_osmo class OsmoBtsVirtual(bts_osmo.OsmoBtsMainUnit): ############## @@ -112,4 +113,3 @@ self.suite_run.poll() # vim: expandtab tabstop=4 shiftwidth=4 - diff --git a/src/osmo_gsm_tester/bts_sysmo.py b/src/osmo_gsm_tester/bts_sysmo.py index d616e29..d28b034 100644 --- a/src/osmo_gsm_tester/bts_sysmo.py +++ b/src/osmo_gsm_tester/bts_sysmo.py @@ -19,7 +19,8 @@ import os import pprint -from . import log, config, util, template, process, remote, pcu_sysmo, bts_osmo +from .core import log, config, util, template, process, remote +from . import pcu_sysmo, bts_osmo class SysmoBts(bts_osmo.OsmoBts): ############## diff --git a/src/osmo_gsm_tester/core/__init__.py b/src/osmo_gsm_tester/core/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/osmo_gsm_tester/core/__init__.py diff --git a/src/osmo_gsm_tester/config.py b/src/osmo_gsm_tester/core/config.py similarity index 100% rename from src/osmo_gsm_tester/config.py rename to src/osmo_gsm_tester/core/config.py diff --git a/src/osmo_gsm_tester/event_loop.py b/src/osmo_gsm_tester/core/event_loop.py similarity index 100% rename from src/osmo_gsm_tester/event_loop.py rename to src/osmo_gsm_tester/core/event_loop.py diff --git a/src/osmo_gsm_tester/log.py b/src/osmo_gsm_tester/core/log.py similarity index 100% rename from src/osmo_gsm_tester/log.py rename to src/osmo_gsm_tester/core/log.py diff --git a/src/osmo_gsm_tester/process.py b/src/osmo_gsm_tester/core/process.py similarity index 100% rename from src/osmo_gsm_tester/process.py rename to src/osmo_gsm_tester/core/process.py diff --git a/src/osmo_gsm_tester/remote.py b/src/osmo_gsm_tester/core/remote.py similarity index 98% rename from src/osmo_gsm_tester/remote.py rename to src/osmo_gsm_tester/core/remote.py index ba1a5e1..95b8967 100644 --- a/src/osmo_gsm_tester/remote.py +++ b/src/osmo_gsm_tester/core/remote.py @@ -22,7 +22,7 @@ import re import pprint -from . import log, util, config, template, process, osmo_ctrl, pcap_recorder +from . import log, util, config, template, process class RemoteHost(log.Origin): diff --git a/src/osmo_gsm_tester/schema.py b/src/osmo_gsm_tester/core/schema.py similarity index 100% rename from src/osmo_gsm_tester/schema.py rename to src/osmo_gsm_tester/core/schema.py diff --git a/src/osmo_gsm_tester/template.py b/src/osmo_gsm_tester/core/template.py similarity index 95% rename from src/osmo_gsm_tester/template.py rename to src/osmo_gsm_tester/core/template.py index dac89f2..2bf4fed 100644 --- a/src/osmo_gsm_tester/template.py +++ b/src/osmo_gsm_tester/core/template.py @@ -32,7 +32,7 @@ global _logger if not templates_dirs: # default templates dir is relative to this source file - templates_dirs = [os.path.join(os.path.dirname(__file__), 'templates')] + templates_dirs = [os.path.join(os.path.dirname(os.path.dirname(__file__)), 'templates')] for d in templates_dirs: if not os.path.isdir(d): raise RuntimeError('templates dir is not a dir: %r' diff --git a/src/osmo_gsm_tester/util.py b/src/osmo_gsm_tester/core/util.py similarity index 100% rename from src/osmo_gsm_tester/util.py rename to src/osmo_gsm_tester/core/util.py diff --git a/src/osmo_gsm_tester/enb.py b/src/osmo_gsm_tester/enb.py index d069f84..edaf462 100644 --- a/src/osmo_gsm_tester/enb.py +++ b/src/osmo_gsm_tester/enb.py @@ -18,7 +18,7 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from . import log, config +from .core import log, config class eNodeB(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/enb_amarisoft.py b/src/osmo_gsm_tester/enb_amarisoft.py index 1487bdd..a058653 100644 --- a/src/osmo_gsm_tester/enb_amarisoft.py +++ b/src/osmo_gsm_tester/enb_amarisoft.py @@ -20,7 +20,7 @@ import os import pprint -from . import log, util, config, template, process, remote +from .core import log, util, config, template, process, remote from . import enb def rf_type_valid(rf_type_str): diff --git a/src/osmo_gsm_tester/enb_srs.py b/src/osmo_gsm_tester/enb_srs.py index 372848d..079671a 100644 --- a/src/osmo_gsm_tester/enb_srs.py +++ b/src/osmo_gsm_tester/enb_srs.py @@ -20,7 +20,7 @@ import os import pprint -from . import log, util, config, template, process, remote +from .core import log, util, config, template, process, remote from . import enb def rf_type_valid(rf_type_str): diff --git a/src/osmo_gsm_tester/epc.py b/src/osmo_gsm_tester/epc.py index 6aa17e7..9141455 100644 --- a/src/osmo_gsm_tester/epc.py +++ b/src/osmo_gsm_tester/epc.py @@ -18,7 +18,7 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from . import log, config +from .core import log, config class EPC(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/epc_amarisoft.py b/src/osmo_gsm_tester/epc_amarisoft.py index a117a9e..33b8162 100644 --- a/src/osmo_gsm_tester/epc_amarisoft.py +++ b/src/osmo_gsm_tester/epc_amarisoft.py @@ -20,7 +20,7 @@ import os import pprint -from . import log, util, config, template, process, remote +from .core import log, util, config, template, process, remote from . import epc class AmarisoftEPC(epc.EPC): diff --git a/src/osmo_gsm_tester/epc_srs.py b/src/osmo_gsm_tester/epc_srs.py index 7c32486..4a45c7e 100644 --- a/src/osmo_gsm_tester/epc_srs.py +++ b/src/osmo_gsm_tester/epc_srs.py @@ -20,7 +20,7 @@ import os import pprint -from . import log, util, config, template, process, remote +from .core import log, util, config, template, process, remote from . import epc class srsEPC(epc.EPC): diff --git a/src/osmo_gsm_tester/esme.py b/src/osmo_gsm_tester/esme.py index de3ac16..048b69e 100644 --- a/src/osmo_gsm_tester/esme.py +++ b/src/osmo_gsm_tester/esme.py @@ -23,8 +23,8 @@ import smpplib.consts import smpplib.exceptions -from . import log -from .event_loop import MainLoop +from .core import log +from .core.event_loop import MainLoop # if you want to know what's happening inside python-smpplib #import logging diff --git a/src/osmo_gsm_tester/ggsn_osmo.py b/src/osmo_gsm_tester/ggsn_osmo.py index 0ece596..e699203 100644 --- a/src/osmo_gsm_tester/ggsn_osmo.py +++ b/src/osmo_gsm_tester/ggsn_osmo.py @@ -20,7 +20,8 @@ import os import pprint -from . import log, util, config, template, process, pcap_recorder +from .core import log, util, config, template, process +from . import pcap_recorder class OsmoGgsn(log.Origin): diff --git a/src/osmo_gsm_tester/hlr_osmo.py b/src/osmo_gsm_tester/hlr_osmo.py index 1c361dd..245328b 100644 --- a/src/osmo_gsm_tester/hlr_osmo.py +++ b/src/osmo_gsm_tester/hlr_osmo.py @@ -21,7 +21,8 @@ import pprint import sqlite3 -from . import log, util, config, template, process, pcap_recorder +from .core import log, util, config, template, process +from . import pcap_recorder class OsmoHlr(log.Origin): run_dir = None diff --git a/src/osmo_gsm_tester/iperf3.py b/src/osmo_gsm_tester/iperf3.py index 7103193..331a3ba 100644 --- a/src/osmo_gsm_tester/iperf3.py +++ b/src/osmo_gsm_tester/iperf3.py @@ -20,7 +20,8 @@ import os import json -from . import log, util, config, process, pcap_recorder, run_node, remote +from .core import log, util, config, process, remote +from . import pcap_recorder, run_node def iperf3_result_to_json(file): with open(file) as f: diff --git a/src/osmo_gsm_tester/mgcpgw_osmo.py b/src/osmo_gsm_tester/mgcpgw_osmo.py index 20bb689..0c9a13a 100644 --- a/src/osmo_gsm_tester/mgcpgw_osmo.py +++ b/src/osmo_gsm_tester/mgcpgw_osmo.py @@ -20,7 +20,8 @@ import os import pprint -from . import log, util, config, template, process, pcap_recorder +from .core import log, util, config, template, process +from . import pcap_recorder class OsmoMgcpgw(log.Origin): diff --git a/src/osmo_gsm_tester/mgw_osmo.py b/src/osmo_gsm_tester/mgw_osmo.py index ea8e652..b7bd681 100644 --- a/src/osmo_gsm_tester/mgw_osmo.py +++ b/src/osmo_gsm_tester/mgw_osmo.py @@ -20,7 +20,8 @@ import os import pprint -from . import log, util, config, template, process, pcap_recorder +from .core import log, util, config, template, process +from . import pcap_recorder class OsmoMgw(log.Origin): diff --git a/src/osmo_gsm_tester/modem.py b/src/osmo_gsm_tester/modem.py index a1e5e97..6759e70 100644 --- a/src/osmo_gsm_tester/modem.py +++ b/src/osmo_gsm_tester/modem.py @@ -17,9 +17,10 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from . import log, util, sms, process -from .event_loop import MainLoop +from .core import log, util, process +from .core.event_loop import MainLoop from .ms import MS +from . import sms from pydbus import SystemBus, Variant import os diff --git a/src/osmo_gsm_tester/ms.py b/src/osmo_gsm_tester/ms.py index 3276aff..d310f5f 100644 --- a/src/osmo_gsm_tester/ms.py +++ b/src/osmo_gsm_tester/ms.py @@ -18,7 +18,7 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from . import log +from .core import log class MS(log.Origin, metaclass=ABCMeta): """Base for everything about mobile/modem and SIMs.""" diff --git a/src/osmo_gsm_tester/ms_amarisoft.py b/src/osmo_gsm_tester/ms_amarisoft.py index 422f28d..9527fa9 100644 --- a/src/osmo_gsm_tester/ms_amarisoft.py +++ b/src/osmo_gsm_tester/ms_amarisoft.py @@ -20,9 +20,9 @@ import os import pprint -from . import log, util, config, template, process, remote +from .core import log, util, config, template, process, remote +from .core.event_loop import MainLoop from .run_node import RunNode -from .event_loop import MainLoop from .ms import MS def rf_type_valid(rf_type_str): diff --git a/src/osmo_gsm_tester/ms_driver.py b/src/osmo_gsm_tester/ms_driver.py index f1334fc..ef45b8b 100644 --- a/src/osmo_gsm_tester/ms_driver.py +++ b/src/osmo_gsm_tester/ms_driver.py @@ -16,7 +16,7 @@ # along with this program. If not, see . from datetime import timedelta -from . import log, util +from .core import log, util from osmo_ms_driver.cdf import cdfs from osmo_ms_driver.event_server import EventServer from osmo_ms_driver.simple_loop import SimpleLoop diff --git a/src/osmo_gsm_tester/ms_srs.py b/src/osmo_gsm_tester/ms_srs.py index 119a477..d23cf40 100644 --- a/src/osmo_gsm_tester/ms_srs.py +++ b/src/osmo_gsm_tester/ms_srs.py @@ -20,9 +20,9 @@ import os import pprint -from . import log, util, config, template, process, remote +from .core import log, util, config, template, process, remote from .run_node import RunNode -from .event_loop import MainLoop +from .core.event_loop import MainLoop from .ms import MS def rf_type_valid(rf_type_str): diff --git a/src/osmo_gsm_tester/msc_osmo.py b/src/osmo_gsm_tester/msc_osmo.py index 51f50c4..fd5d41f 100644 --- a/src/osmo_gsm_tester/msc_osmo.py +++ b/src/osmo_gsm_tester/msc_osmo.py @@ -20,7 +20,8 @@ import os import pprint -from . import log, util, config, template, process, osmo_ctrl, pcap_recorder, smsc +from .core import log, util, config, template, process +from . import osmo_ctrl, pcap_recorder, smsc class OsmoMsc(log.Origin): diff --git a/src/osmo_gsm_tester/nitb_osmo.py b/src/osmo_gsm_tester/nitb_osmo.py index e161ccb..ec4912f 100644 --- a/src/osmo_gsm_tester/nitb_osmo.py +++ b/src/osmo_gsm_tester/nitb_osmo.py @@ -21,7 +21,8 @@ import re import pprint -from . import log, util, config, template, process, osmo_ctrl, pcap_recorder, smsc +from .core import log, util, config, template, process +from . import osmo_ctrl, pcap_recorder, smsc class OsmoNitb(log.Origin): diff --git a/src/osmo_gsm_tester/osmo_ctrl.py b/src/osmo_gsm_tester/osmo_ctrl.py index be27b75..3bc21bd 100644 --- a/src/osmo_gsm_tester/osmo_ctrl.py +++ b/src/osmo_gsm_tester/osmo_ctrl.py @@ -21,7 +21,7 @@ import socket import struct -from . import log +from .core import log class CtrlInterfaceExn(Exception): pass diff --git a/src/osmo_gsm_tester/osmocon.py b/src/osmo_gsm_tester/osmocon.py index 8b6040f..a6b3221 100644 --- a/src/osmo_gsm_tester/osmocon.py +++ b/src/osmo_gsm_tester/osmocon.py @@ -20,8 +20,8 @@ import os import tempfile -from . import log, util, process -from .event_loop import MainLoop +from .core import log, util, process +from .core.event_loop import MainLoop class Osmocon(log.Origin): diff --git a/src/osmo_gsm_tester/pcap_recorder.py b/src/osmo_gsm_tester/pcap_recorder.py index e0f0098..a9ba3a7 100644 --- a/src/osmo_gsm_tester/pcap_recorder.py +++ b/src/osmo_gsm_tester/pcap_recorder.py @@ -19,7 +19,7 @@ import os -from . import log, process +from .core import log, process class PcapRecorder(log.Origin): diff --git a/src/osmo_gsm_tester/pcu.py b/src/osmo_gsm_tester/pcu.py index cc338cf..9dd6f59 100644 --- a/src/osmo_gsm_tester/pcu.py +++ b/src/osmo_gsm_tester/pcu.py @@ -18,7 +18,7 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from . import log +from .core import log class Pcu(log.Origin, metaclass=ABCMeta): """PCU Abstract Base Class.""" diff --git a/src/osmo_gsm_tester/pcu_oc2g.py b/src/osmo_gsm_tester/pcu_oc2g.py index 67c49b3..714f6fd 100644 --- a/src/osmo_gsm_tester/pcu_oc2g.py +++ b/src/osmo_gsm_tester/pcu_oc2g.py @@ -19,7 +19,8 @@ import os import pprint -from . import log, config, util, template, process, pcu +from .core import log, config, util, template, process +from . import pcu class OsmoPcuOC2G(pcu.Pcu): diff --git a/src/osmo_gsm_tester/pcu_osmo.py b/src/osmo_gsm_tester/pcu_osmo.py index aac6901..11d3805 100644 --- a/src/osmo_gsm_tester/pcu_osmo.py +++ b/src/osmo_gsm_tester/pcu_osmo.py @@ -19,7 +19,8 @@ import os import pprint -from . import config, util, template, process, pcu +from .core import config, util, template, process +from . import pcu class OsmoPcu(pcu.Pcu): diff --git a/src/osmo_gsm_tester/pcu_sysmo.py b/src/osmo_gsm_tester/pcu_sysmo.py index 55d6f53..e907367 100644 --- a/src/osmo_gsm_tester/pcu_sysmo.py +++ b/src/osmo_gsm_tester/pcu_sysmo.py @@ -19,7 +19,8 @@ import os import pprint -from . import log, config, util, template, process, pcu +from .core import log, config, util, template, process +from . import pcu class OsmoPcuSysmo(pcu.Pcu): diff --git a/src/osmo_gsm_tester/powersupply.py b/src/osmo_gsm_tester/powersupply.py index 1cf7106..4a9205d 100644 --- a/src/osmo_gsm_tester/powersupply.py +++ b/src/osmo_gsm_tester/powersupply.py @@ -18,8 +18,8 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from . import log -from .event_loop import MainLoop +from .core import log +from .core.event_loop import MainLoop class PowerSupply(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/powersupply_intellinet.py b/src/osmo_gsm_tester/powersupply_intellinet.py index 792d929..02dc803 100644 --- a/src/osmo_gsm_tester/powersupply_intellinet.py +++ b/src/osmo_gsm_tester/powersupply_intellinet.py @@ -20,7 +20,7 @@ import urllib.request import xml.etree.ElementTree as ET -from . import log +from .core import log from .powersupply import PowerSupply class PowerSupplyIntellinet(PowerSupply): diff --git a/src/osmo_gsm_tester/powersupply_sispm.py b/src/osmo_gsm_tester/powersupply_sispm.py index 4505b17..b392f73 100644 --- a/src/osmo_gsm_tester/powersupply_sispm.py +++ b/src/osmo_gsm_tester/powersupply_sispm.py @@ -20,8 +20,8 @@ import sispm from usb.core import USBError -from . import log -from .event_loop import MainLoop +from .core import log +from .core.event_loop import MainLoop from .powersupply import PowerSupply class PowerSupplySispm(PowerSupply): diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index fa17bcd..5b86a08 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -22,16 +22,16 @@ import atexit import pprint -from . import log -from . import config -from . import util -from . import schema +from .core import log +from .core import config +from .core import util +from .core import schema from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g -from . import modem -from . import ms_osmo_mobile -from . import ms_srs, ms_amarisoft, enb_srs, enb_amarisoft, epc_srs, epc_amarisoft +from . import modem +from . import ms_osmo_mobile +from . import ms_srs, ms_amarisoft, enb_srs, enb_amarisoft, epc_srs, epc_amarisoft -from .util import is_dict, is_list +from .core.util import is_dict, is_list HASH_KEY = '_hash' RESERVED_KEY = '_reserved_by' diff --git a/src/osmo_gsm_tester/run_node.py b/src/osmo_gsm_tester/run_node.py index 88555a6..e5f7d56 100644 --- a/src/osmo_gsm_tester/run_node.py +++ b/src/osmo_gsm_tester/run_node.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from . import log +from .core import log class RunNode(log.Origin): diff --git a/src/osmo_gsm_tester/sgsn_osmo.py b/src/osmo_gsm_tester/sgsn_osmo.py index 9ffaaed..647d848 100644 --- a/src/osmo_gsm_tester/sgsn_osmo.py +++ b/src/osmo_gsm_tester/sgsn_osmo.py @@ -20,7 +20,8 @@ import os import pprint -from . import log, util, config, template, process, pcap_recorder +from .core import log, util, config, template, process +from . import pcap_recorder class OsmoSgsn(log.Origin): diff --git a/src/osmo_gsm_tester/smsc.py b/src/osmo_gsm_tester/smsc.py index d154801..1083d22 100644 --- a/src/osmo_gsm_tester/smsc.py +++ b/src/osmo_gsm_tester/smsc.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from . import log, config +from .core import log, config class Smsc: diff --git a/src/osmo_gsm_tester/stp_osmo.py b/src/osmo_gsm_tester/stp_osmo.py index 5a7f0d3..500c5da 100644 --- a/src/osmo_gsm_tester/stp_osmo.py +++ b/src/osmo_gsm_tester/stp_osmo.py @@ -20,7 +20,8 @@ import os import pprint -from . import log, util, config, template, process, pcap_recorder +from .core import log, util, config, template, process +from . import pcap_recorder class OsmoStp(log.Origin): diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index 0ddd95f..586c518 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -21,9 +21,10 @@ import sys import time import pprint -from . import config, log, util, resource, test -from .event_loop import MainLoop -from . import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3, process +from .core import config, log, util, process +from .core.event_loop import MainLoop +from . import resource, test +from . import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 from . import run_node class Timeout(Exception): diff --git a/src/osmo_gsm_tester/test.py b/src/osmo_gsm_tester/test.py index 0bbff41..f517b52 100644 --- a/src/osmo_gsm_tester/test.py +++ b/src/osmo_gsm_tester/test.py @@ -23,7 +23,8 @@ import traceback from . import testenv -from . import log, util, resource +from .core import log, util +from . import resource class Test(log.Origin): UNKNOWN = 'UNKNOWN' # matches junit 'error' @@ -56,8 +57,9 @@ log.large_separator(self.suite_run.trial.name(), self.suite_run.name(), self.name(), sublevel=3) self.status = Test.UNKNOWN self.start_timestamp = time.time() - from . import suite, sms, process - from .event_loop import MainLoop + from .core import process + from .core.event_loop import MainLoop + from . import suite, sms testenv.setup(self.suite_run, self, suite, MainLoop, sms, process) with self.redirect_stdout(): util.run_python_file('%s.%s' % (self.suite_run.definition.name(), self.basename), diff --git a/src/osmo_gsm_tester/trial.py b/src/osmo_gsm_tester/trial.py index 149d34c..9dcc188 100644 --- a/src/osmo_gsm_tester/trial.py +++ b/src/osmo_gsm_tester/trial.py @@ -22,7 +22,8 @@ import shutil import tarfile -from . import log, util, suite, report +from .core import log, util +from . import suite, report FILE_MARK_TAKEN = 'taken' FILE_CHECKSUMS = 'checksums.md5' diff --git a/src/osmo_ms_driver/__main__.py b/src/osmo_ms_driver/__main__.py index a752c37..a4276d9 100644 --- a/src/osmo_ms_driver/__main__.py +++ b/src/osmo_ms_driver/__main__.py @@ -22,7 +22,7 @@ from .cdf import cdfs from .starter import BinaryOptions, MobileTestStarter from .test_support import imsi_ki_gen -from osmo_gsm_tester import log, util +from osmo_gsm_tester.core import log, util from osmo_gsm_tester import ms_osmo_mobile # System modules diff --git a/src/osmo_ms_driver/event_server.py b/src/osmo_ms_driver/event_server.py index ce9d5c1..fb8a6c7 100644 --- a/src/osmo_ms_driver/event_server.py +++ b/src/osmo_ms_driver/event_server.py @@ -1,5 +1,5 @@ -from osmo_gsm_tester import log +from osmo_gsm_tester.core import log import time diff --git a/src/osmo_ms_driver/simple_loop.py b/src/osmo_ms_driver/simple_loop.py index 29a4b5b..373fa20 100644 --- a/src/osmo_ms_driver/simple_loop.py +++ b/src/osmo_ms_driver/simple_loop.py @@ -15,7 +15,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from osmo_gsm_tester import log +from osmo_gsm_tester.core import log import os import selectors diff --git a/src/osmo_ms_driver/starter.py b/src/osmo_ms_driver/starter.py index 8757e40..702baf0 100644 --- a/src/osmo_ms_driver/starter.py +++ b/src/osmo_ms_driver/starter.py @@ -16,7 +16,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from osmo_gsm_tester import log, util, process, template +from osmo_gsm_tester.core import log, util, process, template from .test_support import ResultStore diff --git a/src/osmo_ms_driver/test_support.py b/src/osmo_ms_driver/test_support.py index ce3f5f1..cb2b9af 100644 --- a/src/osmo_ms_driver/test_support.py +++ b/src/osmo_ms_driver/test_support.py @@ -16,7 +16,7 @@ # along with this program. If not, see . from abc import ABCMeta -from osmo_gsm_tester import log +from osmo_gsm_tester.core import log import time -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17781 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: I9aec6c55ccd71894182057d36e0025b69925d314 Gerrit-Change-Number: 17781 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 Apr 10 19:05:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 19:05:57 +0000 Subject: Change in osmo-gsm-tester[master]: Move object classes used by tests into obj/ subdir References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17782 ) Change subject: Move object classes used by tests into obj/ subdir ...................................................................... Move object classes used by tests into obj/ subdir Change-Id: I0b2963cf00acd1f9036dca2e87aa3b87a0f8066d --- R src/osmo_gsm_tester/obj/bsc_osmo.py R src/osmo_gsm_tester/obj/bts.py R src/osmo_gsm_tester/obj/bts_nanobts.py R src/osmo_gsm_tester/obj/bts_oc2g.py R src/osmo_gsm_tester/obj/bts_octphy.py R src/osmo_gsm_tester/obj/bts_osmo.py R src/osmo_gsm_tester/obj/bts_osmotrx.py R src/osmo_gsm_tester/obj/bts_osmovirtual.py R src/osmo_gsm_tester/obj/bts_sysmo.py R src/osmo_gsm_tester/obj/enb.py R src/osmo_gsm_tester/obj/enb_amarisoft.py R src/osmo_gsm_tester/obj/enb_srs.py R src/osmo_gsm_tester/obj/epc.py R src/osmo_gsm_tester/obj/epc_amarisoft.py R src/osmo_gsm_tester/obj/epc_srs.py R src/osmo_gsm_tester/obj/esme.py R src/osmo_gsm_tester/obj/ggsn_osmo.py R src/osmo_gsm_tester/obj/hlr_osmo.py R src/osmo_gsm_tester/obj/iperf3.py R src/osmo_gsm_tester/obj/mgcpgw_osmo.py R src/osmo_gsm_tester/obj/mgw_osmo.py R src/osmo_gsm_tester/obj/modem.py R src/osmo_gsm_tester/obj/ms.py R src/osmo_gsm_tester/obj/ms_amarisoft.py R src/osmo_gsm_tester/obj/ms_driver.py R src/osmo_gsm_tester/obj/ms_osmo_mobile.py R src/osmo_gsm_tester/obj/ms_srs.py R src/osmo_gsm_tester/obj/msc_osmo.py R src/osmo_gsm_tester/obj/nitb_osmo.py R src/osmo_gsm_tester/obj/osmo_ctrl.py R src/osmo_gsm_tester/obj/osmocon.py R src/osmo_gsm_tester/obj/pcap_recorder.py R src/osmo_gsm_tester/obj/pcu.py R src/osmo_gsm_tester/obj/pcu_oc2g.py R src/osmo_gsm_tester/obj/pcu_osmo.py R src/osmo_gsm_tester/obj/pcu_sysmo.py R src/osmo_gsm_tester/obj/powersupply.py R src/osmo_gsm_tester/obj/powersupply_intellinet.py R src/osmo_gsm_tester/obj/powersupply_sispm.py R src/osmo_gsm_tester/obj/run_node.py R src/osmo_gsm_tester/obj/sgsn_osmo.py R src/osmo_gsm_tester/obj/sms.py R src/osmo_gsm_tester/obj/smsc.py R src/osmo_gsm_tester/obj/stp_osmo.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/suite.py M src/osmo_gsm_tester/test.py 47 files changed, 59 insertions(+), 58 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/82/17782/1 diff --git a/src/osmo_gsm_tester/bsc_osmo.py b/src/osmo_gsm_tester/obj/bsc_osmo.py similarity index 98% rename from src/osmo_gsm_tester/bsc_osmo.py rename to src/osmo_gsm_tester/obj/bsc_osmo.py index e9d1631..25cc780 100644 --- a/src/osmo_gsm_tester/bsc_osmo.py +++ b/src/osmo_gsm_tester/obj/bsc_osmo.py @@ -21,7 +21,7 @@ import re import pprint -from .core import log, util, config, template, process +from ..core import log, util, config, template, process from . import osmo_ctrl, pcap_recorder class OsmoBsc(log.Origin): diff --git a/src/osmo_gsm_tester/bts.py b/src/osmo_gsm_tester/obj/bts.py similarity index 99% rename from src/osmo_gsm_tester/bts.py rename to src/osmo_gsm_tester/obj/bts.py index a20bd53..515b42b 100644 --- a/src/osmo_gsm_tester/bts.py +++ b/src/osmo_gsm_tester/obj/bts.py @@ -19,7 +19,7 @@ import copy from abc import ABCMeta, abstractmethod -from .core import log, config, schema +from ..core import log, config, schema class Bts(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/bts_nanobts.py b/src/osmo_gsm_tester/obj/bts_nanobts.py similarity index 99% rename from src/osmo_gsm_tester/bts_nanobts.py rename to src/osmo_gsm_tester/obj/bts_nanobts.py index 539e5ed..3e9b035 100644 --- a/src/osmo_gsm_tester/bts_nanobts.py +++ b/src/osmo_gsm_tester/obj/bts_nanobts.py @@ -20,8 +20,8 @@ import os import re import json -from .core import log, config, util, process -from .core.event_loop import MainLoop +from ..core import log, config, util, process +from ..core.event_loop import MainLoop from . import pcap_recorder, bts, pcu from . import powersupply diff --git a/src/osmo_gsm_tester/bts_oc2g.py b/src/osmo_gsm_tester/obj/bts_oc2g.py similarity index 98% rename from src/osmo_gsm_tester/bts_oc2g.py rename to src/osmo_gsm_tester/obj/bts_oc2g.py index 0cebc09..4a59eee 100644 --- a/src/osmo_gsm_tester/bts_oc2g.py +++ b/src/osmo_gsm_tester/obj/bts_oc2g.py @@ -19,7 +19,7 @@ import os import pprint -from .core import log, config, util, template, process, remote +from ..core import log, config, util, template, process, remote from . import pcu_oc2g, bts_osmo class OsmoBtsOC2G(bts_osmo.OsmoBts): diff --git a/src/osmo_gsm_tester/bts_octphy.py b/src/osmo_gsm_tester/obj/bts_octphy.py similarity index 98% rename from src/osmo_gsm_tester/bts_octphy.py rename to src/osmo_gsm_tester/obj/bts_octphy.py index e15cc15..11570e8 100644 --- a/src/osmo_gsm_tester/bts_octphy.py +++ b/src/osmo_gsm_tester/obj/bts_octphy.py @@ -19,7 +19,7 @@ import os import pprint -from .core import log, config, util, template, process +from ..core import log, config, util, template, process from . import bts_osmo class OsmoBtsOctphy(bts_osmo.OsmoBtsMainUnit): diff --git a/src/osmo_gsm_tester/bts_osmo.py b/src/osmo_gsm_tester/obj/bts_osmo.py similarity index 99% rename from src/osmo_gsm_tester/bts_osmo.py rename to src/osmo_gsm_tester/obj/bts_osmo.py index 39ca264..74f3ec7 100644 --- a/src/osmo_gsm_tester/bts_osmo.py +++ b/src/osmo_gsm_tester/obj/bts_osmo.py @@ -20,7 +20,7 @@ import os import tempfile from abc import ABCMeta, abstractmethod -from .core import log +from ..core import log from . import bts, pcu_osmo class OsmoBts(bts.Bts, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/bts_osmotrx.py b/src/osmo_gsm_tester/obj/bts_osmotrx.py similarity index 98% rename from src/osmo_gsm_tester/bts_osmotrx.py rename to src/osmo_gsm_tester/obj/bts_osmotrx.py index 91a1dd8..5339946 100644 --- a/src/osmo_gsm_tester/bts_osmotrx.py +++ b/src/osmo_gsm_tester/obj/bts_osmotrx.py @@ -20,8 +20,8 @@ import os import pprint from abc import ABCMeta, abstractmethod -from .core import log, config, util, template, process, remote -from .core.event_loop import MainLoop +from ..core import log, config, util, template, process, remote +from ..core.event_loop import MainLoop from . import powersupply, bts_osmo class OsmoBtsTrx(bts_osmo.OsmoBtsMainUnit): diff --git a/src/osmo_gsm_tester/bts_osmovirtual.py b/src/osmo_gsm_tester/obj/bts_osmovirtual.py similarity index 98% rename from src/osmo_gsm_tester/bts_osmovirtual.py rename to src/osmo_gsm_tester/obj/bts_osmovirtual.py index 262c805..495b2a8 100644 --- a/src/osmo_gsm_tester/bts_osmovirtual.py +++ b/src/osmo_gsm_tester/obj/bts_osmovirtual.py @@ -20,7 +20,7 @@ import os import pprint -from .core import config, util, template, process +from ..core import config, util, template, process from . import bts_osmo class OsmoBtsVirtual(bts_osmo.OsmoBtsMainUnit): diff --git a/src/osmo_gsm_tester/bts_sysmo.py b/src/osmo_gsm_tester/obj/bts_sysmo.py similarity index 98% rename from src/osmo_gsm_tester/bts_sysmo.py rename to src/osmo_gsm_tester/obj/bts_sysmo.py index d28b034..aecf977 100644 --- a/src/osmo_gsm_tester/bts_sysmo.py +++ b/src/osmo_gsm_tester/obj/bts_sysmo.py @@ -19,7 +19,7 @@ import os import pprint -from .core import log, config, util, template, process, remote +from ..core import log, config, util, template, process, remote from . import pcu_sysmo, bts_osmo class SysmoBts(bts_osmo.OsmoBts): diff --git a/src/osmo_gsm_tester/enb.py b/src/osmo_gsm_tester/obj/enb.py similarity index 98% rename from src/osmo_gsm_tester/enb.py rename to src/osmo_gsm_tester/obj/enb.py index edaf462..bb5053f 100644 --- a/src/osmo_gsm_tester/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -18,7 +18,7 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from .core import log, config +from ..core import log, config class eNodeB(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py similarity index 99% rename from src/osmo_gsm_tester/enb_amarisoft.py rename to src/osmo_gsm_tester/obj/enb_amarisoft.py index a058653..70f8d47 100644 --- a/src/osmo_gsm_tester/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process, remote +from ..core import log, util, config, template, process, remote from . import enb def rf_type_valid(rf_type_str): diff --git a/src/osmo_gsm_tester/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py similarity index 99% rename from src/osmo_gsm_tester/enb_srs.py rename to src/osmo_gsm_tester/obj/enb_srs.py index 079671a..0860d19 100644 --- a/src/osmo_gsm_tester/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process, remote +from ..core import log, util, config, template, process, remote from . import enb def rf_type_valid(rf_type_str): diff --git a/src/osmo_gsm_tester/epc.py b/src/osmo_gsm_tester/obj/epc.py similarity index 98% rename from src/osmo_gsm_tester/epc.py rename to src/osmo_gsm_tester/obj/epc.py index 9141455..f6bddea 100644 --- a/src/osmo_gsm_tester/epc.py +++ b/src/osmo_gsm_tester/obj/epc.py @@ -18,7 +18,7 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from .core import log, config +from ..core import log, config class EPC(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py similarity index 98% rename from src/osmo_gsm_tester/epc_amarisoft.py rename to src/osmo_gsm_tester/obj/epc_amarisoft.py index 33b8162..afd8aa4 100644 --- a/src/osmo_gsm_tester/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process, remote +from ..core import log, util, config, template, process, remote from . import epc class AmarisoftEPC(epc.EPC): diff --git a/src/osmo_gsm_tester/epc_srs.py b/src/osmo_gsm_tester/obj/epc_srs.py similarity index 98% rename from src/osmo_gsm_tester/epc_srs.py rename to src/osmo_gsm_tester/obj/epc_srs.py index 4a45c7e..7288e69 100644 --- a/src/osmo_gsm_tester/epc_srs.py +++ b/src/osmo_gsm_tester/obj/epc_srs.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process, remote +from ..core import log, util, config, template, process, remote from . import epc class srsEPC(epc.EPC): diff --git a/src/osmo_gsm_tester/esme.py b/src/osmo_gsm_tester/obj/esme.py similarity index 98% rename from src/osmo_gsm_tester/esme.py rename to src/osmo_gsm_tester/obj/esme.py index 048b69e..41ec87f 100644 --- a/src/osmo_gsm_tester/esme.py +++ b/src/osmo_gsm_tester/obj/esme.py @@ -23,8 +23,8 @@ import smpplib.consts import smpplib.exceptions -from .core import log -from .core.event_loop import MainLoop +from ..core import log +from ..core.event_loop import MainLoop # if you want to know what's happening inside python-smpplib #import logging diff --git a/src/osmo_gsm_tester/ggsn_osmo.py b/src/osmo_gsm_tester/obj/ggsn_osmo.py similarity index 98% rename from src/osmo_gsm_tester/ggsn_osmo.py rename to src/osmo_gsm_tester/obj/ggsn_osmo.py index e699203..11745f6 100644 --- a/src/osmo_gsm_tester/ggsn_osmo.py +++ b/src/osmo_gsm_tester/obj/ggsn_osmo.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process +from ..core import log, util, config, template, process from . import pcap_recorder class OsmoGgsn(log.Origin): diff --git a/src/osmo_gsm_tester/hlr_osmo.py b/src/osmo_gsm_tester/obj/hlr_osmo.py similarity index 98% rename from src/osmo_gsm_tester/hlr_osmo.py rename to src/osmo_gsm_tester/obj/hlr_osmo.py index 245328b..93e5fff 100644 --- a/src/osmo_gsm_tester/hlr_osmo.py +++ b/src/osmo_gsm_tester/obj/hlr_osmo.py @@ -21,7 +21,7 @@ import pprint import sqlite3 -from .core import log, util, config, template, process +from ..core import log, util, config, template, process from . import pcap_recorder class OsmoHlr(log.Origin): diff --git a/src/osmo_gsm_tester/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py similarity index 99% rename from src/osmo_gsm_tester/iperf3.py rename to src/osmo_gsm_tester/obj/iperf3.py index 331a3ba..d2e9c36 100644 --- a/src/osmo_gsm_tester/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -20,7 +20,7 @@ import os import json -from .core import log, util, config, process, remote +from ..core import log, util, config, process, remote from . import pcap_recorder, run_node def iperf3_result_to_json(file): diff --git a/src/osmo_gsm_tester/mgcpgw_osmo.py b/src/osmo_gsm_tester/obj/mgcpgw_osmo.py similarity index 98% rename from src/osmo_gsm_tester/mgcpgw_osmo.py rename to src/osmo_gsm_tester/obj/mgcpgw_osmo.py index 0c9a13a..d31f439 100644 --- a/src/osmo_gsm_tester/mgcpgw_osmo.py +++ b/src/osmo_gsm_tester/obj/mgcpgw_osmo.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process +from ..core import log, util, config, template, process from . import pcap_recorder class OsmoMgcpgw(log.Origin): diff --git a/src/osmo_gsm_tester/mgw_osmo.py b/src/osmo_gsm_tester/obj/mgw_osmo.py similarity index 98% rename from src/osmo_gsm_tester/mgw_osmo.py rename to src/osmo_gsm_tester/obj/mgw_osmo.py index b7bd681..3798b2d 100644 --- a/src/osmo_gsm_tester/mgw_osmo.py +++ b/src/osmo_gsm_tester/obj/mgw_osmo.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process +from ..core import log, util, config, template, process from . import pcap_recorder class OsmoMgw(log.Origin): diff --git a/src/osmo_gsm_tester/modem.py b/src/osmo_gsm_tester/obj/modem.py similarity index 99% rename from src/osmo_gsm_tester/modem.py rename to src/osmo_gsm_tester/obj/modem.py index 6759e70..a79f8fb 100644 --- a/src/osmo_gsm_tester/modem.py +++ b/src/osmo_gsm_tester/obj/modem.py @@ -17,8 +17,8 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from .core import log, util, process -from .core.event_loop import MainLoop +from ..core import log, util, process +from ..core.event_loop import MainLoop from .ms import MS from . import sms diff --git a/src/osmo_gsm_tester/ms.py b/src/osmo_gsm_tester/obj/ms.py similarity index 98% rename from src/osmo_gsm_tester/ms.py rename to src/osmo_gsm_tester/obj/ms.py index d310f5f..3dcea7b 100644 --- a/src/osmo_gsm_tester/ms.py +++ b/src/osmo_gsm_tester/obj/ms.py @@ -18,7 +18,7 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from .core import log +from ..core import log class MS(log.Origin, metaclass=ABCMeta): """Base for everything about mobile/modem and SIMs.""" diff --git a/src/osmo_gsm_tester/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py similarity index 98% rename from src/osmo_gsm_tester/ms_amarisoft.py rename to src/osmo_gsm_tester/obj/ms_amarisoft.py index 9527fa9..1b49b30 100644 --- a/src/osmo_gsm_tester/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -20,8 +20,8 @@ import os import pprint -from .core import log, util, config, template, process, remote -from .core.event_loop import MainLoop +from ..core import log, util, config, template, process, remote +from ..core.event_loop import MainLoop from .run_node import RunNode from .ms import MS diff --git a/src/osmo_gsm_tester/ms_driver.py b/src/osmo_gsm_tester/obj/ms_driver.py similarity index 99% rename from src/osmo_gsm_tester/ms_driver.py rename to src/osmo_gsm_tester/obj/ms_driver.py index ef45b8b..2c7bb8b 100644 --- a/src/osmo_gsm_tester/ms_driver.py +++ b/src/osmo_gsm_tester/obj/ms_driver.py @@ -16,7 +16,7 @@ # along with this program. If not, see . from datetime import timedelta -from .core import log, util +from ..core import log, util from osmo_ms_driver.cdf import cdfs from osmo_ms_driver.event_server import EventServer from osmo_ms_driver.simple_loop import SimpleLoop diff --git a/src/osmo_gsm_tester/ms_osmo_mobile.py b/src/osmo_gsm_tester/obj/ms_osmo_mobile.py similarity index 100% rename from src/osmo_gsm_tester/ms_osmo_mobile.py rename to src/osmo_gsm_tester/obj/ms_osmo_mobile.py diff --git a/src/osmo_gsm_tester/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py similarity index 99% rename from src/osmo_gsm_tester/ms_srs.py rename to src/osmo_gsm_tester/obj/ms_srs.py index d23cf40..c1803e3 100644 --- a/src/osmo_gsm_tester/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -20,9 +20,9 @@ import os import pprint -from .core import log, util, config, template, process, remote +from ..core import log, util, config, template, process, remote from .run_node import RunNode -from .core.event_loop import MainLoop +from ..core.event_loop import MainLoop from .ms import MS def rf_type_valid(rf_type_str): diff --git a/src/osmo_gsm_tester/msc_osmo.py b/src/osmo_gsm_tester/obj/msc_osmo.py similarity index 98% rename from src/osmo_gsm_tester/msc_osmo.py rename to src/osmo_gsm_tester/obj/msc_osmo.py index fd5d41f..cb8894f 100644 --- a/src/osmo_gsm_tester/msc_osmo.py +++ b/src/osmo_gsm_tester/obj/msc_osmo.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process +from ..core import log, util, config, template, process from . import osmo_ctrl, pcap_recorder, smsc class OsmoMsc(log.Origin): diff --git a/src/osmo_gsm_tester/nitb_osmo.py b/src/osmo_gsm_tester/obj/nitb_osmo.py similarity index 99% rename from src/osmo_gsm_tester/nitb_osmo.py rename to src/osmo_gsm_tester/obj/nitb_osmo.py index ec4912f..64db425 100644 --- a/src/osmo_gsm_tester/nitb_osmo.py +++ b/src/osmo_gsm_tester/obj/nitb_osmo.py @@ -21,7 +21,7 @@ import re import pprint -from .core import log, util, config, template, process +from ..core import log, util, config, template, process from . import osmo_ctrl, pcap_recorder, smsc class OsmoNitb(log.Origin): diff --git a/src/osmo_gsm_tester/osmo_ctrl.py b/src/osmo_gsm_tester/obj/osmo_ctrl.py similarity index 98% rename from src/osmo_gsm_tester/osmo_ctrl.py rename to src/osmo_gsm_tester/obj/osmo_ctrl.py index 3bc21bd..312e1e9 100644 --- a/src/osmo_gsm_tester/osmo_ctrl.py +++ b/src/osmo_gsm_tester/obj/osmo_ctrl.py @@ -21,7 +21,7 @@ import socket import struct -from .core import log +from ..core import log class CtrlInterfaceExn(Exception): pass diff --git a/src/osmo_gsm_tester/osmocon.py b/src/osmo_gsm_tester/obj/osmocon.py similarity index 97% rename from src/osmo_gsm_tester/osmocon.py rename to src/osmo_gsm_tester/obj/osmocon.py index a6b3221..1fad239 100644 --- a/src/osmo_gsm_tester/osmocon.py +++ b/src/osmo_gsm_tester/obj/osmocon.py @@ -20,8 +20,8 @@ import os import tempfile -from .core import log, util, process -from .core.event_loop import MainLoop +from ..core import log, util, process +from ..core.event_loop import MainLoop class Osmocon(log.Origin): diff --git a/src/osmo_gsm_tester/pcap_recorder.py b/src/osmo_gsm_tester/obj/pcap_recorder.py similarity index 98% rename from src/osmo_gsm_tester/pcap_recorder.py rename to src/osmo_gsm_tester/obj/pcap_recorder.py index a9ba3a7..eb91420 100644 --- a/src/osmo_gsm_tester/pcap_recorder.py +++ b/src/osmo_gsm_tester/obj/pcap_recorder.py @@ -19,7 +19,7 @@ import os -from .core import log, process +from ..core import log, process class PcapRecorder(log.Origin): diff --git a/src/osmo_gsm_tester/pcu.py b/src/osmo_gsm_tester/obj/pcu.py similarity index 98% rename from src/osmo_gsm_tester/pcu.py rename to src/osmo_gsm_tester/obj/pcu.py index 9dd6f59..6028f06 100644 --- a/src/osmo_gsm_tester/pcu.py +++ b/src/osmo_gsm_tester/obj/pcu.py @@ -18,7 +18,7 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from .core import log +from ..core import log class Pcu(log.Origin, metaclass=ABCMeta): """PCU Abstract Base Class.""" diff --git a/src/osmo_gsm_tester/pcu_oc2g.py b/src/osmo_gsm_tester/obj/pcu_oc2g.py similarity index 98% rename from src/osmo_gsm_tester/pcu_oc2g.py rename to src/osmo_gsm_tester/obj/pcu_oc2g.py index 714f6fd..4b67441 100644 --- a/src/osmo_gsm_tester/pcu_oc2g.py +++ b/src/osmo_gsm_tester/obj/pcu_oc2g.py @@ -19,7 +19,7 @@ import os import pprint -from .core import log, config, util, template, process +from ..core import log, config, util, template, process from . import pcu class OsmoPcuOC2G(pcu.Pcu): diff --git a/src/osmo_gsm_tester/pcu_osmo.py b/src/osmo_gsm_tester/obj/pcu_osmo.py similarity index 98% rename from src/osmo_gsm_tester/pcu_osmo.py rename to src/osmo_gsm_tester/obj/pcu_osmo.py index 11d3805..4c79f5a 100644 --- a/src/osmo_gsm_tester/pcu_osmo.py +++ b/src/osmo_gsm_tester/obj/pcu_osmo.py @@ -19,7 +19,7 @@ import os import pprint -from .core import config, util, template, process +from ..core import config, util, template, process from . import pcu class OsmoPcu(pcu.Pcu): diff --git a/src/osmo_gsm_tester/pcu_sysmo.py b/src/osmo_gsm_tester/obj/pcu_sysmo.py similarity index 98% rename from src/osmo_gsm_tester/pcu_sysmo.py rename to src/osmo_gsm_tester/obj/pcu_sysmo.py index e907367..f7c480d 100644 --- a/src/osmo_gsm_tester/pcu_sysmo.py +++ b/src/osmo_gsm_tester/obj/pcu_sysmo.py @@ -19,7 +19,7 @@ import os import pprint -from .core import log, config, util, template, process +from ..core import log, config, util, template, process from . import pcu class OsmoPcuSysmo(pcu.Pcu): diff --git a/src/osmo_gsm_tester/powersupply.py b/src/osmo_gsm_tester/obj/powersupply.py similarity index 97% rename from src/osmo_gsm_tester/powersupply.py rename to src/osmo_gsm_tester/obj/powersupply.py index 4a9205d..90e84ef 100644 --- a/src/osmo_gsm_tester/powersupply.py +++ b/src/osmo_gsm_tester/obj/powersupply.py @@ -18,8 +18,8 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from .core import log -from .core.event_loop import MainLoop +from ..core import log +from ..core.event_loop import MainLoop class PowerSupply(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/powersupply_intellinet.py b/src/osmo_gsm_tester/obj/powersupply_intellinet.py similarity index 99% rename from src/osmo_gsm_tester/powersupply_intellinet.py rename to src/osmo_gsm_tester/obj/powersupply_intellinet.py index 02dc803..5b00a1f 100644 --- a/src/osmo_gsm_tester/powersupply_intellinet.py +++ b/src/osmo_gsm_tester/obj/powersupply_intellinet.py @@ -20,7 +20,7 @@ import urllib.request import xml.etree.ElementTree as ET -from .core import log +from ..core import log from .powersupply import PowerSupply class PowerSupplyIntellinet(PowerSupply): diff --git a/src/osmo_gsm_tester/powersupply_sispm.py b/src/osmo_gsm_tester/obj/powersupply_sispm.py similarity index 98% rename from src/osmo_gsm_tester/powersupply_sispm.py rename to src/osmo_gsm_tester/obj/powersupply_sispm.py index b392f73..d1b244f 100644 --- a/src/osmo_gsm_tester/powersupply_sispm.py +++ b/src/osmo_gsm_tester/obj/powersupply_sispm.py @@ -20,8 +20,8 @@ import sispm from usb.core import USBError -from .core import log -from .core.event_loop import MainLoop +from ..core import log +from ..core.event_loop import MainLoop from .powersupply import PowerSupply class PowerSupplySispm(PowerSupply): diff --git a/src/osmo_gsm_tester/run_node.py b/src/osmo_gsm_tester/obj/run_node.py similarity index 98% rename from src/osmo_gsm_tester/run_node.py rename to src/osmo_gsm_tester/obj/run_node.py index e5f7d56..e9f43a1 100644 --- a/src/osmo_gsm_tester/run_node.py +++ b/src/osmo_gsm_tester/obj/run_node.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from .core import log +from ..core import log class RunNode(log.Origin): diff --git a/src/osmo_gsm_tester/sgsn_osmo.py b/src/osmo_gsm_tester/obj/sgsn_osmo.py similarity index 98% rename from src/osmo_gsm_tester/sgsn_osmo.py rename to src/osmo_gsm_tester/obj/sgsn_osmo.py index 647d848..6824d80 100644 --- a/src/osmo_gsm_tester/sgsn_osmo.py +++ b/src/osmo_gsm_tester/obj/sgsn_osmo.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process +from ..core import log, util, config, template, process from . import pcap_recorder class OsmoSgsn(log.Origin): diff --git a/src/osmo_gsm_tester/sms.py b/src/osmo_gsm_tester/obj/sms.py similarity index 100% rename from src/osmo_gsm_tester/sms.py rename to src/osmo_gsm_tester/obj/sms.py diff --git a/src/osmo_gsm_tester/smsc.py b/src/osmo_gsm_tester/obj/smsc.py similarity index 97% rename from src/osmo_gsm_tester/smsc.py rename to src/osmo_gsm_tester/obj/smsc.py index 1083d22..ee89c69 100644 --- a/src/osmo_gsm_tester/smsc.py +++ b/src/osmo_gsm_tester/obj/smsc.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from .core import log, config +from ..core import log, config class Smsc: diff --git a/src/osmo_gsm_tester/stp_osmo.py b/src/osmo_gsm_tester/obj/stp_osmo.py similarity index 97% rename from src/osmo_gsm_tester/stp_osmo.py rename to src/osmo_gsm_tester/obj/stp_osmo.py index 500c5da..afb8a04 100644 --- a/src/osmo_gsm_tester/stp_osmo.py +++ b/src/osmo_gsm_tester/obj/stp_osmo.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process +from ..core import log, util, config, template, process from . import pcap_recorder class OsmoStp(log.Origin): diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 5b86a08..2c1ec4b 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -26,10 +26,10 @@ from .core import config from .core import util from .core import schema -from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g -from . import modem -from . import ms_osmo_mobile -from . import ms_srs, ms_amarisoft, enb_srs, enb_amarisoft, epc_srs, epc_amarisoft +from .obj import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g +from .obj import modem +from .obj import ms_osmo_mobile +from .obj import ms_srs, ms_amarisoft, enb_srs, enb_amarisoft, epc_srs, epc_amarisoft from .core.util import is_dict, is_list diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index 586c518..fecb7a6 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -23,9 +23,9 @@ import pprint from .core import config, log, util, process from .core.event_loop import MainLoop +from .obj import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 +from .obj import run_node from . import resource, test -from . import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 -from . import run_node class Timeout(Exception): pass diff --git a/src/osmo_gsm_tester/test.py b/src/osmo_gsm_tester/test.py index f517b52..64b45c5 100644 --- a/src/osmo_gsm_tester/test.py +++ b/src/osmo_gsm_tester/test.py @@ -59,7 +59,8 @@ self.start_timestamp = time.time() from .core import process from .core.event_loop import MainLoop - from . import suite, sms + from .obj import sms + from . import suite testenv.setup(self.suite_run, self, suite, MainLoop, sms, process) with self.redirect_stdout(): util.run_python_file('%s.%s' % (self.suite_run.definition.name(), self.basename), -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17782 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: I0b2963cf00acd1f9036dca2e87aa3b87a0f8066d Gerrit-Change-Number: 17782 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 Apr 10 19:05:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 19:05:58 +0000 Subject: Change in osmo-gsm-tester[master]: Rename modem.py to ms_ofono.py References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17783 ) Change subject: Rename modem.py to ms_ofono.py ...................................................................... Rename modem.py to ms_ofono.py Change-Id: I050970986b0b3fbc23b756c5b7c524cb8b7c1327 --- R src/osmo_gsm_tester/obj/ms_ofono.py M src/osmo_gsm_tester/resource.py 2 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/83/17783/1 diff --git a/src/osmo_gsm_tester/obj/modem.py b/src/osmo_gsm_tester/obj/ms_ofono.py similarity index 100% rename from src/osmo_gsm_tester/obj/modem.py rename to src/osmo_gsm_tester/obj/ms_ofono.py diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 2c1ec4b..61f2b11 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -27,7 +27,7 @@ from .core import util from .core import schema from .obj import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g -from .obj import modem +from .obj import ms_ofono from .obj import ms_osmo_mobile from .obj import ms_srs, ms_amarisoft, enb_srs, enb_amarisoft, epc_srs, epc_amarisoft @@ -168,8 +168,8 @@ KNOWN_MS_TYPES = { # Map None to ofono for forward compability - None: modem.Modem, - 'ofono': modem.Modem, + None: ms_ofono.Modem, + 'ofono': ms_ofono.Modem, 'osmo-mobile': ms_osmo_mobile.MSOsmoMobile, 'srsue': ms_srs.srsUE, 'amarisoftue': ms_amarisoft.AmarisoftUE, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17783 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: I050970986b0b3fbc23b756c5b7c524cb8b7c1327 Gerrit-Change-Number: 17783 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 Apr 10 20:11:11 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 10 Apr 2020 20:11:11 +0000 Subject: Change in libosmocore[master]: fix libtool issue with clang and sanitizer References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17784 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I8ebd9c6d4efda41c7c8196f963d1f04d65160754 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/84/17784/1 diff --git a/configure.ac b/configure.ac index 3b4ad40..a4d48db 100644 --- a/configure.ac +++ b/configure.ac @@ -24,6 +24,11 @@ AC_CONFIG_MACRO_DIR([m4]) +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang (issue #312) +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config dnl * If pkg-config is missing, we get a "syntax error" for PKG_CHECK_MODULES. dnl Instead, we want to say that pkg-config and pkg.m4 are missing. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8ebd9c6d4efda41c7c8196f963d1f04d65160754 Gerrit-Change-Number: 17784 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 Apr 10 22:57:21 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 10 Apr 2020 22:57:21 +0000 Subject: Change in osmo-mgw[master]: tests: dlopen does not imply availability of dlsym.. References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17785 ) Change subject: tests: dlopen does not imply availability of dlsym.. ...................................................................... tests: dlopen does not imply availability of dlsym.. Check for both. Change-Id: I1a1e82882ad28dd53e634f10f9cebb4bc74cac1e --- M configure.ac M tests/mgcp/Makefile.am M tests/mgcp_client/Makefile.am 3 files changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/85/17785/1 diff --git a/configure.ac b/configure.ac index 880a756..557f2c9 100644 --- a/configure.ac +++ b/configure.ac @@ -38,6 +38,9 @@ AC_SEARCH_LIBS([dlopen], [dl dld], [LIBRARY_DL="$LIBS";LIBS=""]) AC_SUBST(LIBRARY_DL) +AC_SEARCH_LIBS([dlsym], [dl dld], [LIBRARY_DLSYM="$LIBS";LIBS=""]) +AC_SUBST(LIBRARY_DLSYM) + PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0) PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.1.0) diff --git a/tests/mgcp/Makefile.am b/tests/mgcp/Makefile.am index df2b7c8..95444b5 100644 --- a/tests/mgcp/Makefile.am +++ b/tests/mgcp/Makefile.am @@ -36,6 +36,7 @@ $(LIBOSMOVTY_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBRARY_DL) \ + $(LIBRARY_DLSYM) \ $(LIBOSMONETIF_LIBS) \ -lm \ $(NULL) diff --git a/tests/mgcp_client/Makefile.am b/tests/mgcp_client/Makefile.am index 5ce9538..3e4c082 100644 --- a/tests/mgcp_client/Makefile.am +++ b/tests/mgcp_client/Makefile.am @@ -35,6 +35,7 @@ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOVTY_LIBS) \ $(LIBRARY_DL) \ + $(LIBRARY_DLSYM) \ $(LIBOSMONETIF_LIBS) \ $(NULL) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1a1e82882ad28dd53e634f10f9cebb4bc74cac1e Gerrit-Change-Number: 17785 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 Apr 10 22:57:22 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 10 Apr 2020 22:57:22 +0000 Subject: Change in osmo-mgw[master]: fix libtool issue with clang and sanitizer References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17786 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I2314ef45e6f588e88d5aab8213cc7b5cdef11325 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/86/17786/1 diff --git a/configure.ac b/configure.ac index 557f2c9..b98b6d2 100644 --- a/configure.ac +++ b/configure.ac @@ -22,6 +22,11 @@ AC_PROG_INSTALL LT_INIT +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang (issue #312) +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2314ef45e6f588e88d5aab8213cc7b5cdef11325 Gerrit-Change-Number: 17786 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 Apr 10 23:04:50 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 10 Apr 2020 23:04:50 +0000 Subject: Change in osmo-sgsn[master]: tests: dlopen does not imply availability of dlsym.. References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17787 ) Change subject: tests: dlopen does not imply availability of dlsym.. ...................................................................... tests: dlopen does not imply availability of dlsym.. Check for both. Change-Id: If41a20bf499f791432f5f207e40688e97fb6e9f7 --- M configure.ac M tests/gbproxy/Makefile.am 2 files changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/87/17787/1 diff --git a/configure.ac b/configure.ac index 644a0bd..6aab8d7 100644 --- a/configure.ac +++ b/configure.ac @@ -38,6 +38,9 @@ AC_SEARCH_LIBS([dlopen], [dl dld], [LIBRARY_DL="$LIBS";LIBS=""]) AC_SUBST(LIBRARY_DL) +AC_SEARCH_LIBS([dlsym], [dl dld], [LIBRARY_DLSYM="$LIBS";LIBS=""]) +AC_SUBST(LIBRARY_DLSYM) + PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.2.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.2.0) diff --git a/tests/gbproxy/Makefile.am b/tests/gbproxy/Makefile.am index cb245b4..b9585ac 100644 --- a/tests/gbproxy/Makefile.am +++ b/tests/gbproxy/Makefile.am @@ -46,5 +46,6 @@ $(LIBOSMOVTY_LIBS) \ $(LIBOSMOABIS_LIBS) \ $(LIBRARY_DL) \ + $(LIBRARY_DLSYM) \ -lrt \ $(NULL) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17787 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If41a20bf499f791432f5f207e40688e97fb6e9f7 Gerrit-Change-Number: 17787 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 Apr 10 23:04:50 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 10 Apr 2020 23:04:50 +0000 Subject: Change in osmo-sgsn[master]: fix libtool issue with clang and sanitizer References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17788 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I7402b019c191304f639806a3c29e6bb698b398ed --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/88/17788/1 diff --git a/configure.ac b/configure.ac index 6aab8d7..37bc8e3 100644 --- a/configure.ac +++ b/configure.ac @@ -22,6 +22,11 @@ AC_PROG_INSTALL LT_INIT +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang (issue #312) +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17788 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I7402b019c191304f639806a3c29e6bb698b398ed Gerrit-Change-Number: 17788 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 Apr 10 23:15:49 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 10 Apr 2020 23:15:49 +0000 Subject: Change in libosmo-abis[master]: fix libtool issue with clang and sanitizer References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17789 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ia3644168bfea13bda5e09b8bfe1d2c65abd32ad7 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/89/17789/1 diff --git a/configure.ac b/configure.ac index 35b8328..4822805 100644 --- a/configure.ac +++ b/configure.ac @@ -21,6 +21,11 @@ AC_PROG_INSTALL LT_INIT([pic-only]) +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang (issue #312) +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia3644168bfea13bda5e09b8bfe1d2c65abd32ad7 Gerrit-Change-Number: 17789 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 Apr 10 23:16:06 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 10 Apr 2020 23:16:06 +0000 Subject: Change in libosmo-netif[master]: fix libtool issue with clang and sanitizer References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/17790 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: If9aa8a066d81cf378d6bbc0fa95ad6e985408af8 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/90/17790/1 diff --git a/configure.ac b/configure.ac index 8452d17..662bd50 100644 --- a/configure.ac +++ b/configure.ac @@ -22,6 +22,11 @@ LT_INIT AC_PROG_LIBTOOL +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang (issue #312) +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: If9aa8a066d81cf378d6bbc0fa95ad6e985408af8 Gerrit-Change-Number: 17790 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 Apr 10 23:16:23 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 10 Apr 2020 23:16:23 +0000 Subject: Change in libosmo-sccp[master]: fix libtool issue with clang and sanitizer References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17791 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I292c303840a76c5042dc077829c5df46158ca8ba --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/91/17791/1 diff --git a/configure.ac b/configure.ac index 9cf517a..cb575a3 100644 --- a/configure.ac +++ b/configure.ac @@ -22,6 +22,11 @@ AC_PROG_INSTALL LT_INIT +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang (issue #312) +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17791 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I292c303840a76c5042dc077829c5df46158ca8ba Gerrit-Change-Number: 17791 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 Apr 10 23:17:03 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 10 Apr 2020 23:17:03 +0000 Subject: Change in libsmpp34[master]: fix libtool issue with clang and sanitizer References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/libsmpp34/+/17792 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Iae420759fbf3846221f94af4403f6273536ea00b --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libsmpp34 refs/changes/92/17792/1 diff --git a/configure.ac b/configure.ac index 2c974f8..1c25bcf 100644 --- a/configure.ac +++ b/configure.ac @@ -21,6 +21,11 @@ AC_PROG_LIBTOOL AC_PROG_INSTALL +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang (issue #312) +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + # check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/17792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: Iae420759fbf3846221f94af4403f6273536ea00b Gerrit-Change-Number: 17792 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 Apr 10 23:17:21 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 10 Apr 2020 23:17:21 +0000 Subject: Change in osmo-bsc[master]: fix libtool issue with clang and sanitizer References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17793 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: If71654d87b375b4b882ab527e89353cd035f695b --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/93/17793/1 diff --git a/configure.ac b/configure.ac index 2a48743..1c107c9 100644 --- a/configure.ac +++ b/configure.ac @@ -22,6 +22,11 @@ AC_PROG_INSTALL LT_INIT +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang (issue #312) +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If71654d87b375b4b882ab527e89353cd035f695b Gerrit-Change-Number: 17793 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 Apr 10 23:17:37 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 10 Apr 2020 23:17:37 +0000 Subject: Change in osmo-bts[master]: fix libtool issue with clang and sanitizer References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17794 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I9b18ac186d5870e3a6b46678ab7fb2154c9cae07 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/94/17794/1 diff --git a/configure.ac b/configure.ac index 55755ab..3a8e364 100644 --- a/configure.ac +++ b/configure.ac @@ -22,6 +22,11 @@ AC_PROG_INSTALL LT_INIT +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang (issue #312) +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b18ac186d5870e3a6b46678ab7fb2154c9cae07 Gerrit-Change-Number: 17794 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 Apr 10 23:17:54 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 10 Apr 2020 23:17:54 +0000 Subject: Change in osmo-ggsn[master]: fix libtool issue with clang and sanitizer References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17795 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Icc09c9d09bfa01264ddf867356d068e50d97c5a0 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/95/17795/1 diff --git a/configure.ac b/configure.ac index c8bfae9..c761c85 100644 --- a/configure.ac +++ b/configure.ac @@ -19,6 +19,11 @@ AC_PROG_CPP LT_INIT +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang (issue #312) +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Icc09c9d09bfa01264ddf867356d068e50d97c5a0 Gerrit-Change-Number: 17795 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 Apr 10 23:18:23 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 10 Apr 2020 23:18:23 +0000 Subject: Change in osmo-hlr[master]: fix libtool issue with clang and sanitizer References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/17796 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/1 diff --git a/configure.ac b/configure.ac index 34c5163..29d464b 100644 --- a/configure.ac +++ b/configure.ac @@ -25,6 +25,11 @@ AC_PROG_CC AC_PROG_INSTALL +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang (issue #312) +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 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 Apr 10 23:18:40 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 10 Apr 2020 23:18:40 +0000 Subject: Change in osmo-iuh[master]: fix libtool issue with clang and sanitizer References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17797 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I74cdca5c8bd5a32b6fb05906280cc1cdd64e9369 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/97/17797/1 diff --git a/configure.ac b/configure.ac index 6328975..00f3bd1 100644 --- a/configure.ac +++ b/configure.ac @@ -26,6 +26,11 @@ AC_PROG_CC AC_PROG_INSTALL +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang (issue #312) +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I74cdca5c8bd5a32b6fb05906280cc1cdd64e9369 Gerrit-Change-Number: 17797 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 Apr 10 23:19:15 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 10 Apr 2020 23:19:15 +0000 Subject: Change in osmo-msc[master]: fix libtool issue with clang and sanitizer References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/17798 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I17d95c416e26dae6ca8bec57df01d3e7b7061058 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/98/17798/1 diff --git a/configure.ac b/configure.ac index b515732..4e46cd1 100644 --- a/configure.ac +++ b/configure.ac @@ -22,6 +22,11 @@ AC_PROG_INSTALL LT_INIT +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang (issue #312) +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17798 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I17d95c416e26dae6ca8bec57df01d3e7b7061058 Gerrit-Change-Number: 17798 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 Apr 10 23:19:52 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 10 Apr 2020 23:19:52 +0000 Subject: Change in osmo-pcu[master]: fix libtool issue with clang and sanitizer References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17799 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I999adf84a34c03765ce6c32ece0e61d0ac6e1c13 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/99/17799/1 diff --git a/configure.ac b/configure.ac index 48de07a..69f74ef 100644 --- a/configure.ac +++ b/configure.ac @@ -26,6 +26,11 @@ AC_PROG_INSTALL LT_INIT +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang (issue #312) +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17799 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I999adf84a34c03765ce6c32ece0e61d0ac6e1c13 Gerrit-Change-Number: 17799 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 Apr 10 23:20:23 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 10 Apr 2020 23:20:23 +0000 Subject: Change in osmo-trx[master]: fix libtool issue with clang and sanitizer References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/17800 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: If3d9465068b2c654b935fc3d9ab41d799d5e02e8 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/00/17800/1 diff --git a/configure.ac b/configure.ac index 76c3515..ecf0357 100644 --- a/configure.ac +++ b/configure.ac @@ -51,6 +51,11 @@ AC_PATH_PROG([RM_PROG], [rm]) AC_LANG([C++]) +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang (issue #312) +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: If3d9465068b2c654b935fc3d9ab41d799d5e02e8 Gerrit-Change-Number: 17800 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 Apr 10 23:32:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 23:32:12 +0000 Subject: Change in osmo-sgsn[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17788 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-sgsn/+/17788/1/configure.ac File configure.ac: https://gerrit.osmocom.org/c/osmo-sgsn/+/17788/1/configure.ac at 25 PS1, Line 25: dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang (issue #312) issue 312 doesn't exist: https://osmocom.org/issues/312 Also, if you mean Osmocom, use OS#312. If you mean sysmocom, use SYS#312. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17788 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I7402b019c191304f639806a3c29e6bb698b398ed Gerrit-Change-Number: 17788 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 10 Apr 2020 23:32: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 Fri Apr 10 23:32:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 23:32:52 +0000 Subject: Change in osmo-mgw[master]: tests: dlopen does not imply availability of dlsym.. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17785 ) Change subject: tests: dlopen does not imply availability of dlsym.. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1a1e82882ad28dd53e634f10f9cebb4bc74cac1e Gerrit-Change-Number: 17785 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 10 Apr 2020 23:32: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 Apr 10 23:33:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 23:33:56 +0000 Subject: Change in osmo-sgsn[master]: tests: dlopen does not imply availability of dlsym.. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17787 ) Change subject: tests: dlopen does not imply availability of dlsym.. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17787 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If41a20bf499f791432f5f207e40688e97fb6e9f7 Gerrit-Change-Number: 17787 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 10 Apr 2020 23:33: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 Apr 10 23:49:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 10 Apr 2020 23:49:57 +0000 Subject: Change in osmo-sgsn[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17788 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 1: (2 comments) Comments apply to same patch for different repos. https://gerrit.osmocom.org/c/osmo-sgsn/+/17788/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-sgsn/+/17788/1//COMMIT_MSG at 7 PS1, Line 7: fix libtool issue with clang and sanitizer configure.ac: blabla https://gerrit.osmocom.org/c/osmo-sgsn/+/17788/1/configure.ac File configure.ac: https://gerrit.osmocom.org/c/osmo-sgsn/+/17788/1/configure.ac at 25 PS1, Line 25: dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang (issue #312) > issue 312 doesn't exist: https://osmocom.org/issues/312 [?] OK #312 is actually a github expat value. Don't simply use the #312 notation, rather put the link to it here. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17788 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I7402b019c191304f639806a3c29e6bb698b398ed Gerrit-Change-Number: 17788 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 10 Apr 2020 23:49:57 +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 Sat Apr 11 08:04:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 08:04:15 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: Change default for clock_advance to 3 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17766 ) Change subject: osmo-bts-trx: Change default for clock_advance to 3 ...................................................................... Patch Set 1: I think there is a big potential for any such change to break existing setups that we are not familiar with (particularly slow CPU, or whatever). What we need to do is to create a situation where any underruns due to too low fn-advance are clearly identified and brought to the attention of the user in a way that he knows exactly what he needs to do. As (I think) only osmo-trx currently knows about this, I would suggest to * introduce a wahy onw osmo-trx can report downlink underruns via TRXC * have osmo-bts print an ERROR message explicitly stating ("try incrementing fn-advance") * have osmo-bts also send this up to the BSC as OML failure event report * have a counter stat item in osmo-bts -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7da3d0948f38e12342fb714b29f8edc5e9d0933d Gerrit-Change-Number: 17766 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 11 Apr 2020 08:04: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 Sat Apr 11 09:20:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:20:24 +0000 Subject: Change in osmo-ggsn[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17795 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Icc09c9d09bfa01264ddf867356d068e50d97c5a0 Gerrit-Change-Number: 17795 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 11 Apr 2020 09:20: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 Apr 11 09:20:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:20:57 +0000 Subject: Change in osmo-trx[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17800 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: If3d9465068b2c654b935fc3d9ab41d799d5e02e8 Gerrit-Change-Number: 17800 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 11 Apr 2020 09:20: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 Apr 11 09:21:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:21:06 +0000 Subject: Change in osmo-sgsn[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17788 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17788 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I7402b019c191304f639806a3c29e6bb698b398ed Gerrit-Change-Number: 17788 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 11 Apr 2020 09:21: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 Sat Apr 11 09:21:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:21:12 +0000 Subject: Change in osmo-pcu[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17799 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17799 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I999adf84a34c03765ce6c32ece0e61d0ac6e1c13 Gerrit-Change-Number: 17799 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 11 Apr 2020 09:21: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 Sat Apr 11 09:21:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:21:20 +0000 Subject: Change in osmo-iuh[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17797 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I74cdca5c8bd5a32b6fb05906280cc1cdd64e9369 Gerrit-Change-Number: 17797 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 11 Apr 2020 09:21: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 Apr 11 09:21:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:21:37 +0000 Subject: Change in osmo-msc[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17798 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17798 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I17d95c416e26dae6ca8bec57df01d3e7b7061058 Gerrit-Change-Number: 17798 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 11 Apr 2020 09:21: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 Apr 11 09:21:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:21:56 +0000 Subject: Change in osmo-hlr[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/17796 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 11 Apr 2020 09:21: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 Apr 11 09:22:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:22:07 +0000 Subject: Change in osmo-bts[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17794 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b18ac186d5870e3a6b46678ab7fb2154c9cae07 Gerrit-Change-Number: 17794 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 11 Apr 2020 09:22: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 Apr 11 09:22:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:22:11 +0000 Subject: Change in osmo-bsc[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17793 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If71654d87b375b4b882ab527e89353cd035f695b Gerrit-Change-Number: 17793 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 11 Apr 2020 09: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 Sat Apr 11 09:22:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:22:13 +0000 Subject: Change in libsmpp34[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libsmpp34/+/17792 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/17792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: Iae420759fbf3846221f94af4403f6273536ea00b Gerrit-Change-Number: 17792 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 11 Apr 2020 09: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 Sat Apr 11 09:22:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:22:17 +0000 Subject: Change in libosmo-netif[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/17790 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: If9aa8a066d81cf378d6bbc0fa95ad6e985408af8 Gerrit-Change-Number: 17790 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 11 Apr 2020 09:22: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 Apr 11 09:22:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:22:15 +0000 Subject: Change in libosmo-sccp[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17791 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17791 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I292c303840a76c5042dc077829c5df46158ca8ba Gerrit-Change-Number: 17791 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 11 Apr 2020 09: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 Sat Apr 11 09:22:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:22:19 +0000 Subject: Change in libosmo-abis[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17789 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia3644168bfea13bda5e09b8bfe1d2c65abd32ad7 Gerrit-Change-Number: 17789 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 11 Apr 2020 09:22: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 Sat Apr 11 09:22:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:22:22 +0000 Subject: Change in osmo-mgw[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17786 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2314ef45e6f588e88d5aab8213cc7b5cdef11325 Gerrit-Change-Number: 17786 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 11 Apr 2020 09: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 Sat Apr 11 09:22:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:22:25 +0000 Subject: Change in libosmocore[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17784 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8ebd9c6d4efda41c7c8196f963d1f04d65160754 Gerrit-Change-Number: 17784 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 11 Apr 2020 09:22: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 Apr 11 09:22:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:22:41 +0000 Subject: Change in osmo-ggsn[master]: Move icmpv6 and checksum files from ggsn/ dir to lib/ In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17768 ) Change subject: Move icmpv6 and checksum files from ggsn/ dir to lib/ ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17768 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ie878604f0fc0169cc98a1e9eee64b14d76be2c45 Gerrit-Change-Number: 17768 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 11 Apr 2020 09:22: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 Sat Apr 11 09:22:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:22:51 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Set its default loglevel category to INFO In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17767 ) Change subject: sgsnemu: Set its default loglevel category to INFO ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17767 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2a577f547b57fb0ab7b83de5c12da088697f3904 Gerrit-Change-Number: 17767 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 11 Apr 2020 09:22: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 Sat Apr 11 09:23:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:23:13 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Rename sgsnemu's libgtp cb_conf In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17765 ) Change subject: sgsnemu: Rename sgsnemu's libgtp cb_conf ...................................................................... Patch Set 1: Code-Review+1 no need for the _, but nevermind. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17765 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ibf32b416c3247d1415aa9c1a88755076dcd606f4 Gerrit-Change-Number: 17765 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 11 Apr 2020 09:23: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 Sat Apr 11 09:25:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 09:25:09 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Refactor arg/cfg parser to use talloc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17758 ) Change subject: sgsnemu: Refactor arg/cfg parser to use talloc ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/17758/2/sgsnemu/cmdline.c File sgsnemu/cmdline.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/17758/2/sgsnemu/cmdline.c at 2 PS2, Line 2: File autogenerated by gengetopt version 2.22.6 : generated with the following command: you are aware that you are modifing a file that's generated code? If you really want to go there, you should provide some kind of sed or 'spatch' script that one can execute after re-generating cmdline.c using gengetopt. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ie0d48a12a8349be5a859a03191421cbd9cc324cc Gerrit-Change-Number: 17758 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 11 Apr 2020 09:25:09 +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 Sat Apr 11 10:11:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 10:11:45 +0000 Subject: Change in osmo-ggsn[master]: lib/netns.c: Add comments to the code, including doxygen API docs References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17801 ) Change subject: lib/netns.c: Add comments to the code, including doxygen API docs ...................................................................... lib/netns.c: Add comments to the code, including doxygen API docs Change-Id: I0b20e4870bf62df0a459a621a64a4e2795340ceb --- M lib/netns.c 1 file changed, 45 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/01/17801/1 diff --git a/lib/netns.c b/lib/netns.c index 58ae036..43fca82 100644 --- a/lib/netns.c +++ b/lib/netns.c @@ -44,8 +44,13 @@ #define NETNS_PATH "/var/run/netns" +/*! default namespace of the GGSN process */ static int default_nsfd; +/*! switch to a (non-default) namespace, store existing signal mask in oldmask. + * \param[in] nsfd file descriptor representing the namespace to whch we shall switch + * \param[out] oldmaks caller-provided memory location to which old signal mask is stored + * \ returns 0 on success or negative (errno) in case of error */ int switch_ns(int nsfd, sigset_t *oldmask) { sigset_t intmask; @@ -61,6 +66,9 @@ return 0; } +/*! switch back to the default namespace, restoring signal mask. + * \param[in] oldmask signal mask to restore after returning to default namespace + * \returns 0 on successs; negative errno value in case of error */ int restore_ns(sigset_t *oldmask) { int rc; @@ -72,25 +80,31 @@ return 0; } +/*! open a file from within specified network namespace */ int open_ns(int nsfd, const char *pathname, int flags) { sigset_t intmask, oldmask; int fd; int rc; + /* mask off all signals, store old signal mask */ if (sigfillset(&intmask) < 0) return -errno; if ((rc = sigprocmask(SIG_BLOCK, &intmask, &oldmask)) != 0) return -rc; + /* associate the calling thread with namespace file descriptor */ if (setns(nsfd, CLONE_NEWNET) < 0) return -errno; + /* open the requested file/path */ if ((fd = open(pathname, flags)) < 0) return -errno; + /* return back to default namespace */ if (setns(default_nsfd, CLONE_NEWNET) < 0) { close(fd); return -errno; } + /* restore process mask */ if ((rc = sigprocmask(SIG_SETMASK, &oldmask, NULL)) != 0) { close(fd); return -rc; @@ -99,26 +113,41 @@ return fd; } +/*! create a socket in another namespace. + * Switches temporarily to namespace indicated by nsfd, creates a socket in + * that namespace and then returns to the default namespace. + * \param[in] nsfd File descriptor of the namspace in which to create socket + * \param[in] domain Domain of the socket (AF_INET, ...) + * \param[in] type Type of the socket (SOCK_STREAM, ...) + * \param[in] protocol Protocol of the socket (IPPROTO_TCP, ...) + * \returns 0 on success; negative errno in case of error */ int socket_ns(int nsfd, int domain, int type, int protocol) { sigset_t intmask, oldmask; int sk; int rc; + /* mask off all signals, store old signal mask */ if (sigfillset(&intmask) < 0) return -errno; if ((rc = sigprocmask(SIG_BLOCK, &intmask, &oldmask)) != 0) return -rc; + /* associate the calling thread with namespace file descriptor */ if (setns(nsfd, CLONE_NEWNET) < 0) return -errno; + + /* create socket of requested domain/type/proto */ if ((sk = socket(domain, type, protocol)) < 0) return -errno; + + /* return back to default namespace */ if (setns(default_nsfd, CLONE_NEWNET) < 0) { close(sk); return -errno; } + /* restore process mask */ if ((rc = sigprocmask(SIG_SETMASK, &oldmask, NULL)) != 0) { close(sk); return -rc; @@ -126,13 +155,21 @@ return sk; } +/*! initialize this network namespace helper module. + * Must be called before using any other functions of this file. + * \returns 0 on success; negative errno in case of error */ int init_netns() { + /* store the default namespace for later reference */ if ((default_nsfd = open("/proc/self/ns/net", O_RDONLY)) < 0) return -errno; return 0; } +/*! create obtain file descriptor for network namespace of give name. + * Creates /var/run/netns if it doesn't exist already. + * \param[in] name Name of the network namespace (in /var/run/netns/) + * \returns File descriptor of network namespace; negative errno in case of error */ int get_nsfd(const char *name) { int rc; @@ -140,10 +177,12 @@ sigset_t intmask, oldmask; char path[MAXPATHLEN] = NETNS_PATH; + /* create /var/run/netns, if it doesn't exist already */ rc = mkdir(path, S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); if (rc < 0 && errno != EEXIST) return rc; + /* create /var/run/netns/[name], if it doesn't exist already */ snprintf(path, sizeof(path), "%s/%s", NETNS_PATH, name); fd = open(path, O_RDONLY|O_CREAT|O_EXCL, 0); if (fd < 0) { @@ -157,24 +196,30 @@ if (close(fd) < 0) return -errno; + /* mask off all signals, store old signal mask */ if (sigfillset(&intmask) < 0) return -errno; if ((rc = sigprocmask(SIG_BLOCK, &intmask, &oldmask)) != 0) return -rc; + /* create a new network namespace */ if (unshare(CLONE_NEWNET) < 0) return -errno; if (mount("/proc/self/ns/net", path, "none", MS_BIND, NULL) < 0) return -errno; + /* switch back to default namespace */ if (setns(default_nsfd, CLONE_NEWNET) < 0) return -errno; + /* restore process mask */ if ((rc = sigprocmask(SIG_SETMASK, &oldmask, NULL)) != 0) return -rc; + /* finally, open the created namespace file descriptor from default ns */ if ((fd = open(path, O_RDONLY)) < 0) return -errno; + return fd; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I0b20e4870bf62df0a459a621a64a4e2795340ceb Gerrit-Change-Number: 17801 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 Apr 11 10:11:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 10:11:45 +0000 Subject: Change in osmo-ggsn[master]: lib/netns: Fix up error paths References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17802 ) Change subject: lib/netns: Fix up error paths ...................................................................... lib/netns: Fix up error paths The error handling in the code was doing exactly what one would not expect. If we switch to a netns and then encounter an error, we obviously have to switch back to the original netns before returning. Likewise, if we temporarily change the signal mask, we need to switch back to the original one before returning. Change-Id: I9ff5ae7bffc5bd7629dae0af1b72cfea548f9039 --- M lib/netns.c 1 file changed, 54 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/02/17802/1 diff --git a/lib/netns.c b/lib/netns.c index 43fca82..8d26330 100644 --- a/lib/netns.c +++ b/lib/netns.c @@ -1,5 +1,6 @@ /* * Copyright (C) 2014-2017, Travelping GmbH + * Copyright (C) 2020, Harald Welte * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as @@ -61,8 +62,11 @@ if ((rc = sigprocmask(SIG_BLOCK, &intmask, oldmask)) != 0) return -rc; - if (setns(nsfd, CLONE_NEWNET) < 0) + if (setns(nsfd, CLONE_NEWNET) < 0) { + /* restore old mask if we couldn't switch the netns */ + sigprocmask(SIG_SETMASK, oldmask, NULL); return -errno; + } return 0; } @@ -84,7 +88,8 @@ int open_ns(int nsfd, const char *pathname, int flags) { sigset_t intmask, oldmask; - int fd; + int ret; + int fd = -1; int rc; /* mask off all signals, store old signal mask */ @@ -94,23 +99,34 @@ return -rc; /* associate the calling thread with namespace file descriptor */ - if (setns(nsfd, CLONE_NEWNET) < 0) - return -errno; + if (setns(nsfd, CLONE_NEWNET) < 0) { + ret = -errno; + goto restore_sigmask; + } /* open the requested file/path */ - if ((fd = open(pathname, flags)) < 0) - return -errno; + if ((fd = open(pathname, flags)) < 0) { + ret = -errno; + goto restore_defaultns; + } + ret = fd; + +restore_defaultns: /* return back to default namespace */ if (setns(default_nsfd, CLONE_NEWNET) < 0) { - close(fd); + if (fd >= 0) + close(fd); return -errno; } + +restore_sigmask: /* restore process mask */ if ((rc = sigprocmask(SIG_SETMASK, &oldmask, NULL)) != 0) { - close(fd); + if (fd >= 0) + close(fd); return -rc; } - return fd; + return ret; } /*! create a socket in another namespace. @@ -124,7 +140,8 @@ int socket_ns(int nsfd, int domain, int type, int protocol) { sigset_t intmask, oldmask; - int sk; + int ret; + int sk = -1; int rc; /* mask off all signals, store old signal mask */ @@ -134,25 +151,34 @@ return -rc; /* associate the calling thread with namespace file descriptor */ - if (setns(nsfd, CLONE_NEWNET) < 0) - return -errno; + if (setns(nsfd, CLONE_NEWNET) < 0) { + ret = -errno; + goto restore_sigmask; + } /* create socket of requested domain/type/proto */ - if ((sk = socket(domain, type, protocol)) < 0) - return -errno; + if ((sk = socket(domain, type, protocol)) < 0) { + ret = -errno; + goto restore_defaultns; + } + ret = sk; +restore_defaultns: /* return back to default namespace */ if (setns(default_nsfd, CLONE_NEWNET) < 0) { - close(sk); + if (sk >= 0) + close(sk); return -errno; } +restore_sigmask: /* restore process mask */ if ((rc = sigprocmask(SIG_SETMASK, &oldmask, NULL)) != 0) { - close(sk); + if (sk >= 0) + close(sk); return -rc; } - return sk; + return ret; } /*! initialize this network namespace helper module. @@ -172,6 +198,7 @@ * \returns File descriptor of network namespace; negative errno in case of error */ int get_nsfd(const char *name) { + int ret = 0; int rc; int fd; sigset_t intmask, oldmask; @@ -203,19 +230,26 @@ return -rc; /* create a new network namespace */ - if (unshare(CLONE_NEWNET) < 0) - return -errno; + if (unshare(CLONE_NEWNET) < 0) { + ret = -errno; + goto restore_sigmask; + } if (mount("/proc/self/ns/net", path, "none", MS_BIND, NULL) < 0) - return -errno; + ret = -errno; /* switch back to default namespace */ if (setns(default_nsfd, CLONE_NEWNET) < 0) return -errno; +restore_sigmask: /* restore process mask */ if ((rc = sigprocmask(SIG_SETMASK, &oldmask, NULL)) != 0) return -rc; + /* might have been set above in case mount fails */ + if (ret < 0) + return ret; + /* finally, open the created namespace file descriptor from default ns */ if ((fd = open(path, O_RDONLY)) < 0) return -errno; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I9ff5ae7bffc5bd7629dae0af1b72cfea548f9039 Gerrit-Change-Number: 17802 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 Apr 11 10:16:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 11 Apr 2020 10:16:13 +0000 Subject: Change in osmo-ggsn[master]: lib/netns: OSMO_ASSER() if user doesn't call init_netns() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17803 ) Change subject: lib/netns: OSMO_ASSER() if user doesn't call init_netns() ...................................................................... lib/netns: OSMO_ASSER() if user doesn't call init_netns() It is vital that init_netns() is called first in order to initialize default_nsfd. Change-Id: Ic16646fa7d60c578056b17351c5fe2090a81dff0 --- M lib/netns.c 1 file changed, 13 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/03/17803/1 diff --git a/lib/netns.c b/lib/netns.c index 8d26330..914f5c8 100644 --- a/lib/netns.c +++ b/lib/netns.c @@ -41,12 +41,14 @@ #include #include +#include + #include "netns.h" #define NETNS_PATH "/var/run/netns" /*! default namespace of the GGSN process */ -static int default_nsfd; +static int default_nsfd = -1; /*! switch to a (non-default) namespace, store existing signal mask in oldmask. * \param[in] nsfd file descriptor representing the namespace to whch we shall switch @@ -57,6 +59,8 @@ sigset_t intmask; int rc; + OSMO_ASSERT(default_nsfd >= 0); + if (sigfillset(&intmask) < 0) return -errno; if ((rc = sigprocmask(SIG_BLOCK, &intmask, oldmask)) != 0) @@ -75,6 +79,8 @@ * \returns 0 on successs; negative errno value in case of error */ int restore_ns(sigset_t *oldmask) { + OSMO_ASSERT(default_nsfd >= 0); + int rc; if (setns(default_nsfd, CLONE_NEWNET) < 0) return -errno; @@ -92,6 +98,8 @@ int fd = -1; int rc; + OSMO_ASSERT(default_nsfd >= 0); + /* mask off all signals, store old signal mask */ if (sigfillset(&intmask) < 0) return -errno; @@ -144,6 +152,8 @@ int sk = -1; int rc; + OSMO_ASSERT(default_nsfd >= 0); + /* mask off all signals, store old signal mask */ if (sigfillset(&intmask) < 0) return -errno; @@ -204,6 +214,8 @@ sigset_t intmask, oldmask; char path[MAXPATHLEN] = NETNS_PATH; + OSMO_ASSERT(default_nsfd >= 0); + /* create /var/run/netns, if it doesn't exist already */ rc = mkdir(path, S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); if (rc < 0 && errno != EEXIST) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17803 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ic16646fa7d60c578056b17351c5fe2090a81dff0 Gerrit-Change-Number: 17803 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 Apr 11 14:06:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 14:06:25 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Refactor arg/cfg parser to use talloc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17758 ) Change subject: sgsnemu: Refactor arg/cfg parser to use talloc ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/17758/2/sgsnemu/cmdline.c File sgsnemu/cmdline.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/17758/2/sgsnemu/cmdline.c at 2 PS2, Line 2: File autogenerated by gengetopt version 2.22.6 : generated with the following command: > you are aware that you are modifing a file that's generated code? If you really want to go there, y [?] I was not aware, probably because nobody is generating anything anymore not in my opinion should generate anything anymore here. If at all, we should move all this into a vty config like we did for osmo-trx. I don't see an easy way to do this patch with whatever tool, so either we drop it and we all continue having memleaks or accept that nobody is willing o generate anything anymore and keep moving forward using talloc features and further in the future libosmovty. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ie0d48a12a8349be5a859a03191421cbd9cc324cc Gerrit-Change-Number: 17758 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 11 Apr 2020 14:06:25 +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 Sat Apr 11 14:09:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 14:09:56 +0000 Subject: Change in osmo-ggsn[master]: lib/netns.c: Add comments to the code, including doxygen API docs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17801 ) Change subject: lib/netns.c: Add comments to the code, including doxygen API docs ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/17801/1/lib/netns.c File lib/netns.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/17801/1/lib/netns.c at 52 PS1, Line 52: * \param[out] oldmaks caller-provided memory location to which old signal mask is stored typo: oldmask -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I0b20e4870bf62df0a459a621a64a4e2795340ceb Gerrit-Change-Number: 17801 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 11 Apr 2020 14:09: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 Sat Apr 11 14:12:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 14:12:03 +0000 Subject: Change in osmo-ggsn[master]: lib/netns: Fix up error paths In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17802 ) Change subject: lib/netns: Fix up error paths ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I9ff5ae7bffc5bd7629dae0af1b72cfea548f9039 Gerrit-Change-Number: 17802 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 11 Apr 2020 14:12: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 Sat Apr 11 14:13:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 14:13:09 +0000 Subject: Change in osmo-ggsn[master]: lib/netns: OSMO_ASSER() if user doesn't call init_netns() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17803 ) Change subject: lib/netns: OSMO_ASSER() if user doesn't call init_netns() ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/17803/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ggsn/+/17803/1//COMMIT_MSG at 7 PS1, Line 7: lib/netns: OSMO_ASSER() if user doesn't call init_netns() typo: OSMO_ASSERT() -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17803 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ic16646fa7d60c578056b17351c5fe2090a81dff0 Gerrit-Change-Number: 17803 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 11 Apr 2020 14:13:09 +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 Sat Apr 11 14:18:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 14:18:33 +0000 Subject: Change in osmo-sgsn[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17788 ) Change subject: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 1: Code-Review-1 ok so with all these +2 it means we are fine having a reference with unspecified source in configure.ac of most osmocom projects explaining autofoo black magic? I don't agree sorry, let's add te proper link instead. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17788 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I7402b019c191304f639806a3c29e6bb698b398ed Gerrit-Change-Number: 17788 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 11 Apr 2020 14:18: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 Sat Apr 11 14:21:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 14:21:01 +0000 Subject: Change in osmo-gsm-tester[master]: Get rid of install top directory In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17772 ) Change subject: Get rid of install top directory ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17772 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: I17ee94b175deb88faff71e7788c482093693f8a8 Gerrit-Change-Number: 17772 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 11 Apr 2020 14:21: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 Sat Apr 11 14:21:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 14:21:04 +0000 Subject: Change in osmo-gsm-tester[master]: Get rid of install top directory In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17772 ) Change subject: Get rid of install top directory ...................................................................... Get rid of install top directory Some content there is out of date, or should be mvoed to utils/ with the rest of installable stuff. Change-Id: I17ee94b175deb88faff71e7788c482093693f8a8 --- D install/ofono.service D install/org.ofono.conf D install/osmo-gsm-tester-limits.conf A utils/dbus-1/dbus_osmo-gsm-tester.conf R utils/systemd/osmo-gsm-tester.service 5 files changed, 9 insertions(+), 43 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/install/ofono.service b/install/ofono.service deleted file mode 100644 index 0aa9fbe..0000000 --- a/install/ofono.service +++ /dev/null @@ -1,11 +0,0 @@ -# systemd service file for the ofono daemon -[Unit] -Description=oFono - -[Service] -ExecStart=/usr/local/src/ofono/src/ofonod -n -Restart=always -StartLimitInterval=0 - -[Install] -WantedBy=multi-user.target diff --git a/install/org.ofono.conf b/install/org.ofono.conf deleted file mode 100644 index 8b13c75..0000000 --- a/install/org.ofono.conf +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/install/osmo-gsm-tester-limits.conf b/install/osmo-gsm-tester-limits.conf deleted file mode 100644 index 1fb0738..0000000 --- a/install/osmo-gsm-tester-limits.conf +++ /dev/null @@ -1,4 +0,0 @@ -# place this file in /etc/security/limits.d to allow core files when a program -# crashes; for osmo-gsm-tester. -root - core unlimited -* - core unlimited diff --git a/utils/dbus-1/dbus_osmo-gsm-tester.conf b/utils/dbus-1/dbus_osmo-gsm-tester.conf new file mode 100644 index 0000000..d867833 --- /dev/null +++ b/utils/dbus-1/dbus_osmo-gsm-tester.conf @@ -0,0 +1,9 @@ + + + + + + + diff --git a/install/osmo-gsm-tester.service b/utils/systemd/osmo-gsm-tester.service similarity index 100% rename from install/osmo-gsm-tester.service rename to utils/systemd/osmo-gsm-tester.service -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17772 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: I17ee94b175deb88faff71e7788c482093693f8a8 Gerrit-Change-Number: 17772 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Sat Apr 11 15:17:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 15:17:13 +0000 Subject: Change in osmo-gsm-tester[master]: Move example/ and ttcn3/ to sysmocom/ and sysmocom/ttcn3 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17774 ) Change subject: Move example/ and ttcn3/ to sysmocom/ and sysmocom/ttcn3 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17774 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: I364e0859c0851b9167907a4d948b659a0f6a19fb Gerrit-Change-Number: 17774 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 11 Apr 2020 15:17: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 Sat Apr 11 15:17:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 15:17:17 +0000 Subject: Change in osmo-gsm-tester[master]: Move example/ and ttcn3/ to sysmocom/ and sysmocom/ttcn3 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17774 ) Change subject: Move example/ and ttcn3/ to sysmocom/ and sysmocom/ttcn3 ...................................................................... Move example/ and ttcn3/ to sysmocom/ and sysmocom/ttcn3 This content is mostly specific to sysmocom's setup (thought it can still be re-used by other people if willing to). symlinks in ttcn3/ pointing to example/ are redone to point to sysmocom/. Change-Id: I364e0859c0851b9167907a4d948b659a0f6a19fb --- M .gitignore R sysmocom/README.txt R sysmocom/default-suites.conf R sysmocom/defaults.conf R sysmocom/paths.conf R sysmocom/resources.conf.prod R sysmocom/resources.conf.rnd R sysmocom/resources.conf.virtual R sysmocom/scenarios/amarisoftenb-rftype at .conf R sysmocom/scenarios/amarisoftue-rftype at .conf R sysmocom/scenarios/band-1800.conf R sysmocom/scenarios/band-1900.conf R sysmocom/scenarios/band-900.conf R sysmocom/scenarios/cfg-amarisoft-license at .conf R sysmocom/scenarios/cfg-codec-fr-any.conf R sysmocom/scenarios/cfg-codec-fr1.conf R sysmocom/scenarios/cfg-codec-fr2.conf R sysmocom/scenarios/cfg-codec-fr3.conf R sysmocom/scenarios/cfg-codec-hr1.conf R sysmocom/scenarios/cfg-codec-hr3.conf R sysmocom/scenarios/cfg-epc-qci at .conf R sysmocom/scenarios/cfg-epc-type at .conf R sysmocom/scenarios/cfg-iperf3-time at .conf R sysmocom/scenarios/cfg-srs-enable-pcap.conf R sysmocom/scenarios/cipher-a50.conf R sysmocom/scenarios/cipher-a51.conf R sysmocom/scenarios/mfeature-gprs.conf R sysmocom/scenarios/mod-bts0-chanallocdescend.conf R sysmocom/scenarios/mod-bts0-dynts-ipa.conf R sysmocom/scenarios/mod-bts0-dynts-osmo.conf R sysmocom/scenarios/mod-bts0-dynts67-ipa-compat-nanobts.conf R sysmocom/scenarios/mod-bts0-dynts67-ipa.conf R sysmocom/scenarios/mod-bts0-dynts67-osmo.conf R sysmocom/scenarios/mod-bts0-egprs.conf R sysmocom/scenarios/mod-bts0-numtrx2.conf R sysmocom/scenarios/mod-bts0-trxdversion0.conf R sysmocom/scenarios/mod-bts0-ts-tchf.conf R sysmocom/scenarios/mod-bts0-ts-tchh.conf R sysmocom/scenarios/mod-enb-args at .conf R sysmocom/scenarios/mod-enb-meas-event at .conf R sysmocom/scenarios/mod-enb-ncells at .conf R sysmocom/scenarios/mod-enb-nprb at .conf R sysmocom/scenarios/mod-enb-txmode at .conf R sysmocom/scenarios/mod-modem-args at .conf R sysmocom/scenarios/mod-srsue-airplane_mode_sim at .conf R sysmocom/scenarios/mod-srsue-ncarriers at .conf R sysmocom/scenarios/nanobts.conf R sysmocom/scenarios/oc2g.conf R sysmocom/scenarios/octphy.conf R sysmocom/scenarios/srsenb-rftype at .conf R sysmocom/scenarios/srsue-rftype at .conf R sysmocom/scenarios/sysmo.conf R sysmocom/scenarios/trx-b200.conf R sysmocom/scenarios/trx-lms-limenet-micro.conf R sysmocom/scenarios/trx-lms.conf R sysmocom/scenarios/trx-sysmocell5000.conf R sysmocom/scenarios/trx-umtrx.conf R sysmocom/scenarios/trx.conf R sysmocom/suites/4g/iperf3_dl.py R sysmocom/suites/4g/iperf3_ul.py R sysmocom/suites/4g/ping.py R sysmocom/suites/4g/suite.conf R sysmocom/suites/debug/interactive.py R sysmocom/suites/debug/suite.conf R sysmocom/suites/dynts/suite.conf R sysmocom/suites/dynts/switch_tch_pdch.py R sysmocom/suites/encryption/lib/testlib.py R sysmocom/suites/encryption/register_a5_0_authopt.py R sysmocom/suites/encryption/register_a5_0_authreq.py R sysmocom/suites/encryption/register_a5_1_authreq.py R sysmocom/suites/encryption/register_a5_3_authreq.py R sysmocom/suites/encryption/suite.conf R sysmocom/suites/gprs/cs_paging_gprs_active.py R sysmocom/suites/gprs/iperf3.py R sysmocom/suites/gprs/iperf3m4.py R sysmocom/suites/gprs/lib/testlib.py R sysmocom/suites/gprs/ping.py R sysmocom/suites/gprs/ping_idle_ping.py R sysmocom/suites/gprs/suite.conf R sysmocom/suites/nitb_debug/error.py R sysmocom/suites/nitb_debug/fail.py R sysmocom/suites/nitb_debug/fail_raise.py R sysmocom/suites/nitb_debug/interactive.py R sysmocom/suites/nitb_debug/pass.py R sysmocom/suites/nitb_debug/suite.conf R sysmocom/suites/nitb_netreg/register.py R sysmocom/suites/nitb_netreg/register_default.py R sysmocom/suites/nitb_netreg/suite.conf R sysmocom/suites/nitb_netreg_mass/register_default_mass.py R sysmocom/suites/nitb_netreg_mass/suite.conf R sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py R sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py R sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py R sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py R sysmocom/suites/nitb_smpp/suite.conf R sysmocom/suites/nitb_sms/mo_mt_sms.py R sysmocom/suites/nitb_sms/suite.conf R sysmocom/suites/nitb_ussd/assert_extension.py R sysmocom/suites/nitb_ussd/suite.conf R sysmocom/suites/smpp/esme_connect_policy_acceptall.py R sysmocom/suites/smpp/esme_connect_policy_closed.py R sysmocom/suites/smpp/esme_ms_sms_storeforward.py R sysmocom/suites/smpp/esme_ms_sms_transaction.py R sysmocom/suites/smpp/suite.conf R sysmocom/suites/sms/mo_mt_sms.py R sysmocom/suites/sms/suite.conf R sysmocom/suites/ussd/assert_extension.py R sysmocom/suites/ussd/suite.conf R sysmocom/suites/voice/lib/testlib.py R sysmocom/suites/voice/mo_mt_call.py R sysmocom/suites/voice/mo_mt_call_osmux.py R sysmocom/suites/voice/suite.conf R sysmocom/ttcn3/README.txt R sysmocom/ttcn3/default-suites.conf A sysmocom/ttcn3/defaults.conf R sysmocom/ttcn3/jenkins-run.sh R sysmocom/ttcn3/paths.conf A sysmocom/ttcn3/resources.conf.prod A sysmocom/ttcn3/resources.conf.rnd A sysmocom/ttcn3/scenarios/oc2g.conf A sysmocom/ttcn3/scenarios/sysmo.conf A sysmocom/ttcn3/scenarios/trx.conf R sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py R sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl R sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh R sysmocom/ttcn3/suites/ttcn3_bts_tests/suite.conf R sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py D ttcn3/defaults.conf D ttcn3/resources.conf.prod D ttcn3/resources.conf.rnd D ttcn3/scenarios/oc2g.conf D ttcn3/scenarios/sysmo.conf D ttcn3/scenarios/trx.conf 133 files changed, 8 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/.gitignore b/.gitignore index f281be1..0edaa90 100644 --- a/.gitignore +++ b/.gitignore @@ -9,8 +9,8 @@ state *.pyc selftest/trial_test/ -example/resources.conf -ttcn3/resources.conf +sysmocom/resources.conf +sysmocom/ttcn3/resources.conf # manuals doc/manuals/*.html diff --git a/example/README.txt b/sysmocom/README.txt similarity index 100% rename from example/README.txt rename to sysmocom/README.txt diff --git a/example/default-suites.conf b/sysmocom/default-suites.conf similarity index 100% rename from example/default-suites.conf rename to sysmocom/default-suites.conf diff --git a/example/defaults.conf b/sysmocom/defaults.conf similarity index 100% rename from example/defaults.conf rename to sysmocom/defaults.conf diff --git a/example/paths.conf b/sysmocom/paths.conf similarity index 100% rename from example/paths.conf rename to sysmocom/paths.conf diff --git a/example/resources.conf.prod b/sysmocom/resources.conf.prod similarity index 100% rename from example/resources.conf.prod rename to sysmocom/resources.conf.prod diff --git a/example/resources.conf.rnd b/sysmocom/resources.conf.rnd similarity index 100% rename from example/resources.conf.rnd rename to sysmocom/resources.conf.rnd diff --git a/example/resources.conf.virtual b/sysmocom/resources.conf.virtual similarity index 100% rename from example/resources.conf.virtual rename to sysmocom/resources.conf.virtual diff --git a/example/scenarios/amarisoftenb-rftype at .conf b/sysmocom/scenarios/amarisoftenb-rftype at .conf similarity index 100% rename from example/scenarios/amarisoftenb-rftype at .conf rename to sysmocom/scenarios/amarisoftenb-rftype at .conf diff --git a/example/scenarios/amarisoftue-rftype at .conf b/sysmocom/scenarios/amarisoftue-rftype at .conf similarity index 100% rename from example/scenarios/amarisoftue-rftype at .conf rename to sysmocom/scenarios/amarisoftue-rftype at .conf diff --git a/example/scenarios/band-1800.conf b/sysmocom/scenarios/band-1800.conf similarity index 100% rename from example/scenarios/band-1800.conf rename to sysmocom/scenarios/band-1800.conf diff --git a/example/scenarios/band-1900.conf b/sysmocom/scenarios/band-1900.conf similarity index 100% rename from example/scenarios/band-1900.conf rename to sysmocom/scenarios/band-1900.conf diff --git a/example/scenarios/band-900.conf b/sysmocom/scenarios/band-900.conf similarity index 100% rename from example/scenarios/band-900.conf rename to sysmocom/scenarios/band-900.conf diff --git a/example/scenarios/cfg-amarisoft-license at .conf b/sysmocom/scenarios/cfg-amarisoft-license at .conf similarity index 100% rename from example/scenarios/cfg-amarisoft-license at .conf rename to sysmocom/scenarios/cfg-amarisoft-license at .conf diff --git a/example/scenarios/cfg-codec-fr-any.conf b/sysmocom/scenarios/cfg-codec-fr-any.conf similarity index 100% rename from example/scenarios/cfg-codec-fr-any.conf rename to sysmocom/scenarios/cfg-codec-fr-any.conf diff --git a/example/scenarios/cfg-codec-fr1.conf b/sysmocom/scenarios/cfg-codec-fr1.conf similarity index 100% rename from example/scenarios/cfg-codec-fr1.conf rename to sysmocom/scenarios/cfg-codec-fr1.conf diff --git a/example/scenarios/cfg-codec-fr2.conf b/sysmocom/scenarios/cfg-codec-fr2.conf similarity index 100% rename from example/scenarios/cfg-codec-fr2.conf rename to sysmocom/scenarios/cfg-codec-fr2.conf diff --git a/example/scenarios/cfg-codec-fr3.conf b/sysmocom/scenarios/cfg-codec-fr3.conf similarity index 100% rename from example/scenarios/cfg-codec-fr3.conf rename to sysmocom/scenarios/cfg-codec-fr3.conf diff --git a/example/scenarios/cfg-codec-hr1.conf b/sysmocom/scenarios/cfg-codec-hr1.conf similarity index 100% rename from example/scenarios/cfg-codec-hr1.conf rename to sysmocom/scenarios/cfg-codec-hr1.conf diff --git a/example/scenarios/cfg-codec-hr3.conf b/sysmocom/scenarios/cfg-codec-hr3.conf similarity index 100% rename from example/scenarios/cfg-codec-hr3.conf rename to sysmocom/scenarios/cfg-codec-hr3.conf diff --git a/example/scenarios/cfg-epc-qci at .conf b/sysmocom/scenarios/cfg-epc-qci at .conf similarity index 100% rename from example/scenarios/cfg-epc-qci at .conf rename to sysmocom/scenarios/cfg-epc-qci at .conf diff --git a/example/scenarios/cfg-epc-type at .conf b/sysmocom/scenarios/cfg-epc-type at .conf similarity index 100% rename from example/scenarios/cfg-epc-type at .conf rename to sysmocom/scenarios/cfg-epc-type at .conf diff --git a/example/scenarios/cfg-iperf3-time at .conf b/sysmocom/scenarios/cfg-iperf3-time at .conf similarity index 100% rename from example/scenarios/cfg-iperf3-time at .conf rename to sysmocom/scenarios/cfg-iperf3-time at .conf diff --git a/example/scenarios/cfg-srs-enable-pcap.conf b/sysmocom/scenarios/cfg-srs-enable-pcap.conf similarity index 100% rename from example/scenarios/cfg-srs-enable-pcap.conf rename to sysmocom/scenarios/cfg-srs-enable-pcap.conf diff --git a/example/scenarios/cipher-a50.conf b/sysmocom/scenarios/cipher-a50.conf similarity index 100% rename from example/scenarios/cipher-a50.conf rename to sysmocom/scenarios/cipher-a50.conf diff --git a/example/scenarios/cipher-a51.conf b/sysmocom/scenarios/cipher-a51.conf similarity index 100% rename from example/scenarios/cipher-a51.conf rename to sysmocom/scenarios/cipher-a51.conf diff --git a/example/scenarios/mfeature-gprs.conf b/sysmocom/scenarios/mfeature-gprs.conf similarity index 100% rename from example/scenarios/mfeature-gprs.conf rename to sysmocom/scenarios/mfeature-gprs.conf diff --git a/example/scenarios/mod-bts0-chanallocdescend.conf b/sysmocom/scenarios/mod-bts0-chanallocdescend.conf similarity index 100% rename from example/scenarios/mod-bts0-chanallocdescend.conf rename to sysmocom/scenarios/mod-bts0-chanallocdescend.conf diff --git a/example/scenarios/mod-bts0-dynts-ipa.conf b/sysmocom/scenarios/mod-bts0-dynts-ipa.conf similarity index 100% rename from example/scenarios/mod-bts0-dynts-ipa.conf rename to sysmocom/scenarios/mod-bts0-dynts-ipa.conf diff --git a/example/scenarios/mod-bts0-dynts-osmo.conf b/sysmocom/scenarios/mod-bts0-dynts-osmo.conf similarity index 100% rename from example/scenarios/mod-bts0-dynts-osmo.conf rename to sysmocom/scenarios/mod-bts0-dynts-osmo.conf diff --git a/example/scenarios/mod-bts0-dynts67-ipa-compat-nanobts.conf b/sysmocom/scenarios/mod-bts0-dynts67-ipa-compat-nanobts.conf similarity index 100% rename from example/scenarios/mod-bts0-dynts67-ipa-compat-nanobts.conf rename to sysmocom/scenarios/mod-bts0-dynts67-ipa-compat-nanobts.conf diff --git a/example/scenarios/mod-bts0-dynts67-ipa.conf b/sysmocom/scenarios/mod-bts0-dynts67-ipa.conf similarity index 100% rename from example/scenarios/mod-bts0-dynts67-ipa.conf rename to sysmocom/scenarios/mod-bts0-dynts67-ipa.conf diff --git a/example/scenarios/mod-bts0-dynts67-osmo.conf b/sysmocom/scenarios/mod-bts0-dynts67-osmo.conf similarity index 100% rename from example/scenarios/mod-bts0-dynts67-osmo.conf rename to sysmocom/scenarios/mod-bts0-dynts67-osmo.conf diff --git a/example/scenarios/mod-bts0-egprs.conf b/sysmocom/scenarios/mod-bts0-egprs.conf similarity index 100% rename from example/scenarios/mod-bts0-egprs.conf rename to sysmocom/scenarios/mod-bts0-egprs.conf diff --git a/example/scenarios/mod-bts0-numtrx2.conf b/sysmocom/scenarios/mod-bts0-numtrx2.conf similarity index 100% rename from example/scenarios/mod-bts0-numtrx2.conf rename to sysmocom/scenarios/mod-bts0-numtrx2.conf diff --git a/example/scenarios/mod-bts0-trxdversion0.conf b/sysmocom/scenarios/mod-bts0-trxdversion0.conf similarity index 100% rename from example/scenarios/mod-bts0-trxdversion0.conf rename to sysmocom/scenarios/mod-bts0-trxdversion0.conf diff --git a/example/scenarios/mod-bts0-ts-tchf.conf b/sysmocom/scenarios/mod-bts0-ts-tchf.conf similarity index 100% rename from example/scenarios/mod-bts0-ts-tchf.conf rename to sysmocom/scenarios/mod-bts0-ts-tchf.conf diff --git a/example/scenarios/mod-bts0-ts-tchh.conf b/sysmocom/scenarios/mod-bts0-ts-tchh.conf similarity index 100% rename from example/scenarios/mod-bts0-ts-tchh.conf rename to sysmocom/scenarios/mod-bts0-ts-tchh.conf diff --git a/example/scenarios/mod-enb-args at .conf b/sysmocom/scenarios/mod-enb-args at .conf similarity index 100% rename from example/scenarios/mod-enb-args at .conf rename to sysmocom/scenarios/mod-enb-args at .conf diff --git a/example/scenarios/mod-enb-meas-event at .conf b/sysmocom/scenarios/mod-enb-meas-event at .conf similarity index 100% rename from example/scenarios/mod-enb-meas-event at .conf rename to sysmocom/scenarios/mod-enb-meas-event at .conf diff --git a/example/scenarios/mod-enb-ncells at .conf b/sysmocom/scenarios/mod-enb-ncells at .conf similarity index 100% rename from example/scenarios/mod-enb-ncells at .conf rename to sysmocom/scenarios/mod-enb-ncells at .conf diff --git a/example/scenarios/mod-enb-nprb at .conf b/sysmocom/scenarios/mod-enb-nprb at .conf similarity index 100% rename from example/scenarios/mod-enb-nprb at .conf rename to sysmocom/scenarios/mod-enb-nprb at .conf diff --git a/example/scenarios/mod-enb-txmode at .conf b/sysmocom/scenarios/mod-enb-txmode at .conf similarity index 100% rename from example/scenarios/mod-enb-txmode at .conf rename to sysmocom/scenarios/mod-enb-txmode at .conf diff --git a/example/scenarios/mod-modem-args at .conf b/sysmocom/scenarios/mod-modem-args at .conf similarity index 100% rename from example/scenarios/mod-modem-args at .conf rename to sysmocom/scenarios/mod-modem-args at .conf diff --git a/example/scenarios/mod-srsue-airplane_mode_sim at .conf b/sysmocom/scenarios/mod-srsue-airplane_mode_sim at .conf similarity index 100% rename from example/scenarios/mod-srsue-airplane_mode_sim at .conf rename to sysmocom/scenarios/mod-srsue-airplane_mode_sim at .conf diff --git a/example/scenarios/mod-srsue-ncarriers at .conf b/sysmocom/scenarios/mod-srsue-ncarriers at .conf similarity index 100% rename from example/scenarios/mod-srsue-ncarriers at .conf rename to sysmocom/scenarios/mod-srsue-ncarriers at .conf diff --git a/example/scenarios/nanobts.conf b/sysmocom/scenarios/nanobts.conf similarity index 100% rename from example/scenarios/nanobts.conf rename to sysmocom/scenarios/nanobts.conf diff --git a/example/scenarios/oc2g.conf b/sysmocom/scenarios/oc2g.conf similarity index 100% rename from example/scenarios/oc2g.conf rename to sysmocom/scenarios/oc2g.conf diff --git a/example/scenarios/octphy.conf b/sysmocom/scenarios/octphy.conf similarity index 100% rename from example/scenarios/octphy.conf rename to sysmocom/scenarios/octphy.conf diff --git a/example/scenarios/srsenb-rftype at .conf b/sysmocom/scenarios/srsenb-rftype at .conf similarity index 100% rename from example/scenarios/srsenb-rftype at .conf rename to sysmocom/scenarios/srsenb-rftype at .conf diff --git a/example/scenarios/srsue-rftype at .conf b/sysmocom/scenarios/srsue-rftype at .conf similarity index 100% rename from example/scenarios/srsue-rftype at .conf rename to sysmocom/scenarios/srsue-rftype at .conf diff --git a/example/scenarios/sysmo.conf b/sysmocom/scenarios/sysmo.conf similarity index 100% rename from example/scenarios/sysmo.conf rename to sysmocom/scenarios/sysmo.conf diff --git a/example/scenarios/trx-b200.conf b/sysmocom/scenarios/trx-b200.conf similarity index 100% rename from example/scenarios/trx-b200.conf rename to sysmocom/scenarios/trx-b200.conf diff --git a/example/scenarios/trx-lms-limenet-micro.conf b/sysmocom/scenarios/trx-lms-limenet-micro.conf similarity index 100% rename from example/scenarios/trx-lms-limenet-micro.conf rename to sysmocom/scenarios/trx-lms-limenet-micro.conf diff --git a/example/scenarios/trx-lms.conf b/sysmocom/scenarios/trx-lms.conf similarity index 100% rename from example/scenarios/trx-lms.conf rename to sysmocom/scenarios/trx-lms.conf diff --git a/example/scenarios/trx-sysmocell5000.conf b/sysmocom/scenarios/trx-sysmocell5000.conf similarity index 100% rename from example/scenarios/trx-sysmocell5000.conf rename to sysmocom/scenarios/trx-sysmocell5000.conf diff --git a/example/scenarios/trx-umtrx.conf b/sysmocom/scenarios/trx-umtrx.conf similarity index 100% rename from example/scenarios/trx-umtrx.conf rename to sysmocom/scenarios/trx-umtrx.conf diff --git a/example/scenarios/trx.conf b/sysmocom/scenarios/trx.conf similarity index 100% rename from example/scenarios/trx.conf rename to sysmocom/scenarios/trx.conf diff --git a/example/suites/4g/iperf3_dl.py b/sysmocom/suites/4g/iperf3_dl.py similarity index 100% rename from example/suites/4g/iperf3_dl.py rename to sysmocom/suites/4g/iperf3_dl.py diff --git a/example/suites/4g/iperf3_ul.py b/sysmocom/suites/4g/iperf3_ul.py similarity index 100% rename from example/suites/4g/iperf3_ul.py rename to sysmocom/suites/4g/iperf3_ul.py diff --git a/example/suites/4g/ping.py b/sysmocom/suites/4g/ping.py similarity index 100% rename from example/suites/4g/ping.py rename to sysmocom/suites/4g/ping.py diff --git a/example/suites/4g/suite.conf b/sysmocom/suites/4g/suite.conf similarity index 100% rename from example/suites/4g/suite.conf rename to sysmocom/suites/4g/suite.conf diff --git a/example/suites/debug/interactive.py b/sysmocom/suites/debug/interactive.py similarity index 100% rename from example/suites/debug/interactive.py rename to sysmocom/suites/debug/interactive.py diff --git a/example/suites/debug/suite.conf b/sysmocom/suites/debug/suite.conf similarity index 100% rename from example/suites/debug/suite.conf rename to sysmocom/suites/debug/suite.conf diff --git a/example/suites/dynts/suite.conf b/sysmocom/suites/dynts/suite.conf similarity index 100% rename from example/suites/dynts/suite.conf rename to sysmocom/suites/dynts/suite.conf diff --git a/example/suites/dynts/switch_tch_pdch.py b/sysmocom/suites/dynts/switch_tch_pdch.py similarity index 100% rename from example/suites/dynts/switch_tch_pdch.py rename to sysmocom/suites/dynts/switch_tch_pdch.py diff --git a/example/suites/encryption/lib/testlib.py b/sysmocom/suites/encryption/lib/testlib.py similarity index 100% rename from example/suites/encryption/lib/testlib.py rename to sysmocom/suites/encryption/lib/testlib.py diff --git a/example/suites/encryption/register_a5_0_authopt.py b/sysmocom/suites/encryption/register_a5_0_authopt.py similarity index 100% rename from example/suites/encryption/register_a5_0_authopt.py rename to sysmocom/suites/encryption/register_a5_0_authopt.py diff --git a/example/suites/encryption/register_a5_0_authreq.py b/sysmocom/suites/encryption/register_a5_0_authreq.py similarity index 100% rename from example/suites/encryption/register_a5_0_authreq.py rename to sysmocom/suites/encryption/register_a5_0_authreq.py diff --git a/example/suites/encryption/register_a5_1_authreq.py b/sysmocom/suites/encryption/register_a5_1_authreq.py similarity index 100% rename from example/suites/encryption/register_a5_1_authreq.py rename to sysmocom/suites/encryption/register_a5_1_authreq.py diff --git a/example/suites/encryption/register_a5_3_authreq.py b/sysmocom/suites/encryption/register_a5_3_authreq.py similarity index 100% rename from example/suites/encryption/register_a5_3_authreq.py rename to sysmocom/suites/encryption/register_a5_3_authreq.py diff --git a/example/suites/encryption/suite.conf b/sysmocom/suites/encryption/suite.conf similarity index 100% rename from example/suites/encryption/suite.conf rename to sysmocom/suites/encryption/suite.conf diff --git a/example/suites/gprs/cs_paging_gprs_active.py b/sysmocom/suites/gprs/cs_paging_gprs_active.py similarity index 100% rename from example/suites/gprs/cs_paging_gprs_active.py rename to sysmocom/suites/gprs/cs_paging_gprs_active.py diff --git a/example/suites/gprs/iperf3.py b/sysmocom/suites/gprs/iperf3.py similarity index 100% rename from example/suites/gprs/iperf3.py rename to sysmocom/suites/gprs/iperf3.py diff --git a/example/suites/gprs/iperf3m4.py b/sysmocom/suites/gprs/iperf3m4.py similarity index 100% rename from example/suites/gprs/iperf3m4.py rename to sysmocom/suites/gprs/iperf3m4.py diff --git a/example/suites/gprs/lib/testlib.py b/sysmocom/suites/gprs/lib/testlib.py similarity index 100% rename from example/suites/gprs/lib/testlib.py rename to sysmocom/suites/gprs/lib/testlib.py diff --git a/example/suites/gprs/ping.py b/sysmocom/suites/gprs/ping.py similarity index 100% rename from example/suites/gprs/ping.py rename to sysmocom/suites/gprs/ping.py diff --git a/example/suites/gprs/ping_idle_ping.py b/sysmocom/suites/gprs/ping_idle_ping.py similarity index 100% rename from example/suites/gprs/ping_idle_ping.py rename to sysmocom/suites/gprs/ping_idle_ping.py diff --git a/example/suites/gprs/suite.conf b/sysmocom/suites/gprs/suite.conf similarity index 100% rename from example/suites/gprs/suite.conf rename to sysmocom/suites/gprs/suite.conf diff --git a/example/suites/nitb_debug/error.py b/sysmocom/suites/nitb_debug/error.py similarity index 100% rename from example/suites/nitb_debug/error.py rename to sysmocom/suites/nitb_debug/error.py diff --git a/example/suites/nitb_debug/fail.py b/sysmocom/suites/nitb_debug/fail.py similarity index 100% rename from example/suites/nitb_debug/fail.py rename to sysmocom/suites/nitb_debug/fail.py diff --git a/example/suites/nitb_debug/fail_raise.py b/sysmocom/suites/nitb_debug/fail_raise.py similarity index 100% rename from example/suites/nitb_debug/fail_raise.py rename to sysmocom/suites/nitb_debug/fail_raise.py diff --git a/example/suites/nitb_debug/interactive.py b/sysmocom/suites/nitb_debug/interactive.py similarity index 100% rename from example/suites/nitb_debug/interactive.py rename to sysmocom/suites/nitb_debug/interactive.py diff --git a/example/suites/nitb_debug/pass.py b/sysmocom/suites/nitb_debug/pass.py similarity index 100% rename from example/suites/nitb_debug/pass.py rename to sysmocom/suites/nitb_debug/pass.py diff --git a/example/suites/nitb_debug/suite.conf b/sysmocom/suites/nitb_debug/suite.conf similarity index 100% rename from example/suites/nitb_debug/suite.conf rename to sysmocom/suites/nitb_debug/suite.conf diff --git a/example/suites/nitb_netreg/register.py b/sysmocom/suites/nitb_netreg/register.py similarity index 100% rename from example/suites/nitb_netreg/register.py rename to sysmocom/suites/nitb_netreg/register.py diff --git a/example/suites/nitb_netreg/register_default.py b/sysmocom/suites/nitb_netreg/register_default.py similarity index 100% rename from example/suites/nitb_netreg/register_default.py rename to sysmocom/suites/nitb_netreg/register_default.py diff --git a/example/suites/nitb_netreg/suite.conf b/sysmocom/suites/nitb_netreg/suite.conf similarity index 100% rename from example/suites/nitb_netreg/suite.conf rename to sysmocom/suites/nitb_netreg/suite.conf diff --git a/example/suites/nitb_netreg_mass/register_default_mass.py b/sysmocom/suites/nitb_netreg_mass/register_default_mass.py similarity index 100% rename from example/suites/nitb_netreg_mass/register_default_mass.py rename to sysmocom/suites/nitb_netreg_mass/register_default_mass.py diff --git a/example/suites/nitb_netreg_mass/suite.conf b/sysmocom/suites/nitb_netreg_mass/suite.conf similarity index 100% rename from example/suites/nitb_netreg_mass/suite.conf rename to sysmocom/suites/nitb_netreg_mass/suite.conf diff --git a/example/suites/nitb_smpp/esme_connect_policy_acceptall.py b/sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py similarity index 100% rename from example/suites/nitb_smpp/esme_connect_policy_acceptall.py rename to sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py diff --git a/example/suites/nitb_smpp/esme_connect_policy_closed.py b/sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py similarity index 100% rename from example/suites/nitb_smpp/esme_connect_policy_closed.py rename to sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py diff --git a/example/suites/nitb_smpp/esme_ms_sms_storeforward.py b/sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py similarity index 100% rename from example/suites/nitb_smpp/esme_ms_sms_storeforward.py rename to sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py diff --git a/example/suites/nitb_smpp/esme_ms_sms_transaction.py b/sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py similarity index 100% rename from example/suites/nitb_smpp/esme_ms_sms_transaction.py rename to sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py diff --git a/example/suites/nitb_smpp/suite.conf b/sysmocom/suites/nitb_smpp/suite.conf similarity index 100% rename from example/suites/nitb_smpp/suite.conf rename to sysmocom/suites/nitb_smpp/suite.conf diff --git a/example/suites/nitb_sms/mo_mt_sms.py b/sysmocom/suites/nitb_sms/mo_mt_sms.py similarity index 100% rename from example/suites/nitb_sms/mo_mt_sms.py rename to sysmocom/suites/nitb_sms/mo_mt_sms.py diff --git a/example/suites/nitb_sms/suite.conf b/sysmocom/suites/nitb_sms/suite.conf similarity index 100% rename from example/suites/nitb_sms/suite.conf rename to sysmocom/suites/nitb_sms/suite.conf diff --git a/example/suites/nitb_ussd/assert_extension.py b/sysmocom/suites/nitb_ussd/assert_extension.py similarity index 100% rename from example/suites/nitb_ussd/assert_extension.py rename to sysmocom/suites/nitb_ussd/assert_extension.py diff --git a/example/suites/nitb_ussd/suite.conf b/sysmocom/suites/nitb_ussd/suite.conf similarity index 100% rename from example/suites/nitb_ussd/suite.conf rename to sysmocom/suites/nitb_ussd/suite.conf diff --git a/example/suites/smpp/esme_connect_policy_acceptall.py b/sysmocom/suites/smpp/esme_connect_policy_acceptall.py similarity index 100% rename from example/suites/smpp/esme_connect_policy_acceptall.py rename to sysmocom/suites/smpp/esme_connect_policy_acceptall.py diff --git a/example/suites/smpp/esme_connect_policy_closed.py b/sysmocom/suites/smpp/esme_connect_policy_closed.py similarity index 100% rename from example/suites/smpp/esme_connect_policy_closed.py rename to sysmocom/suites/smpp/esme_connect_policy_closed.py diff --git a/example/suites/smpp/esme_ms_sms_storeforward.py b/sysmocom/suites/smpp/esme_ms_sms_storeforward.py similarity index 100% rename from example/suites/smpp/esme_ms_sms_storeforward.py rename to sysmocom/suites/smpp/esme_ms_sms_storeforward.py diff --git a/example/suites/smpp/esme_ms_sms_transaction.py b/sysmocom/suites/smpp/esme_ms_sms_transaction.py similarity index 100% rename from example/suites/smpp/esme_ms_sms_transaction.py rename to sysmocom/suites/smpp/esme_ms_sms_transaction.py diff --git a/example/suites/smpp/suite.conf b/sysmocom/suites/smpp/suite.conf similarity index 100% rename from example/suites/smpp/suite.conf rename to sysmocom/suites/smpp/suite.conf diff --git a/example/suites/sms/mo_mt_sms.py b/sysmocom/suites/sms/mo_mt_sms.py similarity index 100% rename from example/suites/sms/mo_mt_sms.py rename to sysmocom/suites/sms/mo_mt_sms.py diff --git a/example/suites/sms/suite.conf b/sysmocom/suites/sms/suite.conf similarity index 100% rename from example/suites/sms/suite.conf rename to sysmocom/suites/sms/suite.conf diff --git a/example/suites/ussd/assert_extension.py b/sysmocom/suites/ussd/assert_extension.py similarity index 100% rename from example/suites/ussd/assert_extension.py rename to sysmocom/suites/ussd/assert_extension.py diff --git a/example/suites/ussd/suite.conf b/sysmocom/suites/ussd/suite.conf similarity index 100% rename from example/suites/ussd/suite.conf rename to sysmocom/suites/ussd/suite.conf diff --git a/example/suites/voice/lib/testlib.py b/sysmocom/suites/voice/lib/testlib.py similarity index 100% rename from example/suites/voice/lib/testlib.py rename to sysmocom/suites/voice/lib/testlib.py diff --git a/example/suites/voice/mo_mt_call.py b/sysmocom/suites/voice/mo_mt_call.py similarity index 100% rename from example/suites/voice/mo_mt_call.py rename to sysmocom/suites/voice/mo_mt_call.py diff --git a/example/suites/voice/mo_mt_call_osmux.py b/sysmocom/suites/voice/mo_mt_call_osmux.py similarity index 100% rename from example/suites/voice/mo_mt_call_osmux.py rename to sysmocom/suites/voice/mo_mt_call_osmux.py diff --git a/example/suites/voice/suite.conf b/sysmocom/suites/voice/suite.conf similarity index 100% rename from example/suites/voice/suite.conf rename to sysmocom/suites/voice/suite.conf diff --git a/ttcn3/README.txt b/sysmocom/ttcn3/README.txt similarity index 100% rename from ttcn3/README.txt rename to sysmocom/ttcn3/README.txt diff --git a/ttcn3/default-suites.conf b/sysmocom/ttcn3/default-suites.conf similarity index 100% rename from ttcn3/default-suites.conf rename to sysmocom/ttcn3/default-suites.conf diff --git a/sysmocom/ttcn3/defaults.conf b/sysmocom/ttcn3/defaults.conf new file mode 120000 index 0000000..1e7775f --- /dev/null +++ b/sysmocom/ttcn3/defaults.conf @@ -0,0 +1 @@ +../defaults.conf \ No newline at end of file diff --git a/ttcn3/jenkins-run.sh b/sysmocom/ttcn3/jenkins-run.sh similarity index 100% rename from ttcn3/jenkins-run.sh rename to sysmocom/ttcn3/jenkins-run.sh diff --git a/ttcn3/paths.conf b/sysmocom/ttcn3/paths.conf similarity index 100% rename from ttcn3/paths.conf rename to sysmocom/ttcn3/paths.conf diff --git a/sysmocom/ttcn3/resources.conf.prod b/sysmocom/ttcn3/resources.conf.prod new file mode 120000 index 0000000..a291b19 --- /dev/null +++ b/sysmocom/ttcn3/resources.conf.prod @@ -0,0 +1 @@ +../resources.conf.prod \ No newline at end of file diff --git a/sysmocom/ttcn3/resources.conf.rnd b/sysmocom/ttcn3/resources.conf.rnd new file mode 120000 index 0000000..756e6a9 --- /dev/null +++ b/sysmocom/ttcn3/resources.conf.rnd @@ -0,0 +1 @@ +../resources.conf.rnd \ No newline at end of file diff --git a/sysmocom/ttcn3/scenarios/oc2g.conf b/sysmocom/ttcn3/scenarios/oc2g.conf new file mode 120000 index 0000000..50c1477 --- /dev/null +++ b/sysmocom/ttcn3/scenarios/oc2g.conf @@ -0,0 +1 @@ +../../scenarios/oc2g.conf \ No newline at end of file diff --git a/sysmocom/ttcn3/scenarios/sysmo.conf b/sysmocom/ttcn3/scenarios/sysmo.conf new file mode 120000 index 0000000..93ef3ed --- /dev/null +++ b/sysmocom/ttcn3/scenarios/sysmo.conf @@ -0,0 +1 @@ +../../scenarios/sysmo.conf \ No newline at end of file diff --git a/sysmocom/ttcn3/scenarios/trx.conf b/sysmocom/ttcn3/scenarios/trx.conf new file mode 120000 index 0000000..f0fd8f8 --- /dev/null +++ b/sysmocom/ttcn3/scenarios/trx.conf @@ -0,0 +1 @@ +../../scenarios/trx.conf \ No newline at end of file diff --git a/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py similarity index 100% rename from ttcn3/suites/ttcn3_bts_tests/lib/testlib.py rename to sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py diff --git a/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl b/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl similarity index 100% rename from ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl rename to sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl diff --git a/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh b/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh similarity index 100% rename from ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh rename to sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh diff --git a/ttcn3/suites/ttcn3_bts_tests/suite.conf b/sysmocom/ttcn3/suites/ttcn3_bts_tests/suite.conf similarity index 100% rename from ttcn3/suites/ttcn3_bts_tests/suite.conf rename to sysmocom/ttcn3/suites/ttcn3_bts_tests/suite.conf diff --git a/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py similarity index 100% rename from ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py rename to sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py diff --git a/ttcn3/defaults.conf b/ttcn3/defaults.conf deleted file mode 120000 index e47699d..0000000 --- a/ttcn3/defaults.conf +++ /dev/null @@ -1 +0,0 @@ -../example/defaults.conf \ No newline at end of file diff --git a/ttcn3/resources.conf.prod b/ttcn3/resources.conf.prod deleted file mode 120000 index 3e40e89..0000000 --- a/ttcn3/resources.conf.prod +++ /dev/null @@ -1 +0,0 @@ -../example/resources.conf.prod \ No newline at end of file diff --git a/ttcn3/resources.conf.rnd b/ttcn3/resources.conf.rnd deleted file mode 120000 index 6f98474..0000000 --- a/ttcn3/resources.conf.rnd +++ /dev/null @@ -1 +0,0 @@ -../example/resources.conf.rnd \ No newline at end of file diff --git a/ttcn3/scenarios/oc2g.conf b/ttcn3/scenarios/oc2g.conf deleted file mode 120000 index c85edf2..0000000 --- a/ttcn3/scenarios/oc2g.conf +++ /dev/null @@ -1 +0,0 @@ -../../example/scenarios/oc2g.conf \ No newline at end of file diff --git a/ttcn3/scenarios/sysmo.conf b/ttcn3/scenarios/sysmo.conf deleted file mode 120000 index 5374081..0000000 --- a/ttcn3/scenarios/sysmo.conf +++ /dev/null @@ -1 +0,0 @@ -../../example/scenarios/sysmo.conf \ No newline at end of file diff --git a/ttcn3/scenarios/trx.conf b/ttcn3/scenarios/trx.conf deleted file mode 120000 index d72ddb2..0000000 --- a/ttcn3/scenarios/trx.conf +++ /dev/null @@ -1 +0,0 @@ -../../example/scenarios/trx.conf \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17774 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: I364e0859c0851b9167907a4d948b659a0f6a19fb Gerrit-Change-Number: 17774 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Sat Apr 11 15:17:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 15:17:59 +0000 Subject: Change in osmo-ci[master]: ansible: gsm-tester: Intall dbus policy file from git repo In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17773 ) Change subject: ansible: gsm-tester: Intall dbus policy file from git repo ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17773 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Icb4827c4126c997633e23e4d778ff9b1a1836322 Gerrit-Change-Number: 17773 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 11 Apr 2020 15: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 Sat Apr 11 15:18:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 15:18:07 +0000 Subject: Change in osmo-ci[master]: jobs: osmo-gsm-tester: Update path to sysmocom's specific setup In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17776 ) Change subject: jobs: osmo-gsm-tester: Update path to sysmocom's specific setup ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17776 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4c7516d2eb9636d37391a81dc9d484c0c04d7191 Gerrit-Change-Number: 17776 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 11 Apr 2020 15:18: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 Apr 11 15:18:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 15:18:10 +0000 Subject: Change in osmo-ci[master]: ansible: gsm-tester: Intall dbus policy file from git repo In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17773 ) Change subject: ansible: gsm-tester: Intall dbus policy file from git repo ...................................................................... ansible: gsm-tester: Intall dbus policy file from git repo Since osmo-gsm-tester.git I17ee94b175deb88faff71e7788c482093693f8a8, the file is available in the repository, so let's simply install it from there. Change-Id: Icb4827c4126c997633e23e4d778ff9b1a1836322 --- D ansible/roles/gsm-tester/files/dbus_osmo-gsm-tester.conf M ansible/roles/gsm-tester/tasks/main.yml 2 files changed, 9 insertions(+), 17 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/ansible/roles/gsm-tester/files/dbus_osmo-gsm-tester.conf b/ansible/roles/gsm-tester/files/dbus_osmo-gsm-tester.conf deleted file mode 100644 index d867833..0000000 --- a/ansible/roles/gsm-tester/files/dbus_osmo-gsm-tester.conf +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/ansible/roles/gsm-tester/tasks/main.yml b/ansible/roles/gsm-tester/tasks/main.yml index 0109d1b..6258fde 100644 --- a/ansible/roles/gsm-tester/tasks/main.yml +++ b/ansible/roles/gsm-tester/tasks/main.yml @@ -318,14 +318,6 @@ tags: - osmo-gsm-tester-main -- name: allow osmo-gsm-tester to access ofono - copy: - src: dbus_osmo-gsm-tester.conf - dest: /etc/dbus-1/system.d/osmo-gsm-tester.conf - tags: - - ofono - - modem - - name: ensure tcpdump can be called by osmo-gsm-tester file: path: /usr/sbin/tcpdump @@ -399,6 +391,15 @@ tags: - osmo-gsm-tester-proc +- name: Install dbus policy file to allow osmo-gsm-tester group to access ofono + shell: | + cp utils/dbus-1/* /etc/dbus-1/system.d/ + args: + chdir: /root/osmo-gsm-tester + tags: + - ofono + - modem + - name: logrotate limit filesizes to 10M copy: content: "maxsize 10M" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17773 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Icb4827c4126c997633e23e4d778ff9b1a1836322 Gerrit-Change-Number: 17773 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 Sat Apr 11 15:18:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 15:18:10 +0000 Subject: Change in osmo-ci[master]: jobs: osmo-gsm-tester: Update path to sysmocom's specific setup In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17776 ) Change subject: jobs: osmo-gsm-tester: Update path to sysmocom's specific setup ...................................................................... jobs: osmo-gsm-tester: Update path to sysmocom's specific setup Since osmo-gsm-tester.git I364e0859c0851b9167907a4d948b659a0f6a19fb the example/ directory has been renamed to sysmocom/ Change-Id: I4c7516d2eb9636d37391a81dc9d484c0c04d7191 --- M jobs/osmo-gsm-tester-runner.yml M jobs/osmo-gsm-tester_run-gerrit.sh M jobs/osmo-gsm-tester_run-prod.sh M jobs/osmo-gsm-tester_run-rnd.sh M jobs/osmo-gsm-tester_ttcn3.sh 5 files changed, 18 insertions(+), 18 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/jobs/osmo-gsm-tester-runner.yml b/jobs/osmo-gsm-tester-runner.yml index d00ecfa..788f057 100644 --- a/jobs/osmo-gsm-tester-runner.yml +++ b/jobs/osmo-gsm-tester-runner.yml @@ -225,9 +225,9 @@ - copy_artifact: repo: osmo-gsm-tester_build-osmocom-bb - shell: > - unlink osmo-gsm-tester/example/resources.conf || true + unlink osmo-gsm-tester/sysmocom/resources.conf || true - ln -s resources.conf.virtual osmo-gsm-tester/example/resources.conf + ln -s resources.conf.virtual osmo-gsm-tester/sysmocom/resources.conf # TODO: We (want to) grant CAP_SYS_NICE for osmo-bts-virtual # but with newer cgroup support and the --cpu-rt-runtime/--ulimit @@ -236,7 +236,7 @@ docker run --rm=true \ -e HOME=/build \ -e JOB_NAME="$JOB_NAME" \ - -e OSMO_GSM_TESTER_CONF="/build/osmo-gsm-tester/example" \ + -e OSMO_GSM_TESTER_CONF="/build/osmo-gsm-tester/sysmocom" \ -e OSMO_GSM_TESTER_OPTS="$OSMO_GSM_TESTER_OPTS" \ -e BUILD_NUMBER="$BUILD_NUMBER" \ -w /build -i \ diff --git a/jobs/osmo-gsm-tester_run-gerrit.sh b/jobs/osmo-gsm-tester_run-gerrit.sh index 4f250be..aa0c5d9 100644 --- a/jobs/osmo-gsm-tester_run-gerrit.sh +++ b/jobs/osmo-gsm-tester_run-gerrit.sh @@ -1,14 +1,14 @@ #!/bin/sh set -e -x -# On our hardware, we actually use the example configuration as-is. -export OSMO_GSM_TESTER_CONF="$PWD/osmo-gsm-tester/example" +# On our hardware, we actually use the sysmocom configuration as-is. +export OSMO_GSM_TESTER_CONF="$PWD/osmo-gsm-tester/sysmocom" # debug: provoke a failure #export OSMO_GSM_TESTER_OPTS="-s debug -t fail" -unlink osmo-gsm-tester/example/resources.conf || true -ln -s resources.conf.prod osmo-gsm-tester/example/resources.conf +unlink osmo-gsm-tester/sysmocom/resources.conf || true +ln -s resources.conf.prod osmo-gsm-tester/sysmocom/resources.conf export OSMO_GSM_TESTER_OPTS="-s nitb_sms:sysmo -s sms:sysmo -s gprs:sysmo" ./osmo-gsm-tester/contrib/jenkins-make-check-and-run.sh diff --git a/jobs/osmo-gsm-tester_run-prod.sh b/jobs/osmo-gsm-tester_run-prod.sh index bcfe8ed..7614d10 100644 --- a/jobs/osmo-gsm-tester_run-prod.sh +++ b/jobs/osmo-gsm-tester_run-prod.sh @@ -1,14 +1,14 @@ #!/bin/sh set -e -x -# On our hardware, we actually use the example configuration as-is. -export OSMO_GSM_TESTER_CONF="$PWD/osmo-gsm-tester/example" +# On our hardware, we actually use the sysmocom configuration as-is. +export OSMO_GSM_TESTER_CONF="$PWD/osmo-gsm-tester/sysmocom" # debug: provoke a failure #export OSMO_GSM_TESTER_OPTS="-s debug -t fail" -unlink osmo-gsm-tester/example/resources.conf || true -ln -s resources.conf.prod osmo-gsm-tester/example/resources.conf +unlink osmo-gsm-tester/sysmocom/resources.conf || true +ln -s resources.conf.prod osmo-gsm-tester/sysmocom/resources.conf PATH="$PWD/osmo-gsm-tester/src:$PATH" \ ./osmo-gsm-tester/contrib/jenkins-run.sh diff --git a/jobs/osmo-gsm-tester_run-rnd.sh b/jobs/osmo-gsm-tester_run-rnd.sh index 1f8a58a..0bc7fcb 100644 --- a/jobs/osmo-gsm-tester_run-rnd.sh +++ b/jobs/osmo-gsm-tester_run-rnd.sh @@ -1,14 +1,14 @@ #!/bin/sh set -e -x -# On our hardware, we actually use the example configuration as-is. -export OSMO_GSM_TESTER_CONF="$PWD/osmo-gsm-tester/example" +# On our hardware, we actually use the sysmocom configuration as-is. +export OSMO_GSM_TESTER_CONF="$PWD/osmo-gsm-tester/sysmocom" # debug: provoke a failure #export OSMO_GSM_TESTER_OPTS="-s debug -t fail" -unlink osmo-gsm-tester/example/resources.conf || true -ln -s resources.conf.rnd osmo-gsm-tester/example/resources.conf +unlink osmo-gsm-tester/sysmocom/resources.conf || true +ln -s resources.conf.rnd osmo-gsm-tester/sysmocom/resources.conf PATH="$PWD/osmo-gsm-tester/src:$PATH" \ ./osmo-gsm-tester/contrib/jenkins-run.sh diff --git a/jobs/osmo-gsm-tester_ttcn3.sh b/jobs/osmo-gsm-tester_ttcn3.sh index a4d5e16..cb973fd 100644 --- a/jobs/osmo-gsm-tester_ttcn3.sh +++ b/jobs/osmo-gsm-tester_ttcn3.sh @@ -2,13 +2,13 @@ set -e -x # On our hardware, we actually use the ttcn3 configuration as-is. -export OSMO_GSM_TESTER_CONF="$PWD/osmo-gsm-tester/ttcn3" +export OSMO_GSM_TESTER_CONF="$PWD/osmo-gsm-tester/sysmocom/ttcn3" # debug: provoke a failure #export OSMO_GSM_TESTER_OPTS="-s debug -t fail" -unlink osmo-gsm-tester/ttcn3/resources.conf || true -ln -s resources.conf.prod osmo-gsm-tester/ttcn3/resources.conf +unlink osmo-gsm-tester/sysmocom/ttcn3/resources.conf || true +ln -s resources.conf.prod osmo-gsm-tester/sysmocom/ttcn3/resources.conf PATH="$PWD/osmo-gsm-tester/src:$PATH" \ ./osmo-gsm-tester/ttcn3/jenkins-run.sh -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17776 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4c7516d2eb9636d37391a81dc9d484c0c04d7191 Gerrit-Change-Number: 17776 Gerrit-PatchSet: 2 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 Sat Apr 11 15:38:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 15:38:59 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Update path to sysmocom's specific setup In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17779 ) Change subject: osmo-gsm-tester: Update path to sysmocom's specific setup ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17779 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8ca085e02330be51de12066da0555c1bc0c8b767 Gerrit-Change-Number: 17779 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 11 Apr 2020 15: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 Apr 11 15:39:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 15:39:02 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Update path to sysmocom's specific setup In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17779 ) Change subject: osmo-gsm-tester: Update path to sysmocom's specific setup ...................................................................... osmo-gsm-tester: Update path to sysmocom's specific setup Since osmo-gsm-tester.git I364e0859c0851b9167907a4d948b659a0f6a19fb the example/ directory has been renamed to sysmocom/ Change-Id: I8ca085e02330be51de12066da0555c1bc0c8b767 --- M osmo-gsm-tester/Dockerfile 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index 303642b..b46fe4c 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -130,9 +130,9 @@ RUN mkdir -p /etc/security/limits.d/ && cp osmo-gsm-tester/utils/limits.d/* /etc/security/limits.d/ VOLUME /data -COPY resources.conf /tmp/osmo-gsm-tester/example/resources.conf +COPY resources.conf /tmp/osmo-gsm-tester/sysmocom/resources.conf -ENV OSMO_GSM_TESTER_CONF /tmp/osmo-gsm-tester/example +ENV OSMO_GSM_TESTER_CONF /tmp/osmo-gsm-tester/sysmocom WORKDIR /data CMD ["/bin/sh", "-c", "/data/osmo-gsm-tester-master.sh >/data/osmo-gsm-tester.log 2>&1"] -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17779 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8ca085e02330be51de12066da0555c1bc0c8b767 Gerrit-Change-Number: 17779 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 Sat Apr 11 16:58:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 16:58:20 +0000 Subject: Change in osmo-gsm-tester[master]: Introduce doc/examples/ directory In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17775 ) Change subject: Introduce doc/examples/ directory ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17775 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: I55d5b1152da201799af21a77ef6c562f97bd94fc Gerrit-Change-Number: 17775 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 11 Apr 2020 16: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 Sat Apr 11 16:58:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 16:58:22 +0000 Subject: Change in osmo-gsm-tester[master]: Rename object classes to be {obj_class}_{implementation} In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17780 ) Change subject: Rename object classes to be {obj_class}_{implementation} ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17780 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: Ieafd96d7ee5b4baef08ca767629b93834f6a8c7c Gerrit-Change-Number: 17780 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 11 Apr 2020 16:58: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 Apr 11 16:58:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 16:58:25 +0000 Subject: Change in osmo-gsm-tester[master]: Introduce doc/examples/ directory In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17775 ) Change subject: Introduce doc/examples/ directory ...................................................................... Introduce doc/examples/ directory It contains simple usual setups to get started with osmo-gsm-tester, such as creating a 4G network using srsLTE or a 2G network using the osmocom stack (+ ofono modems). Change-Id: I55d5b1152da201799af21a77ef6c562f97bd94fc --- A doc/examples/2g_osmocom/README.txt A doc/examples/2g_osmocom/default-suites.conf A doc/examples/2g_osmocom/defaults.conf A doc/examples/2g_osmocom/paths.conf A doc/examples/2g_osmocom/resources.conf A doc/examples/2g_osmocom/scenarios/trx-b200.conf A doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py A doc/examples/2g_osmocom/suites/sms/suite.conf A doc/examples/4g_srsLTE/README.txt A doc/examples/4g_srsLTE/default-suites.conf A doc/examples/4g_srsLTE/defaults.conf A doc/examples/4g_srsLTE/paths.conf A doc/examples/4g_srsLTE/resources.conf A doc/examples/4g_srsLTE/scenarios/cfg-epc-qci at .conf A doc/examples/4g_srsLTE/scenarios/cfg-epc-type at .conf A doc/examples/4g_srsLTE/scenarios/cfg-iperf3-time at .conf A doc/examples/4g_srsLTE/scenarios/cfg-srs-enable-pcap.conf A doc/examples/4g_srsLTE/scenarios/mod-enb-args at .conf A doc/examples/4g_srsLTE/scenarios/mod-enb-meas-event at .conf A doc/examples/4g_srsLTE/scenarios/mod-enb-ncells at .conf A doc/examples/4g_srsLTE/scenarios/mod-enb-nprb at .conf A doc/examples/4g_srsLTE/scenarios/mod-enb-txmode at .conf A doc/examples/4g_srsLTE/scenarios/mod-modem-args at .conf A doc/examples/4g_srsLTE/scenarios/mod-srsue-airplane_mode_sim at .conf A doc/examples/4g_srsLTE/scenarios/mod-srsue-ncarriers at .conf A doc/examples/4g_srsLTE/scenarios/srsenb-rftype at .conf A doc/examples/4g_srsLTE/scenarios/srsue-rftype at .conf A doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py A doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py A doc/examples/4g_srsLTE/suites/4g/ping.py A doc/examples/4g_srsLTE/suites/4g/suite.conf 31 files changed, 498 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/examples/2g_osmocom/README.txt b/doc/examples/2g_osmocom/README.txt new file mode 100644 index 0000000..4c869ca --- /dev/null +++ b/doc/examples/2g_osmocom/README.txt @@ -0,0 +1,30 @@ +This a sample gsm test suite configured and ready to use. +The only thing missing is a trial dir containing binaries. + +You can point osmo-gsm-tester.py at this config using the OSMO_GSM_TESTER_CONF +environment variable: + + export OSMO_GSM_TESTER_CONF="$PWD" + +When there is no OSMO_GSM_TESTER_CONF set, osmo-gsm-tester will instead look +for conf files in several locations like ~/.config/osmo-gsm-tester, +/usr/local/etc/osmo-gsm-tester, /etc/osmo-gsm-tester. + +If you have your trial with binary tar archives in ~/my_trial +you can run the suite for example like this: + + osmo-gsm-tester.py ~/my_trial + +Specifically, from this dir: + + OSMO_GSM_TESTER_CONF="$PWD" ../src/osmo-gsm-tester.py ~/my_trial + +Alternatively you can setup this example as permanent config using something +like: + + mkdir -p ~/.config + ln -s "$PWD" ~/.config/osmo-gsm-tester + +A ./state dir will be created to store the current osmo-gsm-tester state. If +you prefer not to write to $PWD, set up an own configuration pointing at a +different path (see paths.conf: 'state_dir'). diff --git a/doc/examples/2g_osmocom/default-suites.conf b/doc/examples/2g_osmocom/default-suites.conf new file mode 100644 index 0000000..94cf9c5 --- /dev/null +++ b/doc/examples/2g_osmocom/default-suites.conf @@ -0,0 +1 @@ +- sms:trx-b200 diff --git a/doc/examples/2g_osmocom/defaults.conf b/doc/examples/2g_osmocom/defaults.conf new file mode 100644 index 0000000..06d596a --- /dev/null +++ b/doc/examples/2g_osmocom/defaults.conf @@ -0,0 +1,63 @@ +bsc: + net: + mcc: 901 + mnc: 70 + short_name: osmo-gsm-tester-msc + long_name: osmo-gsm-tester-msc + encryption: a5_0 + codec_list: + - fr1 + +msc: + net: + mcc: 901 + mnc: 70 + short_name: osmo-gsm-tester-msc + long_name: osmo-gsm-tester-msc + encryption: a5_0 + authentication: optional + +bsc_bts: + base_station_id_code: 63 + stream_id: 255 + osmobsc_bts_type: sysmobts + channel_allocator: ascending + gprs_mode: gprs + num_trx: 1 + max_trx: 1 + trx_list: + - nominal_power: 23 + max_power_red: 0 + arfcn: 868 + timeslot_list: + - phys_chan_config: CCCH+SDCCH4 + - phys_chan_config: SDCCH8 + - phys_chan_config: TCH/F + - phys_chan_config: TCH/F + - phys_chan_config: TCH/F + - phys_chan_config: TCH/F + - phys_chan_config: PDCH + - phys_chan_config: PDCH + - nominal_power: 23 + max_power_red: 0 + arfcn: 872 + timeslot_list: + - phys_chan_config: TCH/F + - phys_chan_config: SDCCH8 + - phys_chan_config: TCH/F + - phys_chan_config: TCH/F + - phys_chan_config: TCH/F + - phys_chan_config: TCH/F + - phys_chan_config: PDCH + - phys_chan_config: PDCH + +osmo_bts_trx: + max_trx: 2 + +osmo_trx: + type: uhd + launch_trx: true + clock_reference: internal + +iperf3cli: + time: 60 diff --git a/doc/examples/2g_osmocom/paths.conf b/doc/examples/2g_osmocom/paths.conf new file mode 100644 index 0000000..27c5818 --- /dev/null +++ b/doc/examples/2g_osmocom/paths.conf @@ -0,0 +1,3 @@ +state_dir: '/var/tmp/osmo-gsm-tester/state' +suites_dir: './suites' +scenarios_dir: './scenarios' diff --git a/doc/examples/2g_osmocom/resources.conf b/doc/examples/2g_osmocom/resources.conf new file mode 100644 index 0000000..087c445 --- /dev/null +++ b/doc/examples/2g_osmocom/resources.conf @@ -0,0 +1,40 @@ +# all hardware and interfaces available to this osmo-gsm-tester + +ip_address: +- addr: 10.42.42.2 +- addr: 10.42.42.3 +- addr: 10.42.42.4 +- addr: 10.42.42.5 +- addr: 10.42.42.6 +- addr: 10.42.42.7 + +bts: +- label: Ettus B200 + type: osmo-bts-trx + ipa_unit_id: 6 + addr: 10.42.42.50 + band: GSM-1800 + ciphers: [a5_0, a5_1, a5_3] + osmo_trx: + type: uhd + launch_trx: true + remote_user: jenkins + trx_ip: 10.42.42.116 + dev_args: "type=b200,serial=306BD11" + clock_reference: external + multi_arfcn: true + +modem: +- label: sierra_1st + path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.4/1-5.4.1/1-5.4.1.2' + ki: 'EBAB63D06C3F546A16C977CB40E57C68' + auth_algo: 'comp128v1' + ciphers: [a5_0, a5_1] + features: ['2g', 'sms', 'voice', 'ussd', 'sim'] + +- label: ec20_1 + path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.4/1-5.4.1/1-5.4.1.6' + ki: '07F35D0A9476646169669401215580E0' + auth_algo: 'comp128v1' + ciphers: [a5_0, a5_1] + features: ['2g', 'sms', 'voice', 'ussd', 'gprs', 'sim'] diff --git a/doc/examples/2g_osmocom/scenarios/trx-b200.conf b/doc/examples/2g_osmocom/scenarios/trx-b200.conf new file mode 100644 index 0000000..2bad7e8 --- /dev/null +++ b/doc/examples/2g_osmocom/scenarios/trx-b200.conf @@ -0,0 +1,4 @@ +resources: + bts: + - label: Ettus B200 + type: osmo-bts-trx diff --git a/doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py b/doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py new file mode 100755 index 0000000..7654ea6 --- /dev/null +++ b/doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +hlr = suite.hlr() +bts = suite.bts() +mgw_msc = suite.mgw() +mgw_bsc = suite.mgw() +stp = suite.stp() +msc = suite.msc(hlr, mgw_msc, stp) +bsc = suite.bsc(msc, mgw_bsc, stp) +ms_mo = suite.modem() +ms_mt = suite.modem() + +hlr.start() +stp.start() +msc.start() +mgw_msc.start() +mgw_bsc.start() + +bsc.bts_add(bts) +bsc.start() + +bts.start() +wait(bsc.bts_is_connected, bts) + +hlr.subscriber_add(ms_mo) +hlr.subscriber_add(ms_mt) + +ms_mo.connect(msc.mcc_mnc()) +ms_mt.connect(msc.mcc_mnc()) + +ms_mo.log_info() +ms_mt.log_info() + +print('waiting for modems to attach...') +wait(ms_mo.is_connected, msc.mcc_mnc()) +wait(ms_mt.is_connected, msc.mcc_mnc()) +wait(msc.subscriber_attached, ms_mo, ms_mt) + +sms = ms_mo.sms_send(ms_mt) +wait(ms_mt.sms_was_received, sms) diff --git a/doc/examples/2g_osmocom/suites/sms/suite.conf b/doc/examples/2g_osmocom/suites/sms/suite.conf new file mode 100644 index 0000000..28a81ea --- /dev/null +++ b/doc/examples/2g_osmocom/suites/sms/suite.conf @@ -0,0 +1,9 @@ +resources: + ip_address: + - times: 6 # msc, bsc, hlr, stp, mgw*2 + bts: + - times: 1 + modem: + - times: 2 + features: + - sms diff --git a/doc/examples/4g_srsLTE/README.txt b/doc/examples/4g_srsLTE/README.txt new file mode 100644 index 0000000..6840801 --- /dev/null +++ b/doc/examples/4g_srsLTE/README.txt @@ -0,0 +1,30 @@ +This a sample 4G test suite configured and ready to use srsLTE stack. +The only thing missing is a trial dir containing binaries. + +You can point osmo-gsm-tester.py at this config using the OSMO_GSM_TESTER_CONF +environment variable: + + export OSMO_GSM_TESTER_CONF="$PWD" + +When there is no OSMO_GSM_TESTER_CONF set, osmo-gsm-tester will instead look +for conf files in several locations like ~/.config/osmo-gsm-tester, +/usr/local/etc/osmo-gsm-tester, /etc/osmo-gsm-tester. + +If you have your trial with binary tar archives in ~/my_trial +you can run the suite for example like this: + + osmo-gsm-tester.py ~/my_trial + +Specifically, from this dir: + + OSMO_GSM_TESTER_CONF="$PWD" ../../src/osmo-gsm-tester.py ~/my_trial + +Alternatively you can setup this example as permanent config using something +like: + + mkdir -p ~/.config + ln -s "$PWD" ~/.config/osmo-gsm-tester + +A ./state dir will be created to store the current osmo-gsm-tester state. If +you prefer not to write to $PWD, set up an own configuration pointing at a +different path (see paths.conf: 'state_dir'). diff --git a/doc/examples/4g_srsLTE/default-suites.conf b/doc/examples/4g_srsLTE/default-suites.conf new file mode 100644 index 0000000..136cb92 --- /dev/null +++ b/doc/examples/4g_srsLTE/default-suites.conf @@ -0,0 +1,2 @@ +- 4g:srsue-rftype at uhd+srsenb-rftype@uhd+mod-enb-nprb at 6 +- 4g:srsue-rftype at zmq+srsenb-rftype@zmq+mod-enb-nprb at 25 diff --git a/doc/examples/4g_srsLTE/defaults.conf b/doc/examples/4g_srsLTE/defaults.conf new file mode 100644 index 0000000..4a3b4c4 --- /dev/null +++ b/doc/examples/4g_srsLTE/defaults.conf @@ -0,0 +1,40 @@ +epc: + type: srsepc + mcc: 901 + mnc: 70 + qci: 9 + +srsepc: + enable_pcap: false + +enb: + mcc: 901 + mnc: 70 + transmission_mode: 1 + num_cells: 1 + enable_measurements: false + a1_report_type: rsrp + a1_report_value: -105 + a1_hysteresis: 0 + a1_time_to_trigger: 640 + a2_report_type: rsrp + a2_report_value: -110 + a2_hysteresis: 0 + a2_time_to_trigger: 640 + a3_report_type: rsrp + a3_report_value: 6 + a3_hysteresis: 0 + a3_time_to_trigger: 480 + +srsenb: + num_prb: 100 + enable_pcap: false + +srsue: + enable_pcap: false + airplane_t_on_ms: -1 + airplane_t_off_ms: -1 + num_carriers: 1 + +iperf3cli: + time: 60 diff --git a/doc/examples/4g_srsLTE/paths.conf b/doc/examples/4g_srsLTE/paths.conf new file mode 100644 index 0000000..27c5818 --- /dev/null +++ b/doc/examples/4g_srsLTE/paths.conf @@ -0,0 +1,3 @@ +state_dir: '/var/tmp/osmo-gsm-tester/state' +suites_dir: './suites' +scenarios_dir: './scenarios' diff --git a/doc/examples/4g_srsLTE/resources.conf b/doc/examples/4g_srsLTE/resources.conf new file mode 100644 index 0000000..a1bdcbc --- /dev/null +++ b/doc/examples/4g_srsLTE/resources.conf @@ -0,0 +1,44 @@ +# all hardware and interfaces available to this osmo-gsm-tester + +# Used to run srsEPC on it: +run_node: +- run_type: ssh + run_addr: 172.18.50.100 + ssh_user: jenkins + ssh_addr: 172.18.50.100 + +enb: +- label: srsENB-zmq + type: srsenb + rf_dev_type: zmq + remote_user: jenkins + addr: 172.18.50.101 + +- label: srsENB-B200 + type: srsenb + rf_dev_type: uhd + rf_dev_args: 'type=b200,serial=317B9FE' + remote_user: jenkins + addr: 172.18.50.102 + +modem: +- label: srsUE-zmq + type: srsue + rf_dev_type: zmq + remote_user: jenkins + addr: 172.18.50.100 + imsi: '001010123456789' + ki: '00112233445566778899aabbccddeeff' + auth_algo: 'xor' + features: ['4g'] + +- label: srsUE-B200 + type: srsue + rf_dev_type: uhd + rf_dev_args: 'type=b200,serial=3128FF1' + remote_user: jenkins + addr: 10.12.1.195 + imsi: '001010123456789' + ki: '00112233445566778899aabbccddeeff' + auth_algo: 'xor' + features: ['4g'] diff --git a/doc/examples/4g_srsLTE/scenarios/cfg-epc-qci at .conf b/doc/examples/4g_srsLTE/scenarios/cfg-epc-qci at .conf new file mode 100644 index 0000000..8f9c937 --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/cfg-epc-qci at .conf @@ -0,0 +1,3 @@ +config: + epc: + qci: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/cfg-epc-type at .conf b/doc/examples/4g_srsLTE/scenarios/cfg-epc-type at .conf new file mode 100644 index 0000000..89b7fba --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/cfg-epc-type at .conf @@ -0,0 +1,3 @@ +config: + epc: + type: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/cfg-iperf3-time at .conf b/doc/examples/4g_srsLTE/scenarios/cfg-iperf3-time at .conf new file mode 100644 index 0000000..f46c59a --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/cfg-iperf3-time at .conf @@ -0,0 +1,3 @@ +config: + iperf3cli: + time: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/cfg-srs-enable-pcap.conf b/doc/examples/4g_srsLTE/scenarios/cfg-srs-enable-pcap.conf new file mode 100644 index 0000000..6927b80 --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/cfg-srs-enable-pcap.conf @@ -0,0 +1,7 @@ +config: + epc: + enable_pcap: true + enb: + enable_pcap: true + modem: + enable_pcap: true diff --git a/doc/examples/4g_srsLTE/scenarios/mod-enb-args at .conf b/doc/examples/4g_srsLTE/scenarios/mod-enb-args at .conf new file mode 100644 index 0000000..a758d01 --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/mod-enb-args at .conf @@ -0,0 +1,3 @@ +modifiers: + enb: + - additional_args: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/mod-enb-meas-event at .conf b/doc/examples/4g_srsLTE/scenarios/mod-enb-meas-event at .conf new file mode 100644 index 0000000..44f4fcd --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/mod-enb-meas-event at .conf @@ -0,0 +1,7 @@ +modifiers: + enb: + - enable_measurements: true + ${param1}_report_type: ${param2} + ${param1}_report_value: ${param3} + ${param1}_hysteresis: ${param4} + ${param1}_time_to_trigger: ${param5} diff --git a/doc/examples/4g_srsLTE/scenarios/mod-enb-ncells at .conf b/doc/examples/4g_srsLTE/scenarios/mod-enb-ncells at .conf new file mode 100644 index 0000000..b57b94a --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/mod-enb-ncells at .conf @@ -0,0 +1,3 @@ +modifiers: + enb: + - num_cells: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/mod-enb-nprb at .conf b/doc/examples/4g_srsLTE/scenarios/mod-enb-nprb at .conf new file mode 100644 index 0000000..f17347c --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/mod-enb-nprb at .conf @@ -0,0 +1,3 @@ +modifiers: + enb: + - num_prb: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/mod-enb-txmode at .conf b/doc/examples/4g_srsLTE/scenarios/mod-enb-txmode at .conf new file mode 100644 index 0000000..e0c8d01 --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/mod-enb-txmode at .conf @@ -0,0 +1,3 @@ +modifiers: + enb: + - transmission_mode: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/mod-modem-args at .conf b/doc/examples/4g_srsLTE/scenarios/mod-modem-args at .conf new file mode 100644 index 0000000..dde7796 --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/mod-modem-args at .conf @@ -0,0 +1,3 @@ +modifiers: + modem: + - additional_args: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/mod-srsue-airplane_mode_sim at .conf b/doc/examples/4g_srsLTE/scenarios/mod-srsue-airplane_mode_sim at .conf new file mode 100644 index 0000000..c05fba1 --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/mod-srsue-airplane_mode_sim at .conf @@ -0,0 +1,4 @@ +modifiers: + modem: + - airplane_t_on_ms: ${param1} + airplane_t_off_ms: ${param2} diff --git a/doc/examples/4g_srsLTE/scenarios/mod-srsue-ncarriers at .conf b/doc/examples/4g_srsLTE/scenarios/mod-srsue-ncarriers at .conf new file mode 100644 index 0000000..bb6409a --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/mod-srsue-ncarriers at .conf @@ -0,0 +1,3 @@ +modifiers: + modem: + - num_carriers: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/srsenb-rftype at .conf b/doc/examples/4g_srsLTE/scenarios/srsenb-rftype at .conf new file mode 100644 index 0000000..bf64b19 --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/srsenb-rftype at .conf @@ -0,0 +1,4 @@ +resources: + enb: + - type: srsenb + rf_dev_type: ${param1} diff --git a/doc/examples/4g_srsLTE/scenarios/srsue-rftype at .conf b/doc/examples/4g_srsLTE/scenarios/srsue-rftype at .conf new file mode 100644 index 0000000..85a0609 --- /dev/null +++ b/doc/examples/4g_srsLTE/scenarios/srsue-rftype at .conf @@ -0,0 +1,4 @@ +resources: + modem: + - type: srsue + rf_dev_type: ${param1} diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py new file mode 100755 index 0000000..88ae82d --- /dev/null +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +def print_result_node(result, node_str): + sent = result['end']['sum_sent'] + recv = result['end']['sum_received'] + print("Result %s:" % node_str) + print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) + print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) + +def print_results(cli_res, srv_res): + print_result_node(cli_res, 'client') + print_result_node(srv_res, 'server') + +epc = suite.epc() +enb = suite.enb() +ue = suite.modem() +iperf3srv = suite.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) +epc.start() +enb.ue_add(ue) +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) + +iperf3srv.start() +proc = iperf3cli.prepare_test_proc(True, ue.netns()) + +print('waiting for UE to attach...') +wait(ue.is_connected, None) +print('UE is attached') + +print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) +proc.launch_sync() +iperf3srv.stop() +print_results(iperf3cli.get_results(), iperf3srv.get_results()) + +max_rate = enb.ue_max_rate(downlink=True) +res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='dl_brate', criterion='gt') +print(res_str) +test.set_report_stdout(res_str) diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py new file mode 100755 index 0000000..597b50d --- /dev/null +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +def print_result_node(result, node_str): + sent = result['end']['sum_sent'] + recv = result['end']['sum_received'] + print("Result %s:" % node_str) + print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) + print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) + +def print_results(cli_res, srv_res): + print_result_node(cli_res, 'client') + print_result_node(srv_res, 'server') + +epc = suite.epc() +enb = suite.enb() +ue = suite.modem() +iperf3srv = suite.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) +epc.start() +enb.ue_add(ue) +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) + +iperf3srv.start() +proc = iperf3cli.prepare_test_proc(False, ue.netns()) + +print('waiting for UE to attach...') +wait(ue.is_connected, None) +print('UE is attached') + +print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) +proc.launch_sync() +iperf3srv.stop() +print_results(iperf3cli.get_results(), iperf3srv.get_results()) + +max_rate = enb.ue_max_rate(downlink=False) +res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='ul_brate', criterion='gt') +print(res_str) +test.set_report_stdout(res_str) diff --git a/doc/examples/4g_srsLTE/suites/4g/ping.py b/doc/examples/4g_srsLTE/suites/4g/ping.py new file mode 100755 index 0000000..17eee78 --- /dev/null +++ b/doc/examples/4g_srsLTE/suites/4g/ping.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +epc = suite.epc() +enb = suite.enb() +ue = suite.modem() + +epc.subscriber_add(ue) +epc.start() +enb.ue_add(ue) +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) +print('waiting for UE to attach...') +wait(ue.is_connected, None) +print('UE is attached') + +proc = ue.run_netns_wait('ping', ('ping', '-c', '10', epc.tun_addr())) +output = proc.get_stdout() +print(output) +test.set_report_stdout(output) diff --git a/doc/examples/4g_srsLTE/suites/4g/suite.conf b/doc/examples/4g_srsLTE/suites/4g/suite.conf new file mode 100644 index 0000000..e439e99 --- /dev/null +++ b/doc/examples/4g_srsLTE/suites/4g/suite.conf @@ -0,0 +1,12 @@ +resources: + run_node: # for EPC + - times: 1 + enb: + - times: 1 + modem: + - times: 1 + features: + - 4g + +defaults: + timeout: 180s -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17775 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: I55d5b1152da201799af21a77ef6c562f97bd94fc Gerrit-Change-Number: 17775 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Sat Apr 11 16:58:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 16:58:25 +0000 Subject: Change in osmo-gsm-tester[master]: Rename object classes to be {obj_class}_{implementation} In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17780 ) Change subject: Rename object classes to be {obj_class}_{implementation} ...................................................................... Rename object classes to be {obj_class}_{implementation} Change-Id: Ieafd96d7ee5b4baef08ca767629b93834f6a8c7c --- R src/osmo_gsm_tester/bsc_osmo.py R src/osmo_gsm_tester/enb_amarisoft.py R src/osmo_gsm_tester/enb_srs.py R src/osmo_gsm_tester/epc_amarisoft.py R src/osmo_gsm_tester/epc_srs.py R src/osmo_gsm_tester/ggsn_osmo.py R src/osmo_gsm_tester/hlr_osmo.py R src/osmo_gsm_tester/mgcpgw_osmo.py R src/osmo_gsm_tester/mgw_osmo.py R src/osmo_gsm_tester/ms_amarisoft.py R src/osmo_gsm_tester/ms_srs.py R src/osmo_gsm_tester/msc_osmo.py R src/osmo_gsm_tester/nitb_osmo.py M src/osmo_gsm_tester/resource.py R src/osmo_gsm_tester/sgsn_osmo.py R src/osmo_gsm_tester/stp_osmo.py M src/osmo_gsm_tester/suite.py 17 files changed, 18 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/osmo_bsc.py b/src/osmo_gsm_tester/bsc_osmo.py similarity index 100% rename from src/osmo_gsm_tester/osmo_bsc.py rename to src/osmo_gsm_tester/bsc_osmo.py diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/enb_amarisoft.py similarity index 99% rename from src/osmo_gsm_tester/amarisoft_enb.py rename to src/osmo_gsm_tester/enb_amarisoft.py index c92bf50..1487bdd 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/enb_amarisoft.py @@ -49,7 +49,7 @@ REMOTE_DIR = '/osmo-gsm-tester-amarisoftenb' BINFILE = 'lteenb' - CFGFILE = 'amarisoft_enb.cfg' + CFGFILE = 'enb_amarisoft.cfg' CFGFILE_SIB1 = 'amarisoft_sib1.asn' CFGFILE_SIB23 = 'amarisoft_sib23.asn' CFGFILE_RF = 'amarisoft_rf_driver.cfg' diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/enb_srs.py similarity index 100% rename from src/osmo_gsm_tester/srs_enb.py rename to src/osmo_gsm_tester/enb_srs.py diff --git a/src/osmo_gsm_tester/amarisoft_epc.py b/src/osmo_gsm_tester/epc_amarisoft.py similarity index 100% rename from src/osmo_gsm_tester/amarisoft_epc.py rename to src/osmo_gsm_tester/epc_amarisoft.py diff --git a/src/osmo_gsm_tester/srs_epc.py b/src/osmo_gsm_tester/epc_srs.py similarity index 100% rename from src/osmo_gsm_tester/srs_epc.py rename to src/osmo_gsm_tester/epc_srs.py diff --git a/src/osmo_gsm_tester/osmo_ggsn.py b/src/osmo_gsm_tester/ggsn_osmo.py similarity index 100% rename from src/osmo_gsm_tester/osmo_ggsn.py rename to src/osmo_gsm_tester/ggsn_osmo.py diff --git a/src/osmo_gsm_tester/osmo_hlr.py b/src/osmo_gsm_tester/hlr_osmo.py similarity index 100% rename from src/osmo_gsm_tester/osmo_hlr.py rename to src/osmo_gsm_tester/hlr_osmo.py diff --git a/src/osmo_gsm_tester/osmo_mgcpgw.py b/src/osmo_gsm_tester/mgcpgw_osmo.py similarity index 100% rename from src/osmo_gsm_tester/osmo_mgcpgw.py rename to src/osmo_gsm_tester/mgcpgw_osmo.py diff --git a/src/osmo_gsm_tester/osmo_mgw.py b/src/osmo_gsm_tester/mgw_osmo.py similarity index 100% rename from src/osmo_gsm_tester/osmo_mgw.py rename to src/osmo_gsm_tester/mgw_osmo.py diff --git a/src/osmo_gsm_tester/amarisoft_ue.py b/src/osmo_gsm_tester/ms_amarisoft.py similarity index 100% rename from src/osmo_gsm_tester/amarisoft_ue.py rename to src/osmo_gsm_tester/ms_amarisoft.py diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/ms_srs.py similarity index 100% rename from src/osmo_gsm_tester/srs_ue.py rename to src/osmo_gsm_tester/ms_srs.py diff --git a/src/osmo_gsm_tester/osmo_msc.py b/src/osmo_gsm_tester/msc_osmo.py similarity index 100% rename from src/osmo_gsm_tester/osmo_msc.py rename to src/osmo_gsm_tester/msc_osmo.py diff --git a/src/osmo_gsm_tester/osmo_nitb.py b/src/osmo_gsm_tester/nitb_osmo.py similarity index 100% rename from src/osmo_gsm_tester/osmo_nitb.py rename to src/osmo_gsm_tester/nitb_osmo.py diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index c58bdc7..fa17bcd 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -29,7 +29,7 @@ from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g from . import modem from . import ms_osmo_mobile -from . import srs_ue, amarisoft_ue, srs_enb, amarisoft_enb, srs_epc, amarisoft_epc +from . import ms_srs, ms_amarisoft, enb_srs, enb_amarisoft, epc_srs, epc_amarisoft from .util import is_dict, is_list @@ -157,13 +157,13 @@ } KNOWN_ENB_TYPES = { - 'srsenb': srs_enb.srsENB, - 'amarisoftenb': amarisoft_enb.AmarisoftENB, + 'srsenb': enb_srs.srsENB, + 'amarisoftenb': enb_amarisoft.AmarisoftENB, } KNOWN_EPC_TYPES = { - 'srsepc': srs_epc.srsEPC, - 'amarisoftepc': amarisoft_epc.AmarisoftEPC, + 'srsepc': epc_srs.srsEPC, + 'amarisoftepc': epc_amarisoft.AmarisoftEPC, } KNOWN_MS_TYPES = { @@ -171,8 +171,8 @@ None: modem.Modem, 'ofono': modem.Modem, 'osmo-mobile': ms_osmo_mobile.MSOsmoMobile, - 'srsue': srs_ue.srsUE, - 'amarisoftue': amarisoft_ue.AmarisoftUE, + 'srsue': ms_srs.srsUE, + 'amarisoftue': ms_amarisoft.AmarisoftUE, } diff --git a/src/osmo_gsm_tester/osmo_sgsn.py b/src/osmo_gsm_tester/sgsn_osmo.py similarity index 100% rename from src/osmo_gsm_tester/osmo_sgsn.py rename to src/osmo_gsm_tester/sgsn_osmo.py diff --git a/src/osmo_gsm_tester/osmo_stp.py b/src/osmo_gsm_tester/stp_osmo.py similarity index 100% rename from src/osmo_gsm_tester/osmo_stp.py rename to src/osmo_gsm_tester/stp_osmo.py diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index 5076671..0ddd95f 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -23,7 +23,7 @@ import pprint from . import config, log, util, resource, test from .event_loop import MainLoop -from . import osmo_nitb, osmo_hlr, osmo_mgcpgw, osmo_mgw, osmo_msc, osmo_bsc, osmo_stp, osmo_ggsn, osmo_sgsn, esme, osmocon, ms_driver, iperf3, process +from . import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3, process from . import run_node class Timeout(Exception): @@ -275,47 +275,47 @@ def nitb(self, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_nitb.OsmoNitb(self, ip_address) + return nitb_osmo.OsmoNitb(self, ip_address) def hlr(self, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_hlr.OsmoHlr(self, ip_address) + return hlr_osmo.OsmoHlr(self, ip_address) def ggsn(self, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_ggsn.OsmoGgsn(self, ip_address) + return ggsn_osmo.OsmoGgsn(self, ip_address) def sgsn(self, hlr, ggsn, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_sgsn.OsmoSgsn(self, hlr, ggsn, ip_address) + return sgsn_osmo.OsmoSgsn(self, hlr, ggsn, ip_address) def mgcpgw(self, ip_address=None, bts_ip=None): if ip_address is None: ip_address = self.ip_address() - return osmo_mgcpgw.OsmoMgcpgw(self, ip_address, bts_ip) + return mgcpgw_osmo.OsmoMgcpgw(self, ip_address, bts_ip) def mgw(self, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_mgw.OsmoMgw(self, ip_address) + return mgw_osmo.OsmoMgw(self, ip_address) def msc(self, hlr, mgcpgw, stp, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_msc.OsmoMsc(self, hlr, mgcpgw, stp, ip_address) + return msc_osmo.OsmoMsc(self, hlr, mgcpgw, stp, ip_address) def bsc(self, msc, mgw, stp, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_bsc.OsmoBsc(self, msc, mgw, stp, ip_address) + return bsc_osmo.OsmoBsc(self, msc, mgw, stp, ip_address) def stp(self, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_stp.OsmoStp(self, ip_address) + return stp_osmo.OsmoStp(self, ip_address) def ms_driver(self): ms = ms_driver.MsDriver(self) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17780 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: Ieafd96d7ee5b4baef08ca767629b93834f6a8c7c Gerrit-Change-Number: 17780 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Sat Apr 11 17:16:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 17:16:47 +0000 Subject: Change in osmo-gsm-tester[master]: Create core directory to contain most of code not in object classes u... 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/+/17781 to look at the new patch set (#2). Change subject: Create core directory to contain most of code not in object classes used by tests ...................................................................... Create core directory to contain most of code not in object classes used by tests Change-Id: I9aec6c55ccd71894182057d36e0025b69925d314 --- M selftest/_prep.py M selftest/config_test.py M selftest/lock_test_help.py M selftest/log_test.py M selftest/process_test.py M selftest/resource_test.py M selftest/suite_test.py M selftest/template_test.py M selftest/trial_test.py M selftest/util_test.py M src/osmo-gsm-tester.py M src/osmo_gsm_tester/bsc_osmo.py M src/osmo_gsm_tester/bts.py M src/osmo_gsm_tester/bts_nanobts.py M src/osmo_gsm_tester/bts_oc2g.py M src/osmo_gsm_tester/bts_octphy.py M src/osmo_gsm_tester/bts_osmo.py M src/osmo_gsm_tester/bts_osmotrx.py M src/osmo_gsm_tester/bts_osmovirtual.py M src/osmo_gsm_tester/bts_sysmo.py A src/osmo_gsm_tester/core/__init__.py R src/osmo_gsm_tester/core/config.py R src/osmo_gsm_tester/core/event_loop.py R src/osmo_gsm_tester/core/log.py R src/osmo_gsm_tester/core/process.py R src/osmo_gsm_tester/core/remote.py R src/osmo_gsm_tester/core/schema.py R src/osmo_gsm_tester/core/template.py R src/osmo_gsm_tester/core/util.py M src/osmo_gsm_tester/enb.py M src/osmo_gsm_tester/enb_amarisoft.py M src/osmo_gsm_tester/enb_srs.py M src/osmo_gsm_tester/epc.py M src/osmo_gsm_tester/epc_amarisoft.py M src/osmo_gsm_tester/epc_srs.py M src/osmo_gsm_tester/esme.py M src/osmo_gsm_tester/ggsn_osmo.py M src/osmo_gsm_tester/hlr_osmo.py M src/osmo_gsm_tester/iperf3.py M src/osmo_gsm_tester/mgcpgw_osmo.py M src/osmo_gsm_tester/mgw_osmo.py M src/osmo_gsm_tester/modem.py M src/osmo_gsm_tester/ms.py M src/osmo_gsm_tester/ms_amarisoft.py M src/osmo_gsm_tester/ms_driver.py M src/osmo_gsm_tester/ms_srs.py M src/osmo_gsm_tester/msc_osmo.py M src/osmo_gsm_tester/nitb_osmo.py M src/osmo_gsm_tester/osmo_ctrl.py M src/osmo_gsm_tester/osmocon.py M src/osmo_gsm_tester/pcap_recorder.py M src/osmo_gsm_tester/pcu.py M src/osmo_gsm_tester/pcu_oc2g.py M src/osmo_gsm_tester/pcu_osmo.py M src/osmo_gsm_tester/pcu_sysmo.py M src/osmo_gsm_tester/powersupply.py M src/osmo_gsm_tester/powersupply_intellinet.py M src/osmo_gsm_tester/powersupply_sispm.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/run_node.py M src/osmo_gsm_tester/sgsn_osmo.py M src/osmo_gsm_tester/smsc.py M src/osmo_gsm_tester/stp_osmo.py M src/osmo_gsm_tester/suite.py M src/osmo_gsm_tester/test.py M src/osmo_gsm_tester/trial.py M src/osmo_ms_driver/__main__.py M src/osmo_ms_driver/event_server.py M src/osmo_ms_driver/simple_loop.py M src/osmo_ms_driver/starter.py M src/osmo_ms_driver/test_support.py 71 files changed, 113 insertions(+), 89 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/81/17781/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17781 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: I9aec6c55ccd71894182057d36e0025b69925d314 Gerrit-Change-Number: 17781 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 Sat Apr 11 17:16:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 17:16:47 +0000 Subject: Change in osmo-gsm-tester[master]: Move object classes used by tests into obj/ subdir 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/+/17782 to look at the new patch set (#2). Change subject: Move object classes used by tests into obj/ subdir ...................................................................... Move object classes used by tests into obj/ subdir Change-Id: I0b2963cf00acd1f9036dca2e87aa3b87a0f8066d --- M selftest/sms_test.py R src/osmo_gsm_tester/obj/bsc_osmo.py R src/osmo_gsm_tester/obj/bts.py R src/osmo_gsm_tester/obj/bts_nanobts.py R src/osmo_gsm_tester/obj/bts_oc2g.py R src/osmo_gsm_tester/obj/bts_octphy.py R src/osmo_gsm_tester/obj/bts_osmo.py R src/osmo_gsm_tester/obj/bts_osmotrx.py R src/osmo_gsm_tester/obj/bts_osmovirtual.py R src/osmo_gsm_tester/obj/bts_sysmo.py R src/osmo_gsm_tester/obj/enb.py R src/osmo_gsm_tester/obj/enb_amarisoft.py R src/osmo_gsm_tester/obj/enb_srs.py R src/osmo_gsm_tester/obj/epc.py R src/osmo_gsm_tester/obj/epc_amarisoft.py R src/osmo_gsm_tester/obj/epc_srs.py R src/osmo_gsm_tester/obj/esme.py R src/osmo_gsm_tester/obj/ggsn_osmo.py R src/osmo_gsm_tester/obj/hlr_osmo.py R src/osmo_gsm_tester/obj/iperf3.py R src/osmo_gsm_tester/obj/mgcpgw_osmo.py R src/osmo_gsm_tester/obj/mgw_osmo.py R src/osmo_gsm_tester/obj/modem.py R src/osmo_gsm_tester/obj/ms.py R src/osmo_gsm_tester/obj/ms_amarisoft.py R src/osmo_gsm_tester/obj/ms_driver.py R src/osmo_gsm_tester/obj/ms_osmo_mobile.py R src/osmo_gsm_tester/obj/ms_srs.py R src/osmo_gsm_tester/obj/msc_osmo.py R src/osmo_gsm_tester/obj/nitb_osmo.py R src/osmo_gsm_tester/obj/osmo_ctrl.py R src/osmo_gsm_tester/obj/osmocon.py R src/osmo_gsm_tester/obj/pcap_recorder.py R src/osmo_gsm_tester/obj/pcu.py R src/osmo_gsm_tester/obj/pcu_oc2g.py R src/osmo_gsm_tester/obj/pcu_osmo.py R src/osmo_gsm_tester/obj/pcu_sysmo.py R src/osmo_gsm_tester/obj/powersupply.py R src/osmo_gsm_tester/obj/powersupply_intellinet.py R src/osmo_gsm_tester/obj/powersupply_sispm.py R src/osmo_gsm_tester/obj/run_node.py R src/osmo_gsm_tester/obj/sgsn_osmo.py R src/osmo_gsm_tester/obj/sms.py R src/osmo_gsm_tester/obj/smsc.py R src/osmo_gsm_tester/obj/stp_osmo.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/suite.py M src/osmo_gsm_tester/test.py 48 files changed, 60 insertions(+), 59 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/82/17782/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17782 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: I0b2963cf00acd1f9036dca2e87aa3b87a0f8066d Gerrit-Change-Number: 17782 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 Sat Apr 11 18:00:44 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:00:44 +0000 Subject: Change in osmo-hlr[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#2). Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 2 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 Sat Apr 11 18:00:45 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:00:45 +0000 Subject: Change in osmo-hlr[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#3). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 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 Sat Apr 11 18:00:45 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:00:45 +0000 Subject: Change in osmo-hlr[master]: configure.ac: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#4). Change subject: configure.ac: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 4 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 Sat Apr 11 18:00:46 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:00:46 +0000 Subject: Change in osmo-hlr[master]: configure.ac: configure.ac: configure.ac: fix libtool issue with cla... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#5). Change subject: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 5 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 Sat Apr 11 18:00:47 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:00:47 +0000 Subject: Change in osmo-hlr[master]: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool i... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#6). Change subject: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 6 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 Sat Apr 11 18:00:47 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:00:47 +0000 Subject: Change in osmo-hlr[master]: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac:... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#7). Change subject: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 7 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 Sat Apr 11 18:00:48 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:00:48 +0000 Subject: Change in osmo-hlr[master]: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac:... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#8). Change subject: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 8 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 Sat Apr 11 18:00:48 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:00:48 +0000 Subject: Change in osmo-hlr[master]: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac:... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#9). Change subject: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 9 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 Sat Apr 11 18:00:49 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:00:49 +0000 Subject: Change in osmo-hlr[master]: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac:... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#10). Change subject: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/10 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 10 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 Sat Apr 11 18:00:49 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:00:49 +0000 Subject: Change in osmo-hlr[master]: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac:... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#11). Change subject: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/11 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 11 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 Sat Apr 11 18:00:50 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:00:50 +0000 Subject: Change in osmo-hlr[master]: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac:... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#12). Change subject: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/12 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 12 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 Sat Apr 11 18:00:51 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:00:51 +0000 Subject: Change in osmo-hlr[master]: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac:... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#13). Change subject: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/13 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 13 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 Sat Apr 11 18:00:51 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:00:51 +0000 Subject: Change in osmo-hlr[master]: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac:... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#14). Change subject: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/14 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 14 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 Sat Apr 11 18:00:52 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:00:52 +0000 Subject: Change in osmo-hlr[master]: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac:... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#15). Change subject: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/15 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 15 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 Sat Apr 11 18:00:52 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:00:52 +0000 Subject: Change in osmo-hlr[master]: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac:... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#16). Change subject: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/16 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 16 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 Sat Apr 11 18:00:53 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:00:53 +0000 Subject: Change in osmo-hlr[master]: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac:... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#17). Change subject: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/17 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 17 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 Sat Apr 11 18:00:54 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:00:54 +0000 Subject: Change in osmo-hlr[master]: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac:... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#18). Change subject: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/18 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 18 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 Sat Apr 11 18:00:54 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:00:54 +0000 Subject: Change in osmo-hlr[master]: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac:... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#19). Change subject: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/19 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 19 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 Sat Apr 11 18:08:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 18:08:42 +0000 Subject: Change in osmo-gsm-tester[master]: Create core directory to contain most of code not in object classes u... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17781 ) Change subject: Create core directory to contain most of code not in object classes used by tests ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17781 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: I9aec6c55ccd71894182057d36e0025b69925d314 Gerrit-Change-Number: 17781 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 11 Apr 2020 18:08: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 Sat Apr 11 18:08:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 18:08:47 +0000 Subject: Change in osmo-gsm-tester[master]: Move object classes used by tests into obj/ subdir In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17782 ) Change subject: Move object classes used by tests into obj/ subdir ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17782 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: I0b2963cf00acd1f9036dca2e87aa3b87a0f8066d Gerrit-Change-Number: 17782 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 11 Apr 2020 18:08: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 Apr 11 18:08:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 18:08:52 +0000 Subject: Change in osmo-gsm-tester[master]: Rename modem.py to ms_ofono.py In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17783 ) Change subject: Rename modem.py to ms_ofono.py ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17783 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: I050970986b0b3fbc23b756c5b7c524cb8b7c1327 Gerrit-Change-Number: 17783 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 11 Apr 2020 18: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 Sat Apr 11 18:08:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 18:08:55 +0000 Subject: Change in osmo-gsm-tester[master]: Create core directory to contain most of code not in object classes u... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17781 ) Change subject: Create core directory to contain most of code not in object classes used by tests ...................................................................... Create core directory to contain most of code not in object classes used by tests Change-Id: I9aec6c55ccd71894182057d36e0025b69925d314 --- M selftest/_prep.py M selftest/config_test.py M selftest/lock_test_help.py M selftest/log_test.py M selftest/process_test.py M selftest/resource_test.py M selftest/suite_test.py M selftest/template_test.py M selftest/trial_test.py M selftest/util_test.py M src/osmo-gsm-tester.py M src/osmo_gsm_tester/bsc_osmo.py M src/osmo_gsm_tester/bts.py M src/osmo_gsm_tester/bts_nanobts.py M src/osmo_gsm_tester/bts_oc2g.py M src/osmo_gsm_tester/bts_octphy.py M src/osmo_gsm_tester/bts_osmo.py M src/osmo_gsm_tester/bts_osmotrx.py M src/osmo_gsm_tester/bts_osmovirtual.py M src/osmo_gsm_tester/bts_sysmo.py A src/osmo_gsm_tester/core/__init__.py R src/osmo_gsm_tester/core/config.py R src/osmo_gsm_tester/core/event_loop.py R src/osmo_gsm_tester/core/log.py R src/osmo_gsm_tester/core/process.py R src/osmo_gsm_tester/core/remote.py R src/osmo_gsm_tester/core/schema.py R src/osmo_gsm_tester/core/template.py R src/osmo_gsm_tester/core/util.py M src/osmo_gsm_tester/enb.py M src/osmo_gsm_tester/enb_amarisoft.py M src/osmo_gsm_tester/enb_srs.py M src/osmo_gsm_tester/epc.py M src/osmo_gsm_tester/epc_amarisoft.py M src/osmo_gsm_tester/epc_srs.py M src/osmo_gsm_tester/esme.py M src/osmo_gsm_tester/ggsn_osmo.py M src/osmo_gsm_tester/hlr_osmo.py M src/osmo_gsm_tester/iperf3.py M src/osmo_gsm_tester/mgcpgw_osmo.py M src/osmo_gsm_tester/mgw_osmo.py M src/osmo_gsm_tester/modem.py M src/osmo_gsm_tester/ms.py M src/osmo_gsm_tester/ms_amarisoft.py M src/osmo_gsm_tester/ms_driver.py M src/osmo_gsm_tester/ms_srs.py M src/osmo_gsm_tester/msc_osmo.py M src/osmo_gsm_tester/nitb_osmo.py M src/osmo_gsm_tester/osmo_ctrl.py M src/osmo_gsm_tester/osmocon.py M src/osmo_gsm_tester/pcap_recorder.py M src/osmo_gsm_tester/pcu.py M src/osmo_gsm_tester/pcu_oc2g.py M src/osmo_gsm_tester/pcu_osmo.py M src/osmo_gsm_tester/pcu_sysmo.py M src/osmo_gsm_tester/powersupply.py M src/osmo_gsm_tester/powersupply_intellinet.py M src/osmo_gsm_tester/powersupply_sispm.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/run_node.py M src/osmo_gsm_tester/sgsn_osmo.py M src/osmo_gsm_tester/smsc.py M src/osmo_gsm_tester/stp_osmo.py M src/osmo_gsm_tester/suite.py M src/osmo_gsm_tester/test.py M src/osmo_gsm_tester/trial.py M src/osmo_ms_driver/__main__.py M src/osmo_ms_driver/event_server.py M src/osmo_ms_driver/simple_loop.py M src/osmo_ms_driver/starter.py M src/osmo_ms_driver/test_support.py 71 files changed, 113 insertions(+), 89 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/selftest/_prep.py b/selftest/_prep.py index 3ef6e81..582b8fb 100644 --- a/selftest/_prep.py +++ b/selftest/_prep.py @@ -7,11 +7,10 @@ # to find the osmo_gsm_tester py module sys.path.append(src_dir) -from osmo_gsm_tester import log +from osmo_gsm_tester.core import log log.TestsTarget() log.set_all_levels(log.L_DBG) if '-v' in sys.argv: log.style_change(trace=True) - diff --git a/selftest/config_test.py b/selftest/config_test.py index fa86adc..83a8d06 100755 --- a/selftest/config_test.py +++ b/selftest/config_test.py @@ -8,7 +8,7 @@ import pprint import copy -from osmo_gsm_tester import config, log, schema +from osmo_gsm_tester.core import config, log, schema example_config_file = 'test.cfg' example_config = os.path.join(_prep.script_dir, 'config_test', example_config_file) diff --git a/selftest/lock_test_help.py b/selftest/lock_test_help.py index f4e1f9b..d68bbf8 100644 --- a/selftest/lock_test_help.py +++ b/selftest/lock_test_help.py @@ -4,7 +4,7 @@ import _prep -from osmo_gsm_tester.util import FileLock, touch_file +from osmo_gsm_tester.core.util import FileLock, touch_file testdir, name = sys.argv[1:] stop_signalling_file = os.path.join(testdir, name) diff --git a/selftest/log_test.py b/selftest/log_test.py index 889a8a5..f6ce02b 100755 --- a/selftest/log_test.py +++ b/selftest/log_test.py @@ -24,7 +24,7 @@ import sys import os -from osmo_gsm_tester import log +from osmo_gsm_tester.core import log #log.targets[0].get_time_str = lambda: '01:02:03' fake_time = '01:02:03' @@ -45,7 +45,7 @@ super().__init__(log.C_TST, *name_items, **detail_items) t = LogTest('some', 'name', some="detail") - + t.log("hello log") t.err("hello err") t.dbg("hello dbg not visible") diff --git a/selftest/process_test.py b/selftest/process_test.py index 71523c9..de4f7a6 100755 --- a/selftest/process_test.py +++ b/selftest/process_test.py @@ -4,7 +4,7 @@ import time import os -from osmo_gsm_tester import process, util, log +from osmo_gsm_tester.core import process, util, log tmpdir = util.Dir(util.get_tempdir()) diff --git a/selftest/resource_test.py b/selftest/resource_test.py index cdfe021..f399e20 100755 --- a/selftest/resource_test.py +++ b/selftest/resource_test.py @@ -6,7 +6,8 @@ import shutil import atexit import _prep -from osmo_gsm_tester import config, log, resource, util +from osmo_gsm_tester.core import config, log, util +from osmo_gsm_tester import resource workdir = util.get_tempdir() diff --git a/selftest/suite_test.py b/selftest/suite_test.py index 115d76e..c4dd5bf 100755 --- a/selftest/suite_test.py +++ b/selftest/suite_test.py @@ -2,7 +2,8 @@ import os import _prep import shutil -from osmo_gsm_tester import log, suite, config, report, util +from osmo_gsm_tester.core import log, config, util +from osmo_gsm_tester import suite, report config.ENV_CONF = './suite_test' diff --git a/selftest/template_test.py b/selftest/template_test.py index f4f1bd5..747d508 100755 --- a/selftest/template_test.py +++ b/selftest/template_test.py @@ -5,7 +5,7 @@ import sys import os -from osmo_gsm_tester import template, log +from osmo_gsm_tester.core import template, log log.set_level(log.C_CNF, log.L_DBG) diff --git a/selftest/trial_test.py b/selftest/trial_test.py index ba3f01b..e73ca37 100755 --- a/selftest/trial_test.py +++ b/selftest/trial_test.py @@ -3,7 +3,7 @@ import time import _prep import os -from osmo_gsm_tester import util +from osmo_gsm_tester.core import util from osmo_gsm_tester.trial import Trial workdir = util.get_tempdir() diff --git a/selftest/util_test.py b/selftest/util_test.py index c517655..e07b2d4 100755 --- a/selftest/util_test.py +++ b/selftest/util_test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 import _prep -from osmo_gsm_tester.util import hash_obj +from osmo_gsm_tester.core.util import hash_obj print('- expect the same hashes on every test run') print(hash_obj('abc')) @@ -9,4 +9,3 @@ print(hash_obj([1, 2, 3])) print(hash_obj({ 'k': [ {'a': 1, 'b': 2}, {'a': 3, 'b': 4}, ], 'i': [ {'c': 1, 'd': 2}, {'c': 3, 'd': 4}, ] })) - diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py index 18b852b..df87957 100755 --- a/src/osmo-gsm-tester.py +++ b/src/osmo-gsm-tester.py @@ -70,7 +70,8 @@ import argparse from signal import * from osmo_gsm_tester import __version__ -from osmo_gsm_tester import trial, suite, log, config +from osmo_gsm_tester.core import log, config +from osmo_gsm_tester import trial, suite def sig_handler_cleanup(signum, frame): print("killed by signal %d" % signum) diff --git a/src/osmo_gsm_tester/bsc_osmo.py b/src/osmo_gsm_tester/bsc_osmo.py index 4160527..e9d1631 100644 --- a/src/osmo_gsm_tester/bsc_osmo.py +++ b/src/osmo_gsm_tester/bsc_osmo.py @@ -21,7 +21,8 @@ import re import pprint -from . import log, util, config, template, process, osmo_ctrl, pcap_recorder +from .core import log, util, config, template, process +from . import osmo_ctrl, pcap_recorder class OsmoBsc(log.Origin): diff --git a/src/osmo_gsm_tester/bts.py b/src/osmo_gsm_tester/bts.py index 2ca44d2..a20bd53 100644 --- a/src/osmo_gsm_tester/bts.py +++ b/src/osmo_gsm_tester/bts.py @@ -19,7 +19,7 @@ import copy from abc import ABCMeta, abstractmethod -from . import log, config, schema +from .core import log, config, schema class Bts(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/bts_nanobts.py b/src/osmo_gsm_tester/bts_nanobts.py index 4cdb98e..539e5ed 100644 --- a/src/osmo_gsm_tester/bts_nanobts.py +++ b/src/osmo_gsm_tester/bts_nanobts.py @@ -20,9 +20,10 @@ import os import re import json -from . import log, config, util, process, pcap_recorder, bts, pcu +from .core import log, config, util, process +from .core.event_loop import MainLoop +from . import pcap_recorder, bts, pcu from . import powersupply -from .event_loop import MainLoop class NanoBts(bts.Bts): diff --git a/src/osmo_gsm_tester/bts_oc2g.py b/src/osmo_gsm_tester/bts_oc2g.py index d1f80b7..0cebc09 100644 --- a/src/osmo_gsm_tester/bts_oc2g.py +++ b/src/osmo_gsm_tester/bts_oc2g.py @@ -19,7 +19,8 @@ import os import pprint -from . import log, config, util, template, process, remote, pcu_oc2g, bts_osmo +from .core import log, config, util, template, process, remote +from . import pcu_oc2g, bts_osmo class OsmoBtsOC2G(bts_osmo.OsmoBts): ############## diff --git a/src/osmo_gsm_tester/bts_octphy.py b/src/osmo_gsm_tester/bts_octphy.py index a1dd494..e15cc15 100644 --- a/src/osmo_gsm_tester/bts_octphy.py +++ b/src/osmo_gsm_tester/bts_octphy.py @@ -19,7 +19,8 @@ import os import pprint -from . import log, config, util, template, process, bts_osmo +from .core import log, config, util, template, process +from . import bts_osmo class OsmoBtsOctphy(bts_osmo.OsmoBtsMainUnit): diff --git a/src/osmo_gsm_tester/bts_osmo.py b/src/osmo_gsm_tester/bts_osmo.py index 9105c28..39ca264 100644 --- a/src/osmo_gsm_tester/bts_osmo.py +++ b/src/osmo_gsm_tester/bts_osmo.py @@ -20,7 +20,8 @@ import os import tempfile from abc import ABCMeta, abstractmethod -from . import log, bts, pcu_osmo +from .core import log +from . import bts, pcu_osmo class OsmoBts(bts.Bts, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/bts_osmotrx.py b/src/osmo_gsm_tester/bts_osmotrx.py index 22ff4b6..91a1dd8 100644 --- a/src/osmo_gsm_tester/bts_osmotrx.py +++ b/src/osmo_gsm_tester/bts_osmotrx.py @@ -20,9 +20,9 @@ import os import pprint from abc import ABCMeta, abstractmethod -from . import log, config, util, template, process, remote, bts_osmo -from . import powersupply -from .event_loop import MainLoop +from .core import log, config, util, template, process, remote +from .core.event_loop import MainLoop +from . import powersupply, bts_osmo class OsmoBtsTrx(bts_osmo.OsmoBtsMainUnit): ############## diff --git a/src/osmo_gsm_tester/bts_osmovirtual.py b/src/osmo_gsm_tester/bts_osmovirtual.py index 516d992..262c805 100644 --- a/src/osmo_gsm_tester/bts_osmovirtual.py +++ b/src/osmo_gsm_tester/bts_osmovirtual.py @@ -20,7 +20,8 @@ import os import pprint -from . import config, util, template, process, bts_osmo +from .core import config, util, template, process +from . import bts_osmo class OsmoBtsVirtual(bts_osmo.OsmoBtsMainUnit): ############## @@ -112,4 +113,3 @@ self.suite_run.poll() # vim: expandtab tabstop=4 shiftwidth=4 - diff --git a/src/osmo_gsm_tester/bts_sysmo.py b/src/osmo_gsm_tester/bts_sysmo.py index d616e29..d28b034 100644 --- a/src/osmo_gsm_tester/bts_sysmo.py +++ b/src/osmo_gsm_tester/bts_sysmo.py @@ -19,7 +19,8 @@ import os import pprint -from . import log, config, util, template, process, remote, pcu_sysmo, bts_osmo +from .core import log, config, util, template, process, remote +from . import pcu_sysmo, bts_osmo class SysmoBts(bts_osmo.OsmoBts): ############## diff --git a/src/osmo_gsm_tester/core/__init__.py b/src/osmo_gsm_tester/core/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/osmo_gsm_tester/core/__init__.py diff --git a/src/osmo_gsm_tester/config.py b/src/osmo_gsm_tester/core/config.py similarity index 100% rename from src/osmo_gsm_tester/config.py rename to src/osmo_gsm_tester/core/config.py diff --git a/src/osmo_gsm_tester/event_loop.py b/src/osmo_gsm_tester/core/event_loop.py similarity index 100% rename from src/osmo_gsm_tester/event_loop.py rename to src/osmo_gsm_tester/core/event_loop.py diff --git a/src/osmo_gsm_tester/log.py b/src/osmo_gsm_tester/core/log.py similarity index 100% rename from src/osmo_gsm_tester/log.py rename to src/osmo_gsm_tester/core/log.py diff --git a/src/osmo_gsm_tester/process.py b/src/osmo_gsm_tester/core/process.py similarity index 100% rename from src/osmo_gsm_tester/process.py rename to src/osmo_gsm_tester/core/process.py diff --git a/src/osmo_gsm_tester/remote.py b/src/osmo_gsm_tester/core/remote.py similarity index 98% rename from src/osmo_gsm_tester/remote.py rename to src/osmo_gsm_tester/core/remote.py index ba1a5e1..95b8967 100644 --- a/src/osmo_gsm_tester/remote.py +++ b/src/osmo_gsm_tester/core/remote.py @@ -22,7 +22,7 @@ import re import pprint -from . import log, util, config, template, process, osmo_ctrl, pcap_recorder +from . import log, util, config, template, process class RemoteHost(log.Origin): diff --git a/src/osmo_gsm_tester/schema.py b/src/osmo_gsm_tester/core/schema.py similarity index 100% rename from src/osmo_gsm_tester/schema.py rename to src/osmo_gsm_tester/core/schema.py diff --git a/src/osmo_gsm_tester/template.py b/src/osmo_gsm_tester/core/template.py similarity index 95% rename from src/osmo_gsm_tester/template.py rename to src/osmo_gsm_tester/core/template.py index dac89f2..2bf4fed 100644 --- a/src/osmo_gsm_tester/template.py +++ b/src/osmo_gsm_tester/core/template.py @@ -32,7 +32,7 @@ global _logger if not templates_dirs: # default templates dir is relative to this source file - templates_dirs = [os.path.join(os.path.dirname(__file__), 'templates')] + templates_dirs = [os.path.join(os.path.dirname(os.path.dirname(__file__)), 'templates')] for d in templates_dirs: if not os.path.isdir(d): raise RuntimeError('templates dir is not a dir: %r' diff --git a/src/osmo_gsm_tester/util.py b/src/osmo_gsm_tester/core/util.py similarity index 100% rename from src/osmo_gsm_tester/util.py rename to src/osmo_gsm_tester/core/util.py diff --git a/src/osmo_gsm_tester/enb.py b/src/osmo_gsm_tester/enb.py index d069f84..edaf462 100644 --- a/src/osmo_gsm_tester/enb.py +++ b/src/osmo_gsm_tester/enb.py @@ -18,7 +18,7 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from . import log, config +from .core import log, config class eNodeB(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/enb_amarisoft.py b/src/osmo_gsm_tester/enb_amarisoft.py index 1487bdd..a058653 100644 --- a/src/osmo_gsm_tester/enb_amarisoft.py +++ b/src/osmo_gsm_tester/enb_amarisoft.py @@ -20,7 +20,7 @@ import os import pprint -from . import log, util, config, template, process, remote +from .core import log, util, config, template, process, remote from . import enb def rf_type_valid(rf_type_str): diff --git a/src/osmo_gsm_tester/enb_srs.py b/src/osmo_gsm_tester/enb_srs.py index 372848d..079671a 100644 --- a/src/osmo_gsm_tester/enb_srs.py +++ b/src/osmo_gsm_tester/enb_srs.py @@ -20,7 +20,7 @@ import os import pprint -from . import log, util, config, template, process, remote +from .core import log, util, config, template, process, remote from . import enb def rf_type_valid(rf_type_str): diff --git a/src/osmo_gsm_tester/epc.py b/src/osmo_gsm_tester/epc.py index 6aa17e7..9141455 100644 --- a/src/osmo_gsm_tester/epc.py +++ b/src/osmo_gsm_tester/epc.py @@ -18,7 +18,7 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from . import log, config +from .core import log, config class EPC(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/epc_amarisoft.py b/src/osmo_gsm_tester/epc_amarisoft.py index a117a9e..33b8162 100644 --- a/src/osmo_gsm_tester/epc_amarisoft.py +++ b/src/osmo_gsm_tester/epc_amarisoft.py @@ -20,7 +20,7 @@ import os import pprint -from . import log, util, config, template, process, remote +from .core import log, util, config, template, process, remote from . import epc class AmarisoftEPC(epc.EPC): diff --git a/src/osmo_gsm_tester/epc_srs.py b/src/osmo_gsm_tester/epc_srs.py index 7c32486..4a45c7e 100644 --- a/src/osmo_gsm_tester/epc_srs.py +++ b/src/osmo_gsm_tester/epc_srs.py @@ -20,7 +20,7 @@ import os import pprint -from . import log, util, config, template, process, remote +from .core import log, util, config, template, process, remote from . import epc class srsEPC(epc.EPC): diff --git a/src/osmo_gsm_tester/esme.py b/src/osmo_gsm_tester/esme.py index de3ac16..048b69e 100644 --- a/src/osmo_gsm_tester/esme.py +++ b/src/osmo_gsm_tester/esme.py @@ -23,8 +23,8 @@ import smpplib.consts import smpplib.exceptions -from . import log -from .event_loop import MainLoop +from .core import log +from .core.event_loop import MainLoop # if you want to know what's happening inside python-smpplib #import logging diff --git a/src/osmo_gsm_tester/ggsn_osmo.py b/src/osmo_gsm_tester/ggsn_osmo.py index 0ece596..e699203 100644 --- a/src/osmo_gsm_tester/ggsn_osmo.py +++ b/src/osmo_gsm_tester/ggsn_osmo.py @@ -20,7 +20,8 @@ import os import pprint -from . import log, util, config, template, process, pcap_recorder +from .core import log, util, config, template, process +from . import pcap_recorder class OsmoGgsn(log.Origin): diff --git a/src/osmo_gsm_tester/hlr_osmo.py b/src/osmo_gsm_tester/hlr_osmo.py index 1c361dd..245328b 100644 --- a/src/osmo_gsm_tester/hlr_osmo.py +++ b/src/osmo_gsm_tester/hlr_osmo.py @@ -21,7 +21,8 @@ import pprint import sqlite3 -from . import log, util, config, template, process, pcap_recorder +from .core import log, util, config, template, process +from . import pcap_recorder class OsmoHlr(log.Origin): run_dir = None diff --git a/src/osmo_gsm_tester/iperf3.py b/src/osmo_gsm_tester/iperf3.py index 7103193..331a3ba 100644 --- a/src/osmo_gsm_tester/iperf3.py +++ b/src/osmo_gsm_tester/iperf3.py @@ -20,7 +20,8 @@ import os import json -from . import log, util, config, process, pcap_recorder, run_node, remote +from .core import log, util, config, process, remote +from . import pcap_recorder, run_node def iperf3_result_to_json(file): with open(file) as f: diff --git a/src/osmo_gsm_tester/mgcpgw_osmo.py b/src/osmo_gsm_tester/mgcpgw_osmo.py index 20bb689..0c9a13a 100644 --- a/src/osmo_gsm_tester/mgcpgw_osmo.py +++ b/src/osmo_gsm_tester/mgcpgw_osmo.py @@ -20,7 +20,8 @@ import os import pprint -from . import log, util, config, template, process, pcap_recorder +from .core import log, util, config, template, process +from . import pcap_recorder class OsmoMgcpgw(log.Origin): diff --git a/src/osmo_gsm_tester/mgw_osmo.py b/src/osmo_gsm_tester/mgw_osmo.py index ea8e652..b7bd681 100644 --- a/src/osmo_gsm_tester/mgw_osmo.py +++ b/src/osmo_gsm_tester/mgw_osmo.py @@ -20,7 +20,8 @@ import os import pprint -from . import log, util, config, template, process, pcap_recorder +from .core import log, util, config, template, process +from . import pcap_recorder class OsmoMgw(log.Origin): diff --git a/src/osmo_gsm_tester/modem.py b/src/osmo_gsm_tester/modem.py index a1e5e97..6759e70 100644 --- a/src/osmo_gsm_tester/modem.py +++ b/src/osmo_gsm_tester/modem.py @@ -17,9 +17,10 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from . import log, util, sms, process -from .event_loop import MainLoop +from .core import log, util, process +from .core.event_loop import MainLoop from .ms import MS +from . import sms from pydbus import SystemBus, Variant import os diff --git a/src/osmo_gsm_tester/ms.py b/src/osmo_gsm_tester/ms.py index 3276aff..d310f5f 100644 --- a/src/osmo_gsm_tester/ms.py +++ b/src/osmo_gsm_tester/ms.py @@ -18,7 +18,7 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from . import log +from .core import log class MS(log.Origin, metaclass=ABCMeta): """Base for everything about mobile/modem and SIMs.""" diff --git a/src/osmo_gsm_tester/ms_amarisoft.py b/src/osmo_gsm_tester/ms_amarisoft.py index 422f28d..9527fa9 100644 --- a/src/osmo_gsm_tester/ms_amarisoft.py +++ b/src/osmo_gsm_tester/ms_amarisoft.py @@ -20,9 +20,9 @@ import os import pprint -from . import log, util, config, template, process, remote +from .core import log, util, config, template, process, remote +from .core.event_loop import MainLoop from .run_node import RunNode -from .event_loop import MainLoop from .ms import MS def rf_type_valid(rf_type_str): diff --git a/src/osmo_gsm_tester/ms_driver.py b/src/osmo_gsm_tester/ms_driver.py index f1334fc..ef45b8b 100644 --- a/src/osmo_gsm_tester/ms_driver.py +++ b/src/osmo_gsm_tester/ms_driver.py @@ -16,7 +16,7 @@ # along with this program. If not, see . from datetime import timedelta -from . import log, util +from .core import log, util from osmo_ms_driver.cdf import cdfs from osmo_ms_driver.event_server import EventServer from osmo_ms_driver.simple_loop import SimpleLoop diff --git a/src/osmo_gsm_tester/ms_srs.py b/src/osmo_gsm_tester/ms_srs.py index 119a477..d23cf40 100644 --- a/src/osmo_gsm_tester/ms_srs.py +++ b/src/osmo_gsm_tester/ms_srs.py @@ -20,9 +20,9 @@ import os import pprint -from . import log, util, config, template, process, remote +from .core import log, util, config, template, process, remote from .run_node import RunNode -from .event_loop import MainLoop +from .core.event_loop import MainLoop from .ms import MS def rf_type_valid(rf_type_str): diff --git a/src/osmo_gsm_tester/msc_osmo.py b/src/osmo_gsm_tester/msc_osmo.py index 51f50c4..fd5d41f 100644 --- a/src/osmo_gsm_tester/msc_osmo.py +++ b/src/osmo_gsm_tester/msc_osmo.py @@ -20,7 +20,8 @@ import os import pprint -from . import log, util, config, template, process, osmo_ctrl, pcap_recorder, smsc +from .core import log, util, config, template, process +from . import osmo_ctrl, pcap_recorder, smsc class OsmoMsc(log.Origin): diff --git a/src/osmo_gsm_tester/nitb_osmo.py b/src/osmo_gsm_tester/nitb_osmo.py index e161ccb..ec4912f 100644 --- a/src/osmo_gsm_tester/nitb_osmo.py +++ b/src/osmo_gsm_tester/nitb_osmo.py @@ -21,7 +21,8 @@ import re import pprint -from . import log, util, config, template, process, osmo_ctrl, pcap_recorder, smsc +from .core import log, util, config, template, process +from . import osmo_ctrl, pcap_recorder, smsc class OsmoNitb(log.Origin): diff --git a/src/osmo_gsm_tester/osmo_ctrl.py b/src/osmo_gsm_tester/osmo_ctrl.py index be27b75..3bc21bd 100644 --- a/src/osmo_gsm_tester/osmo_ctrl.py +++ b/src/osmo_gsm_tester/osmo_ctrl.py @@ -21,7 +21,7 @@ import socket import struct -from . import log +from .core import log class CtrlInterfaceExn(Exception): pass diff --git a/src/osmo_gsm_tester/osmocon.py b/src/osmo_gsm_tester/osmocon.py index 8b6040f..a6b3221 100644 --- a/src/osmo_gsm_tester/osmocon.py +++ b/src/osmo_gsm_tester/osmocon.py @@ -20,8 +20,8 @@ import os import tempfile -from . import log, util, process -from .event_loop import MainLoop +from .core import log, util, process +from .core.event_loop import MainLoop class Osmocon(log.Origin): diff --git a/src/osmo_gsm_tester/pcap_recorder.py b/src/osmo_gsm_tester/pcap_recorder.py index e0f0098..a9ba3a7 100644 --- a/src/osmo_gsm_tester/pcap_recorder.py +++ b/src/osmo_gsm_tester/pcap_recorder.py @@ -19,7 +19,7 @@ import os -from . import log, process +from .core import log, process class PcapRecorder(log.Origin): diff --git a/src/osmo_gsm_tester/pcu.py b/src/osmo_gsm_tester/pcu.py index cc338cf..9dd6f59 100644 --- a/src/osmo_gsm_tester/pcu.py +++ b/src/osmo_gsm_tester/pcu.py @@ -18,7 +18,7 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from . import log +from .core import log class Pcu(log.Origin, metaclass=ABCMeta): """PCU Abstract Base Class.""" diff --git a/src/osmo_gsm_tester/pcu_oc2g.py b/src/osmo_gsm_tester/pcu_oc2g.py index 67c49b3..714f6fd 100644 --- a/src/osmo_gsm_tester/pcu_oc2g.py +++ b/src/osmo_gsm_tester/pcu_oc2g.py @@ -19,7 +19,8 @@ import os import pprint -from . import log, config, util, template, process, pcu +from .core import log, config, util, template, process +from . import pcu class OsmoPcuOC2G(pcu.Pcu): diff --git a/src/osmo_gsm_tester/pcu_osmo.py b/src/osmo_gsm_tester/pcu_osmo.py index aac6901..11d3805 100644 --- a/src/osmo_gsm_tester/pcu_osmo.py +++ b/src/osmo_gsm_tester/pcu_osmo.py @@ -19,7 +19,8 @@ import os import pprint -from . import config, util, template, process, pcu +from .core import config, util, template, process +from . import pcu class OsmoPcu(pcu.Pcu): diff --git a/src/osmo_gsm_tester/pcu_sysmo.py b/src/osmo_gsm_tester/pcu_sysmo.py index 55d6f53..e907367 100644 --- a/src/osmo_gsm_tester/pcu_sysmo.py +++ b/src/osmo_gsm_tester/pcu_sysmo.py @@ -19,7 +19,8 @@ import os import pprint -from . import log, config, util, template, process, pcu +from .core import log, config, util, template, process +from . import pcu class OsmoPcuSysmo(pcu.Pcu): diff --git a/src/osmo_gsm_tester/powersupply.py b/src/osmo_gsm_tester/powersupply.py index 1cf7106..4a9205d 100644 --- a/src/osmo_gsm_tester/powersupply.py +++ b/src/osmo_gsm_tester/powersupply.py @@ -18,8 +18,8 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from . import log -from .event_loop import MainLoop +from .core import log +from .core.event_loop import MainLoop class PowerSupply(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/powersupply_intellinet.py b/src/osmo_gsm_tester/powersupply_intellinet.py index 792d929..02dc803 100644 --- a/src/osmo_gsm_tester/powersupply_intellinet.py +++ b/src/osmo_gsm_tester/powersupply_intellinet.py @@ -20,7 +20,7 @@ import urllib.request import xml.etree.ElementTree as ET -from . import log +from .core import log from .powersupply import PowerSupply class PowerSupplyIntellinet(PowerSupply): diff --git a/src/osmo_gsm_tester/powersupply_sispm.py b/src/osmo_gsm_tester/powersupply_sispm.py index 4505b17..b392f73 100644 --- a/src/osmo_gsm_tester/powersupply_sispm.py +++ b/src/osmo_gsm_tester/powersupply_sispm.py @@ -20,8 +20,8 @@ import sispm from usb.core import USBError -from . import log -from .event_loop import MainLoop +from .core import log +from .core.event_loop import MainLoop from .powersupply import PowerSupply class PowerSupplySispm(PowerSupply): diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index fa17bcd..5b86a08 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -22,16 +22,16 @@ import atexit import pprint -from . import log -from . import config -from . import util -from . import schema +from .core import log +from .core import config +from .core import util +from .core import schema from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g -from . import modem -from . import ms_osmo_mobile -from . import ms_srs, ms_amarisoft, enb_srs, enb_amarisoft, epc_srs, epc_amarisoft +from . import modem +from . import ms_osmo_mobile +from . import ms_srs, ms_amarisoft, enb_srs, enb_amarisoft, epc_srs, epc_amarisoft -from .util import is_dict, is_list +from .core.util import is_dict, is_list HASH_KEY = '_hash' RESERVED_KEY = '_reserved_by' diff --git a/src/osmo_gsm_tester/run_node.py b/src/osmo_gsm_tester/run_node.py index 88555a6..e5f7d56 100644 --- a/src/osmo_gsm_tester/run_node.py +++ b/src/osmo_gsm_tester/run_node.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from . import log +from .core import log class RunNode(log.Origin): diff --git a/src/osmo_gsm_tester/sgsn_osmo.py b/src/osmo_gsm_tester/sgsn_osmo.py index 9ffaaed..647d848 100644 --- a/src/osmo_gsm_tester/sgsn_osmo.py +++ b/src/osmo_gsm_tester/sgsn_osmo.py @@ -20,7 +20,8 @@ import os import pprint -from . import log, util, config, template, process, pcap_recorder +from .core import log, util, config, template, process +from . import pcap_recorder class OsmoSgsn(log.Origin): diff --git a/src/osmo_gsm_tester/smsc.py b/src/osmo_gsm_tester/smsc.py index d154801..1083d22 100644 --- a/src/osmo_gsm_tester/smsc.py +++ b/src/osmo_gsm_tester/smsc.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from . import log, config +from .core import log, config class Smsc: diff --git a/src/osmo_gsm_tester/stp_osmo.py b/src/osmo_gsm_tester/stp_osmo.py index 5a7f0d3..500c5da 100644 --- a/src/osmo_gsm_tester/stp_osmo.py +++ b/src/osmo_gsm_tester/stp_osmo.py @@ -20,7 +20,8 @@ import os import pprint -from . import log, util, config, template, process, pcap_recorder +from .core import log, util, config, template, process +from . import pcap_recorder class OsmoStp(log.Origin): diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index 0ddd95f..586c518 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -21,9 +21,10 @@ import sys import time import pprint -from . import config, log, util, resource, test -from .event_loop import MainLoop -from . import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3, process +from .core import config, log, util, process +from .core.event_loop import MainLoop +from . import resource, test +from . import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 from . import run_node class Timeout(Exception): diff --git a/src/osmo_gsm_tester/test.py b/src/osmo_gsm_tester/test.py index 0bbff41..f517b52 100644 --- a/src/osmo_gsm_tester/test.py +++ b/src/osmo_gsm_tester/test.py @@ -23,7 +23,8 @@ import traceback from . import testenv -from . import log, util, resource +from .core import log, util +from . import resource class Test(log.Origin): UNKNOWN = 'UNKNOWN' # matches junit 'error' @@ -56,8 +57,9 @@ log.large_separator(self.suite_run.trial.name(), self.suite_run.name(), self.name(), sublevel=3) self.status = Test.UNKNOWN self.start_timestamp = time.time() - from . import suite, sms, process - from .event_loop import MainLoop + from .core import process + from .core.event_loop import MainLoop + from . import suite, sms testenv.setup(self.suite_run, self, suite, MainLoop, sms, process) with self.redirect_stdout(): util.run_python_file('%s.%s' % (self.suite_run.definition.name(), self.basename), diff --git a/src/osmo_gsm_tester/trial.py b/src/osmo_gsm_tester/trial.py index 149d34c..9dcc188 100644 --- a/src/osmo_gsm_tester/trial.py +++ b/src/osmo_gsm_tester/trial.py @@ -22,7 +22,8 @@ import shutil import tarfile -from . import log, util, suite, report +from .core import log, util +from . import suite, report FILE_MARK_TAKEN = 'taken' FILE_CHECKSUMS = 'checksums.md5' diff --git a/src/osmo_ms_driver/__main__.py b/src/osmo_ms_driver/__main__.py index a752c37..a4276d9 100644 --- a/src/osmo_ms_driver/__main__.py +++ b/src/osmo_ms_driver/__main__.py @@ -22,7 +22,7 @@ from .cdf import cdfs from .starter import BinaryOptions, MobileTestStarter from .test_support import imsi_ki_gen -from osmo_gsm_tester import log, util +from osmo_gsm_tester.core import log, util from osmo_gsm_tester import ms_osmo_mobile # System modules diff --git a/src/osmo_ms_driver/event_server.py b/src/osmo_ms_driver/event_server.py index ce9d5c1..fb8a6c7 100644 --- a/src/osmo_ms_driver/event_server.py +++ b/src/osmo_ms_driver/event_server.py @@ -1,5 +1,5 @@ -from osmo_gsm_tester import log +from osmo_gsm_tester.core import log import time diff --git a/src/osmo_ms_driver/simple_loop.py b/src/osmo_ms_driver/simple_loop.py index 29a4b5b..373fa20 100644 --- a/src/osmo_ms_driver/simple_loop.py +++ b/src/osmo_ms_driver/simple_loop.py @@ -15,7 +15,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from osmo_gsm_tester import log +from osmo_gsm_tester.core import log import os import selectors diff --git a/src/osmo_ms_driver/starter.py b/src/osmo_ms_driver/starter.py index 8757e40..702baf0 100644 --- a/src/osmo_ms_driver/starter.py +++ b/src/osmo_ms_driver/starter.py @@ -16,7 +16,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from osmo_gsm_tester import log, util, process, template +from osmo_gsm_tester.core import log, util, process, template from .test_support import ResultStore diff --git a/src/osmo_ms_driver/test_support.py b/src/osmo_ms_driver/test_support.py index ce3f5f1..cb2b9af 100644 --- a/src/osmo_ms_driver/test_support.py +++ b/src/osmo_ms_driver/test_support.py @@ -16,7 +16,7 @@ # along with this program. If not, see . from abc import ABCMeta -from osmo_gsm_tester import log +from osmo_gsm_tester.core import log import time -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17781 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: I9aec6c55ccd71894182057d36e0025b69925d314 Gerrit-Change-Number: 17781 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Sat Apr 11 18:08:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 18:08:56 +0000 Subject: Change in osmo-gsm-tester[master]: Move object classes used by tests into obj/ subdir In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17782 ) Change subject: Move object classes used by tests into obj/ subdir ...................................................................... Move object classes used by tests into obj/ subdir Change-Id: I0b2963cf00acd1f9036dca2e87aa3b87a0f8066d --- M selftest/sms_test.py R src/osmo_gsm_tester/obj/bsc_osmo.py R src/osmo_gsm_tester/obj/bts.py R src/osmo_gsm_tester/obj/bts_nanobts.py R src/osmo_gsm_tester/obj/bts_oc2g.py R src/osmo_gsm_tester/obj/bts_octphy.py R src/osmo_gsm_tester/obj/bts_osmo.py R src/osmo_gsm_tester/obj/bts_osmotrx.py R src/osmo_gsm_tester/obj/bts_osmovirtual.py R src/osmo_gsm_tester/obj/bts_sysmo.py R src/osmo_gsm_tester/obj/enb.py R src/osmo_gsm_tester/obj/enb_amarisoft.py R src/osmo_gsm_tester/obj/enb_srs.py R src/osmo_gsm_tester/obj/epc.py R src/osmo_gsm_tester/obj/epc_amarisoft.py R src/osmo_gsm_tester/obj/epc_srs.py R src/osmo_gsm_tester/obj/esme.py R src/osmo_gsm_tester/obj/ggsn_osmo.py R src/osmo_gsm_tester/obj/hlr_osmo.py R src/osmo_gsm_tester/obj/iperf3.py R src/osmo_gsm_tester/obj/mgcpgw_osmo.py R src/osmo_gsm_tester/obj/mgw_osmo.py R src/osmo_gsm_tester/obj/modem.py R src/osmo_gsm_tester/obj/ms.py R src/osmo_gsm_tester/obj/ms_amarisoft.py R src/osmo_gsm_tester/obj/ms_driver.py R src/osmo_gsm_tester/obj/ms_osmo_mobile.py R src/osmo_gsm_tester/obj/ms_srs.py R src/osmo_gsm_tester/obj/msc_osmo.py R src/osmo_gsm_tester/obj/nitb_osmo.py R src/osmo_gsm_tester/obj/osmo_ctrl.py R src/osmo_gsm_tester/obj/osmocon.py R src/osmo_gsm_tester/obj/pcap_recorder.py R src/osmo_gsm_tester/obj/pcu.py R src/osmo_gsm_tester/obj/pcu_oc2g.py R src/osmo_gsm_tester/obj/pcu_osmo.py R src/osmo_gsm_tester/obj/pcu_sysmo.py R src/osmo_gsm_tester/obj/powersupply.py R src/osmo_gsm_tester/obj/powersupply_intellinet.py R src/osmo_gsm_tester/obj/powersupply_sispm.py R src/osmo_gsm_tester/obj/run_node.py R src/osmo_gsm_tester/obj/sgsn_osmo.py R src/osmo_gsm_tester/obj/sms.py R src/osmo_gsm_tester/obj/smsc.py R src/osmo_gsm_tester/obj/stp_osmo.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/suite.py M src/osmo_gsm_tester/test.py 48 files changed, 60 insertions(+), 59 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/selftest/sms_test.py b/selftest/sms_test.py index 01cecc2..c78e76c 100755 --- a/selftest/sms_test.py +++ b/selftest/sms_test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 import _prep -from osmo_gsm_tester import sms +from osmo_gsm_tester.obj import sms print(sms.Sms()) print(sms.Sms()) diff --git a/src/osmo_gsm_tester/bsc_osmo.py b/src/osmo_gsm_tester/obj/bsc_osmo.py similarity index 98% rename from src/osmo_gsm_tester/bsc_osmo.py rename to src/osmo_gsm_tester/obj/bsc_osmo.py index e9d1631..25cc780 100644 --- a/src/osmo_gsm_tester/bsc_osmo.py +++ b/src/osmo_gsm_tester/obj/bsc_osmo.py @@ -21,7 +21,7 @@ import re import pprint -from .core import log, util, config, template, process +from ..core import log, util, config, template, process from . import osmo_ctrl, pcap_recorder class OsmoBsc(log.Origin): diff --git a/src/osmo_gsm_tester/bts.py b/src/osmo_gsm_tester/obj/bts.py similarity index 99% rename from src/osmo_gsm_tester/bts.py rename to src/osmo_gsm_tester/obj/bts.py index a20bd53..515b42b 100644 --- a/src/osmo_gsm_tester/bts.py +++ b/src/osmo_gsm_tester/obj/bts.py @@ -19,7 +19,7 @@ import copy from abc import ABCMeta, abstractmethod -from .core import log, config, schema +from ..core import log, config, schema class Bts(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/bts_nanobts.py b/src/osmo_gsm_tester/obj/bts_nanobts.py similarity index 99% rename from src/osmo_gsm_tester/bts_nanobts.py rename to src/osmo_gsm_tester/obj/bts_nanobts.py index 539e5ed..3e9b035 100644 --- a/src/osmo_gsm_tester/bts_nanobts.py +++ b/src/osmo_gsm_tester/obj/bts_nanobts.py @@ -20,8 +20,8 @@ import os import re import json -from .core import log, config, util, process -from .core.event_loop import MainLoop +from ..core import log, config, util, process +from ..core.event_loop import MainLoop from . import pcap_recorder, bts, pcu from . import powersupply diff --git a/src/osmo_gsm_tester/bts_oc2g.py b/src/osmo_gsm_tester/obj/bts_oc2g.py similarity index 98% rename from src/osmo_gsm_tester/bts_oc2g.py rename to src/osmo_gsm_tester/obj/bts_oc2g.py index 0cebc09..4a59eee 100644 --- a/src/osmo_gsm_tester/bts_oc2g.py +++ b/src/osmo_gsm_tester/obj/bts_oc2g.py @@ -19,7 +19,7 @@ import os import pprint -from .core import log, config, util, template, process, remote +from ..core import log, config, util, template, process, remote from . import pcu_oc2g, bts_osmo class OsmoBtsOC2G(bts_osmo.OsmoBts): diff --git a/src/osmo_gsm_tester/bts_octphy.py b/src/osmo_gsm_tester/obj/bts_octphy.py similarity index 98% rename from src/osmo_gsm_tester/bts_octphy.py rename to src/osmo_gsm_tester/obj/bts_octphy.py index e15cc15..11570e8 100644 --- a/src/osmo_gsm_tester/bts_octphy.py +++ b/src/osmo_gsm_tester/obj/bts_octphy.py @@ -19,7 +19,7 @@ import os import pprint -from .core import log, config, util, template, process +from ..core import log, config, util, template, process from . import bts_osmo class OsmoBtsOctphy(bts_osmo.OsmoBtsMainUnit): diff --git a/src/osmo_gsm_tester/bts_osmo.py b/src/osmo_gsm_tester/obj/bts_osmo.py similarity index 99% rename from src/osmo_gsm_tester/bts_osmo.py rename to src/osmo_gsm_tester/obj/bts_osmo.py index 39ca264..74f3ec7 100644 --- a/src/osmo_gsm_tester/bts_osmo.py +++ b/src/osmo_gsm_tester/obj/bts_osmo.py @@ -20,7 +20,7 @@ import os import tempfile from abc import ABCMeta, abstractmethod -from .core import log +from ..core import log from . import bts, pcu_osmo class OsmoBts(bts.Bts, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/bts_osmotrx.py b/src/osmo_gsm_tester/obj/bts_osmotrx.py similarity index 98% rename from src/osmo_gsm_tester/bts_osmotrx.py rename to src/osmo_gsm_tester/obj/bts_osmotrx.py index 91a1dd8..5339946 100644 --- a/src/osmo_gsm_tester/bts_osmotrx.py +++ b/src/osmo_gsm_tester/obj/bts_osmotrx.py @@ -20,8 +20,8 @@ import os import pprint from abc import ABCMeta, abstractmethod -from .core import log, config, util, template, process, remote -from .core.event_loop import MainLoop +from ..core import log, config, util, template, process, remote +from ..core.event_loop import MainLoop from . import powersupply, bts_osmo class OsmoBtsTrx(bts_osmo.OsmoBtsMainUnit): diff --git a/src/osmo_gsm_tester/bts_osmovirtual.py b/src/osmo_gsm_tester/obj/bts_osmovirtual.py similarity index 98% rename from src/osmo_gsm_tester/bts_osmovirtual.py rename to src/osmo_gsm_tester/obj/bts_osmovirtual.py index 262c805..495b2a8 100644 --- a/src/osmo_gsm_tester/bts_osmovirtual.py +++ b/src/osmo_gsm_tester/obj/bts_osmovirtual.py @@ -20,7 +20,7 @@ import os import pprint -from .core import config, util, template, process +from ..core import config, util, template, process from . import bts_osmo class OsmoBtsVirtual(bts_osmo.OsmoBtsMainUnit): diff --git a/src/osmo_gsm_tester/bts_sysmo.py b/src/osmo_gsm_tester/obj/bts_sysmo.py similarity index 98% rename from src/osmo_gsm_tester/bts_sysmo.py rename to src/osmo_gsm_tester/obj/bts_sysmo.py index d28b034..aecf977 100644 --- a/src/osmo_gsm_tester/bts_sysmo.py +++ b/src/osmo_gsm_tester/obj/bts_sysmo.py @@ -19,7 +19,7 @@ import os import pprint -from .core import log, config, util, template, process, remote +from ..core import log, config, util, template, process, remote from . import pcu_sysmo, bts_osmo class SysmoBts(bts_osmo.OsmoBts): diff --git a/src/osmo_gsm_tester/enb.py b/src/osmo_gsm_tester/obj/enb.py similarity index 98% rename from src/osmo_gsm_tester/enb.py rename to src/osmo_gsm_tester/obj/enb.py index edaf462..bb5053f 100644 --- a/src/osmo_gsm_tester/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -18,7 +18,7 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from .core import log, config +from ..core import log, config class eNodeB(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py similarity index 99% rename from src/osmo_gsm_tester/enb_amarisoft.py rename to src/osmo_gsm_tester/obj/enb_amarisoft.py index a058653..70f8d47 100644 --- a/src/osmo_gsm_tester/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process, remote +from ..core import log, util, config, template, process, remote from . import enb def rf_type_valid(rf_type_str): diff --git a/src/osmo_gsm_tester/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py similarity index 99% rename from src/osmo_gsm_tester/enb_srs.py rename to src/osmo_gsm_tester/obj/enb_srs.py index 079671a..0860d19 100644 --- a/src/osmo_gsm_tester/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process, remote +from ..core import log, util, config, template, process, remote from . import enb def rf_type_valid(rf_type_str): diff --git a/src/osmo_gsm_tester/epc.py b/src/osmo_gsm_tester/obj/epc.py similarity index 98% rename from src/osmo_gsm_tester/epc.py rename to src/osmo_gsm_tester/obj/epc.py index 9141455..f6bddea 100644 --- a/src/osmo_gsm_tester/epc.py +++ b/src/osmo_gsm_tester/obj/epc.py @@ -18,7 +18,7 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from .core import log, config +from ..core import log, config class EPC(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py similarity index 98% rename from src/osmo_gsm_tester/epc_amarisoft.py rename to src/osmo_gsm_tester/obj/epc_amarisoft.py index 33b8162..afd8aa4 100644 --- a/src/osmo_gsm_tester/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process, remote +from ..core import log, util, config, template, process, remote from . import epc class AmarisoftEPC(epc.EPC): diff --git a/src/osmo_gsm_tester/epc_srs.py b/src/osmo_gsm_tester/obj/epc_srs.py similarity index 98% rename from src/osmo_gsm_tester/epc_srs.py rename to src/osmo_gsm_tester/obj/epc_srs.py index 4a45c7e..7288e69 100644 --- a/src/osmo_gsm_tester/epc_srs.py +++ b/src/osmo_gsm_tester/obj/epc_srs.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process, remote +from ..core import log, util, config, template, process, remote from . import epc class srsEPC(epc.EPC): diff --git a/src/osmo_gsm_tester/esme.py b/src/osmo_gsm_tester/obj/esme.py similarity index 98% rename from src/osmo_gsm_tester/esme.py rename to src/osmo_gsm_tester/obj/esme.py index 048b69e..41ec87f 100644 --- a/src/osmo_gsm_tester/esme.py +++ b/src/osmo_gsm_tester/obj/esme.py @@ -23,8 +23,8 @@ import smpplib.consts import smpplib.exceptions -from .core import log -from .core.event_loop import MainLoop +from ..core import log +from ..core.event_loop import MainLoop # if you want to know what's happening inside python-smpplib #import logging diff --git a/src/osmo_gsm_tester/ggsn_osmo.py b/src/osmo_gsm_tester/obj/ggsn_osmo.py similarity index 98% rename from src/osmo_gsm_tester/ggsn_osmo.py rename to src/osmo_gsm_tester/obj/ggsn_osmo.py index e699203..11745f6 100644 --- a/src/osmo_gsm_tester/ggsn_osmo.py +++ b/src/osmo_gsm_tester/obj/ggsn_osmo.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process +from ..core import log, util, config, template, process from . import pcap_recorder class OsmoGgsn(log.Origin): diff --git a/src/osmo_gsm_tester/hlr_osmo.py b/src/osmo_gsm_tester/obj/hlr_osmo.py similarity index 98% rename from src/osmo_gsm_tester/hlr_osmo.py rename to src/osmo_gsm_tester/obj/hlr_osmo.py index 245328b..93e5fff 100644 --- a/src/osmo_gsm_tester/hlr_osmo.py +++ b/src/osmo_gsm_tester/obj/hlr_osmo.py @@ -21,7 +21,7 @@ import pprint import sqlite3 -from .core import log, util, config, template, process +from ..core import log, util, config, template, process from . import pcap_recorder class OsmoHlr(log.Origin): diff --git a/src/osmo_gsm_tester/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py similarity index 99% rename from src/osmo_gsm_tester/iperf3.py rename to src/osmo_gsm_tester/obj/iperf3.py index 331a3ba..d2e9c36 100644 --- a/src/osmo_gsm_tester/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -20,7 +20,7 @@ import os import json -from .core import log, util, config, process, remote +from ..core import log, util, config, process, remote from . import pcap_recorder, run_node def iperf3_result_to_json(file): diff --git a/src/osmo_gsm_tester/mgcpgw_osmo.py b/src/osmo_gsm_tester/obj/mgcpgw_osmo.py similarity index 98% rename from src/osmo_gsm_tester/mgcpgw_osmo.py rename to src/osmo_gsm_tester/obj/mgcpgw_osmo.py index 0c9a13a..d31f439 100644 --- a/src/osmo_gsm_tester/mgcpgw_osmo.py +++ b/src/osmo_gsm_tester/obj/mgcpgw_osmo.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process +from ..core import log, util, config, template, process from . import pcap_recorder class OsmoMgcpgw(log.Origin): diff --git a/src/osmo_gsm_tester/mgw_osmo.py b/src/osmo_gsm_tester/obj/mgw_osmo.py similarity index 98% rename from src/osmo_gsm_tester/mgw_osmo.py rename to src/osmo_gsm_tester/obj/mgw_osmo.py index b7bd681..3798b2d 100644 --- a/src/osmo_gsm_tester/mgw_osmo.py +++ b/src/osmo_gsm_tester/obj/mgw_osmo.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process +from ..core import log, util, config, template, process from . import pcap_recorder class OsmoMgw(log.Origin): diff --git a/src/osmo_gsm_tester/modem.py b/src/osmo_gsm_tester/obj/modem.py similarity index 99% rename from src/osmo_gsm_tester/modem.py rename to src/osmo_gsm_tester/obj/modem.py index 6759e70..a79f8fb 100644 --- a/src/osmo_gsm_tester/modem.py +++ b/src/osmo_gsm_tester/obj/modem.py @@ -17,8 +17,8 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from .core import log, util, process -from .core.event_loop import MainLoop +from ..core import log, util, process +from ..core.event_loop import MainLoop from .ms import MS from . import sms diff --git a/src/osmo_gsm_tester/ms.py b/src/osmo_gsm_tester/obj/ms.py similarity index 98% rename from src/osmo_gsm_tester/ms.py rename to src/osmo_gsm_tester/obj/ms.py index d310f5f..3dcea7b 100644 --- a/src/osmo_gsm_tester/ms.py +++ b/src/osmo_gsm_tester/obj/ms.py @@ -18,7 +18,7 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from .core import log +from ..core import log class MS(log.Origin, metaclass=ABCMeta): """Base for everything about mobile/modem and SIMs.""" diff --git a/src/osmo_gsm_tester/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py similarity index 98% rename from src/osmo_gsm_tester/ms_amarisoft.py rename to src/osmo_gsm_tester/obj/ms_amarisoft.py index 9527fa9..1b49b30 100644 --- a/src/osmo_gsm_tester/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -20,8 +20,8 @@ import os import pprint -from .core import log, util, config, template, process, remote -from .core.event_loop import MainLoop +from ..core import log, util, config, template, process, remote +from ..core.event_loop import MainLoop from .run_node import RunNode from .ms import MS diff --git a/src/osmo_gsm_tester/ms_driver.py b/src/osmo_gsm_tester/obj/ms_driver.py similarity index 99% rename from src/osmo_gsm_tester/ms_driver.py rename to src/osmo_gsm_tester/obj/ms_driver.py index ef45b8b..2c7bb8b 100644 --- a/src/osmo_gsm_tester/ms_driver.py +++ b/src/osmo_gsm_tester/obj/ms_driver.py @@ -16,7 +16,7 @@ # along with this program. If not, see . from datetime import timedelta -from .core import log, util +from ..core import log, util from osmo_ms_driver.cdf import cdfs from osmo_ms_driver.event_server import EventServer from osmo_ms_driver.simple_loop import SimpleLoop diff --git a/src/osmo_gsm_tester/ms_osmo_mobile.py b/src/osmo_gsm_tester/obj/ms_osmo_mobile.py similarity index 100% rename from src/osmo_gsm_tester/ms_osmo_mobile.py rename to src/osmo_gsm_tester/obj/ms_osmo_mobile.py diff --git a/src/osmo_gsm_tester/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py similarity index 99% rename from src/osmo_gsm_tester/ms_srs.py rename to src/osmo_gsm_tester/obj/ms_srs.py index d23cf40..c1803e3 100644 --- a/src/osmo_gsm_tester/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -20,9 +20,9 @@ import os import pprint -from .core import log, util, config, template, process, remote +from ..core import log, util, config, template, process, remote from .run_node import RunNode -from .core.event_loop import MainLoop +from ..core.event_loop import MainLoop from .ms import MS def rf_type_valid(rf_type_str): diff --git a/src/osmo_gsm_tester/msc_osmo.py b/src/osmo_gsm_tester/obj/msc_osmo.py similarity index 98% rename from src/osmo_gsm_tester/msc_osmo.py rename to src/osmo_gsm_tester/obj/msc_osmo.py index fd5d41f..cb8894f 100644 --- a/src/osmo_gsm_tester/msc_osmo.py +++ b/src/osmo_gsm_tester/obj/msc_osmo.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process +from ..core import log, util, config, template, process from . import osmo_ctrl, pcap_recorder, smsc class OsmoMsc(log.Origin): diff --git a/src/osmo_gsm_tester/nitb_osmo.py b/src/osmo_gsm_tester/obj/nitb_osmo.py similarity index 99% rename from src/osmo_gsm_tester/nitb_osmo.py rename to src/osmo_gsm_tester/obj/nitb_osmo.py index ec4912f..64db425 100644 --- a/src/osmo_gsm_tester/nitb_osmo.py +++ b/src/osmo_gsm_tester/obj/nitb_osmo.py @@ -21,7 +21,7 @@ import re import pprint -from .core import log, util, config, template, process +from ..core import log, util, config, template, process from . import osmo_ctrl, pcap_recorder, smsc class OsmoNitb(log.Origin): diff --git a/src/osmo_gsm_tester/osmo_ctrl.py b/src/osmo_gsm_tester/obj/osmo_ctrl.py similarity index 98% rename from src/osmo_gsm_tester/osmo_ctrl.py rename to src/osmo_gsm_tester/obj/osmo_ctrl.py index 3bc21bd..312e1e9 100644 --- a/src/osmo_gsm_tester/osmo_ctrl.py +++ b/src/osmo_gsm_tester/obj/osmo_ctrl.py @@ -21,7 +21,7 @@ import socket import struct -from .core import log +from ..core import log class CtrlInterfaceExn(Exception): pass diff --git a/src/osmo_gsm_tester/osmocon.py b/src/osmo_gsm_tester/obj/osmocon.py similarity index 97% rename from src/osmo_gsm_tester/osmocon.py rename to src/osmo_gsm_tester/obj/osmocon.py index a6b3221..1fad239 100644 --- a/src/osmo_gsm_tester/osmocon.py +++ b/src/osmo_gsm_tester/obj/osmocon.py @@ -20,8 +20,8 @@ import os import tempfile -from .core import log, util, process -from .core.event_loop import MainLoop +from ..core import log, util, process +from ..core.event_loop import MainLoop class Osmocon(log.Origin): diff --git a/src/osmo_gsm_tester/pcap_recorder.py b/src/osmo_gsm_tester/obj/pcap_recorder.py similarity index 98% rename from src/osmo_gsm_tester/pcap_recorder.py rename to src/osmo_gsm_tester/obj/pcap_recorder.py index a9ba3a7..eb91420 100644 --- a/src/osmo_gsm_tester/pcap_recorder.py +++ b/src/osmo_gsm_tester/obj/pcap_recorder.py @@ -19,7 +19,7 @@ import os -from .core import log, process +from ..core import log, process class PcapRecorder(log.Origin): diff --git a/src/osmo_gsm_tester/pcu.py b/src/osmo_gsm_tester/obj/pcu.py similarity index 98% rename from src/osmo_gsm_tester/pcu.py rename to src/osmo_gsm_tester/obj/pcu.py index 9dd6f59..6028f06 100644 --- a/src/osmo_gsm_tester/pcu.py +++ b/src/osmo_gsm_tester/obj/pcu.py @@ -18,7 +18,7 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from .core import log +from ..core import log class Pcu(log.Origin, metaclass=ABCMeta): """PCU Abstract Base Class.""" diff --git a/src/osmo_gsm_tester/pcu_oc2g.py b/src/osmo_gsm_tester/obj/pcu_oc2g.py similarity index 98% rename from src/osmo_gsm_tester/pcu_oc2g.py rename to src/osmo_gsm_tester/obj/pcu_oc2g.py index 714f6fd..4b67441 100644 --- a/src/osmo_gsm_tester/pcu_oc2g.py +++ b/src/osmo_gsm_tester/obj/pcu_oc2g.py @@ -19,7 +19,7 @@ import os import pprint -from .core import log, config, util, template, process +from ..core import log, config, util, template, process from . import pcu class OsmoPcuOC2G(pcu.Pcu): diff --git a/src/osmo_gsm_tester/pcu_osmo.py b/src/osmo_gsm_tester/obj/pcu_osmo.py similarity index 98% rename from src/osmo_gsm_tester/pcu_osmo.py rename to src/osmo_gsm_tester/obj/pcu_osmo.py index 11d3805..4c79f5a 100644 --- a/src/osmo_gsm_tester/pcu_osmo.py +++ b/src/osmo_gsm_tester/obj/pcu_osmo.py @@ -19,7 +19,7 @@ import os import pprint -from .core import config, util, template, process +from ..core import config, util, template, process from . import pcu class OsmoPcu(pcu.Pcu): diff --git a/src/osmo_gsm_tester/pcu_sysmo.py b/src/osmo_gsm_tester/obj/pcu_sysmo.py similarity index 98% rename from src/osmo_gsm_tester/pcu_sysmo.py rename to src/osmo_gsm_tester/obj/pcu_sysmo.py index e907367..f7c480d 100644 --- a/src/osmo_gsm_tester/pcu_sysmo.py +++ b/src/osmo_gsm_tester/obj/pcu_sysmo.py @@ -19,7 +19,7 @@ import os import pprint -from .core import log, config, util, template, process +from ..core import log, config, util, template, process from . import pcu class OsmoPcuSysmo(pcu.Pcu): diff --git a/src/osmo_gsm_tester/powersupply.py b/src/osmo_gsm_tester/obj/powersupply.py similarity index 97% rename from src/osmo_gsm_tester/powersupply.py rename to src/osmo_gsm_tester/obj/powersupply.py index 4a9205d..90e84ef 100644 --- a/src/osmo_gsm_tester/powersupply.py +++ b/src/osmo_gsm_tester/obj/powersupply.py @@ -18,8 +18,8 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from .core import log -from .core.event_loop import MainLoop +from ..core import log +from ..core.event_loop import MainLoop class PowerSupply(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/powersupply_intellinet.py b/src/osmo_gsm_tester/obj/powersupply_intellinet.py similarity index 99% rename from src/osmo_gsm_tester/powersupply_intellinet.py rename to src/osmo_gsm_tester/obj/powersupply_intellinet.py index 02dc803..5b00a1f 100644 --- a/src/osmo_gsm_tester/powersupply_intellinet.py +++ b/src/osmo_gsm_tester/obj/powersupply_intellinet.py @@ -20,7 +20,7 @@ import urllib.request import xml.etree.ElementTree as ET -from .core import log +from ..core import log from .powersupply import PowerSupply class PowerSupplyIntellinet(PowerSupply): diff --git a/src/osmo_gsm_tester/powersupply_sispm.py b/src/osmo_gsm_tester/obj/powersupply_sispm.py similarity index 98% rename from src/osmo_gsm_tester/powersupply_sispm.py rename to src/osmo_gsm_tester/obj/powersupply_sispm.py index b392f73..d1b244f 100644 --- a/src/osmo_gsm_tester/powersupply_sispm.py +++ b/src/osmo_gsm_tester/obj/powersupply_sispm.py @@ -20,8 +20,8 @@ import sispm from usb.core import USBError -from .core import log -from .core.event_loop import MainLoop +from ..core import log +from ..core.event_loop import MainLoop from .powersupply import PowerSupply class PowerSupplySispm(PowerSupply): diff --git a/src/osmo_gsm_tester/run_node.py b/src/osmo_gsm_tester/obj/run_node.py similarity index 98% rename from src/osmo_gsm_tester/run_node.py rename to src/osmo_gsm_tester/obj/run_node.py index e5f7d56..e9f43a1 100644 --- a/src/osmo_gsm_tester/run_node.py +++ b/src/osmo_gsm_tester/obj/run_node.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from .core import log +from ..core import log class RunNode(log.Origin): diff --git a/src/osmo_gsm_tester/sgsn_osmo.py b/src/osmo_gsm_tester/obj/sgsn_osmo.py similarity index 98% rename from src/osmo_gsm_tester/sgsn_osmo.py rename to src/osmo_gsm_tester/obj/sgsn_osmo.py index 647d848..6824d80 100644 --- a/src/osmo_gsm_tester/sgsn_osmo.py +++ b/src/osmo_gsm_tester/obj/sgsn_osmo.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process +from ..core import log, util, config, template, process from . import pcap_recorder class OsmoSgsn(log.Origin): diff --git a/src/osmo_gsm_tester/sms.py b/src/osmo_gsm_tester/obj/sms.py similarity index 100% rename from src/osmo_gsm_tester/sms.py rename to src/osmo_gsm_tester/obj/sms.py diff --git a/src/osmo_gsm_tester/smsc.py b/src/osmo_gsm_tester/obj/smsc.py similarity index 97% rename from src/osmo_gsm_tester/smsc.py rename to src/osmo_gsm_tester/obj/smsc.py index 1083d22..ee89c69 100644 --- a/src/osmo_gsm_tester/smsc.py +++ b/src/osmo_gsm_tester/obj/smsc.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from .core import log, config +from ..core import log, config class Smsc: diff --git a/src/osmo_gsm_tester/stp_osmo.py b/src/osmo_gsm_tester/obj/stp_osmo.py similarity index 97% rename from src/osmo_gsm_tester/stp_osmo.py rename to src/osmo_gsm_tester/obj/stp_osmo.py index 500c5da..afb8a04 100644 --- a/src/osmo_gsm_tester/stp_osmo.py +++ b/src/osmo_gsm_tester/obj/stp_osmo.py @@ -20,7 +20,7 @@ import os import pprint -from .core import log, util, config, template, process +from ..core import log, util, config, template, process from . import pcap_recorder class OsmoStp(log.Origin): diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 5b86a08..2c1ec4b 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -26,10 +26,10 @@ from .core import config from .core import util from .core import schema -from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g -from . import modem -from . import ms_osmo_mobile -from . import ms_srs, ms_amarisoft, enb_srs, enb_amarisoft, epc_srs, epc_amarisoft +from .obj import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g +from .obj import modem +from .obj import ms_osmo_mobile +from .obj import ms_srs, ms_amarisoft, enb_srs, enb_amarisoft, epc_srs, epc_amarisoft from .core.util import is_dict, is_list diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index 586c518..fecb7a6 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -23,9 +23,9 @@ import pprint from .core import config, log, util, process from .core.event_loop import MainLoop +from .obj import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 +from .obj import run_node from . import resource, test -from . import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 -from . import run_node class Timeout(Exception): pass diff --git a/src/osmo_gsm_tester/test.py b/src/osmo_gsm_tester/test.py index f517b52..64b45c5 100644 --- a/src/osmo_gsm_tester/test.py +++ b/src/osmo_gsm_tester/test.py @@ -59,7 +59,8 @@ self.start_timestamp = time.time() from .core import process from .core.event_loop import MainLoop - from . import suite, sms + from .obj import sms + from . import suite testenv.setup(self.suite_run, self, suite, MainLoop, sms, process) with self.redirect_stdout(): util.run_python_file('%s.%s' % (self.suite_run.definition.name(), self.basename), -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17782 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: I0b2963cf00acd1f9036dca2e87aa3b87a0f8066d Gerrit-Change-Number: 17782 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Sat Apr 11 18:08:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 11 Apr 2020 18:08:56 +0000 Subject: Change in osmo-gsm-tester[master]: Rename modem.py to ms_ofono.py In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17783 ) Change subject: Rename modem.py to ms_ofono.py ...................................................................... Rename modem.py to ms_ofono.py Change-Id: I050970986b0b3fbc23b756c5b7c524cb8b7c1327 --- R src/osmo_gsm_tester/obj/ms_ofono.py M src/osmo_gsm_tester/resource.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/modem.py b/src/osmo_gsm_tester/obj/ms_ofono.py similarity index 100% rename from src/osmo_gsm_tester/obj/modem.py rename to src/osmo_gsm_tester/obj/ms_ofono.py diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 2c1ec4b..61f2b11 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -27,7 +27,7 @@ from .core import util from .core import schema from .obj import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g -from .obj import modem +from .obj import ms_ofono from .obj import ms_osmo_mobile from .obj import ms_srs, ms_amarisoft, enb_srs, enb_amarisoft, epc_srs, epc_amarisoft @@ -168,8 +168,8 @@ KNOWN_MS_TYPES = { # Map None to ofono for forward compability - None: modem.Modem, - 'ofono': modem.Modem, + None: ms_ofono.Modem, + 'ofono': ms_ofono.Modem, 'osmo-mobile': ms_osmo_mobile.MSOsmoMobile, 'srsue': ms_srs.srsUE, 'amarisoftue': ms_amarisoft.AmarisoftUE, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17783 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: I050970986b0b3fbc23b756c5b7c524cb8b7c1327 Gerrit-Change-Number: 17783 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Sat Apr 11 18:09:11 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:09:11 +0000 Subject: Change in libosmo-netif[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/17790 to look at the new patch set (#2). Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: If9aa8a066d81cf378d6bbc0fa95ad6e985408af8 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/90/17790/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: If9aa8a066d81cf378d6bbc0fa95ad6e985408af8 Gerrit-Change-Number: 17790 Gerrit-PatchSet: 2 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 Sat Apr 11 18:09:12 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:09:12 +0000 Subject: Change in osmo-bsc[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/17793 to look at the new patch set (#2). Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: If71654d87b375b4b882ab527e89353cd035f695b --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/93/17793/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If71654d87b375b4b882ab527e89353cd035f695b Gerrit-Change-Number: 17793 Gerrit-PatchSet: 2 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 Sat Apr 11 18:09:14 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:09:14 +0000 Subject: Change in libsmpp34[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libsmpp34/+/17792 to look at the new patch set (#2). Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Iae420759fbf3846221f94af4403f6273536ea00b --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libsmpp34 refs/changes/92/17792/2 -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/17792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: Iae420759fbf3846221f94af4403f6273536ea00b Gerrit-Change-Number: 17792 Gerrit-PatchSet: 2 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 Sat Apr 11 18:09:15 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:09:15 +0000 Subject: Change in osmo-iuh[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-iuh/+/17797 to look at the new patch set (#2). Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I74cdca5c8bd5a32b6fb05906280cc1cdd64e9369 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/97/17797/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I74cdca5c8bd5a32b6fb05906280cc1cdd64e9369 Gerrit-Change-Number: 17797 Gerrit-PatchSet: 2 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 Sat Apr 11 18:09:16 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:09:16 +0000 Subject: Change in osmo-sgsn[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17788 to look at the new patch set (#2). Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I7402b019c191304f639806a3c29e6bb698b398ed --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/88/17788/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17788 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I7402b019c191304f639806a3c29e6bb698b398ed Gerrit-Change-Number: 17788 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen 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 Sat Apr 11 18:09:17 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:09:17 +0000 Subject: Change in osmo-ggsn[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17795 to look at the new patch set (#2). Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Icc09c9d09bfa01264ddf867356d068e50d97c5a0 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/95/17795/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Icc09c9d09bfa01264ddf867356d068e50d97c5a0 Gerrit-Change-Number: 17795 Gerrit-PatchSet: 2 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 Sat Apr 11 18:09:17 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:09:17 +0000 Subject: Change in osmo-bts[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/17794 to look at the new patch set (#2). Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I9b18ac186d5870e3a6b46678ab7fb2154c9cae07 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/94/17794/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b18ac186d5870e3a6b46678ab7fb2154c9cae07 Gerrit-Change-Number: 17794 Gerrit-PatchSet: 2 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 Sat Apr 11 18:09:18 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:09:18 +0000 Subject: Change in osmo-pcu[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/17799 to look at the new patch set (#2). Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I999adf84a34c03765ce6c32ece0e61d0ac6e1c13 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/99/17799/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17799 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I999adf84a34c03765ce6c32ece0e61d0ac6e1c13 Gerrit-Change-Number: 17799 Gerrit-PatchSet: 2 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 Sat Apr 11 18:09:20 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:09:20 +0000 Subject: Change in osmo-msc[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/17798 to look at the new patch set (#2). Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I17d95c416e26dae6ca8bec57df01d3e7b7061058 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/98/17798/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17798 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I17d95c416e26dae6ca8bec57df01d3e7b7061058 Gerrit-Change-Number: 17798 Gerrit-PatchSet: 2 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 Sat Apr 11 18:09:22 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:09:22 +0000 Subject: Change in libosmo-sccp[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17791 to look at the new patch set (#2). Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I292c303840a76c5042dc077829c5df46158ca8ba --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/91/17791/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17791 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I292c303840a76c5042dc077829c5df46158ca8ba Gerrit-Change-Number: 17791 Gerrit-PatchSet: 2 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 Sat Apr 11 18:09:22 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:09:22 +0000 Subject: Change in libosmo-abis[master]: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/17789 to look at the new patch set (#2). Change subject: fix libtool issue with clang and sanitizer ...................................................................... fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ia3644168bfea13bda5e09b8bfe1d2c65abd32ad7 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/89/17789/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia3644168bfea13bda5e09b8bfe1d2c65abd32ad7 Gerrit-Change-Number: 17789 Gerrit-PatchSet: 2 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 Sat Apr 11 18:11:26 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:11:26 +0000 Subject: Change in osmo-hlr[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 to look at the new patch set (#20). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/96/17796/20 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 20 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 Sat Apr 11 18:27:17 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:27:17 +0000 Subject: Change in libosmo-netif[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/17790 to look at the new patch set (#3). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: If9aa8a066d81cf378d6bbc0fa95ad6e985408af8 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/90/17790/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: If9aa8a066d81cf378d6bbc0fa95ad6e985408af8 Gerrit-Change-Number: 17790 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 Sat Apr 11 18:27:20 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:27:20 +0000 Subject: Change in osmo-sgsn[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17788 to look at the new patch set (#3). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I7402b019c191304f639806a3c29e6bb698b398ed --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/88/17788/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17788 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I7402b019c191304f639806a3c29e6bb698b398ed Gerrit-Change-Number: 17788 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen 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 Sat Apr 11 18:27:19 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:27:19 +0000 Subject: Change in libsmpp34[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libsmpp34/+/17792 to look at the new patch set (#3). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Iae420759fbf3846221f94af4403f6273536ea00b --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libsmpp34 refs/changes/92/17792/3 -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/17792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: Iae420759fbf3846221f94af4403f6273536ea00b Gerrit-Change-Number: 17792 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 Sat Apr 11 18:27:19 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:27:19 +0000 Subject: Change in osmo-iuh[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-iuh/+/17797 to look at the new patch set (#3). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I74cdca5c8bd5a32b6fb05906280cc1cdd64e9369 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/97/17797/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I74cdca5c8bd5a32b6fb05906280cc1cdd64e9369 Gerrit-Change-Number: 17797 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 Sat Apr 11 18:27:17 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:27:17 +0000 Subject: Change in osmo-bsc[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/17793 to look at the new patch set (#3). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: If71654d87b375b4b882ab527e89353cd035f695b --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/93/17793/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If71654d87b375b4b882ab527e89353cd035f695b Gerrit-Change-Number: 17793 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 Sat Apr 11 18:27:24 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:27:24 +0000 Subject: Change in libosmo-sccp[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17791 to look at the new patch set (#3). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I292c303840a76c5042dc077829c5df46158ca8ba --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/91/17791/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17791 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I292c303840a76c5042dc077829c5df46158ca8ba Gerrit-Change-Number: 17791 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 Sat Apr 11 18:27:23 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:27:23 +0000 Subject: Change in osmo-msc[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/17798 to look at the new patch set (#3). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I17d95c416e26dae6ca8bec57df01d3e7b7061058 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/98/17798/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17798 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I17d95c416e26dae6ca8bec57df01d3e7b7061058 Gerrit-Change-Number: 17798 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 Sat Apr 11 18:27:21 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:27:21 +0000 Subject: Change in osmo-pcu[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/17799 to look at the new patch set (#3). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I999adf84a34c03765ce6c32ece0e61d0ac6e1c13 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/99/17799/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17799 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I999adf84a34c03765ce6c32ece0e61d0ac6e1c13 Gerrit-Change-Number: 17799 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 Sat Apr 11 18:27:25 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:27:25 +0000 Subject: Change in libosmo-abis[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/17789 to look at the new patch set (#3). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ia3644168bfea13bda5e09b8bfe1d2c65abd32ad7 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/89/17789/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia3644168bfea13bda5e09b8bfe1d2c65abd32ad7 Gerrit-Change-Number: 17789 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 Sat Apr 11 18:27:21 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:27:21 +0000 Subject: Change in osmo-bts[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/17794 to look at the new patch set (#3). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I9b18ac186d5870e3a6b46678ab7fb2154c9cae07 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/94/17794/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b18ac186d5870e3a6b46678ab7fb2154c9cae07 Gerrit-Change-Number: 17794 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 Sat Apr 11 18:27:20 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:27:20 +0000 Subject: Change in osmo-ggsn[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17795 to look at the new patch set (#3). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Icc09c9d09bfa01264ddf867356d068e50d97c5a0 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/95/17795/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Icc09c9d09bfa01264ddf867356d068e50d97c5a0 Gerrit-Change-Number: 17795 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 Sat Apr 11 18:31:07 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:31:07 +0000 Subject: Change in libosmocore[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/17784 to look at the new patch set (#2). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I8ebd9c6d4efda41c7c8196f963d1f04d65160754 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/84/17784/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8ebd9c6d4efda41c7c8196f963d1f04d65160754 Gerrit-Change-Number: 17784 Gerrit-PatchSet: 2 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 Sat Apr 11 18:32:07 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:32:07 +0000 Subject: Change in libosmocore[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/17784 to look at the new patch set (#3). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I8ebd9c6d4efda41c7c8196f963d1f04d65160754 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/84/17784/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8ebd9c6d4efda41c7c8196f963d1f04d65160754 Gerrit-Change-Number: 17784 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 Sat Apr 11 18:32:46 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:32:46 +0000 Subject: Change in osmo-mgw[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/17786 to look at the new patch set (#2). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I2314ef45e6f588e88d5aab8213cc7b5cdef11325 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/86/17786/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2314ef45e6f588e88d5aab8213cc7b5cdef11325 Gerrit-Change-Number: 17786 Gerrit-PatchSet: 2 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 Sat Apr 11 18:33:08 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:33:08 +0000 Subject: Change in osmo-mgw[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/17786 to look at the new patch set (#3). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I2314ef45e6f588e88d5aab8213cc7b5cdef11325 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/86/17786/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2314ef45e6f588e88d5aab8213cc7b5cdef11325 Gerrit-Change-Number: 17786 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 Sat Apr 11 18:33:28 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:33:28 +0000 Subject: Change in osmo-trx[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/17800 to look at the new patch set (#2). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: If3d9465068b2c654b935fc3d9ab41d799d5e02e8 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/00/17800/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: If3d9465068b2c654b935fc3d9ab41d799d5e02e8 Gerrit-Change-Number: 17800 Gerrit-PatchSet: 2 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 Sat Apr 11 18:33:49 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 11 Apr 2020 18:33:49 +0000 Subject: Change in osmo-trx[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/17800 to look at the new patch set (#3). Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: If3d9465068b2c654b935fc3d9ab41d799d5e02e8 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/00/17800/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: If3d9465068b2c654b935fc3d9ab41d799d5e02e8 Gerrit-Change-Number: 17800 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 Sun Apr 12 01:08:46 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 12 Apr 2020 01:08:46 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl thread References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/17805 ) Change subject: transceiver: get rid of the ctrl thread ...................................................................... transceiver: get rid of the ctrl thread There is no need to have n threads handle n ctrl sockets, since they all will immediately respond to commands, so handle them from the existing main osmo select loop. Care must be taken to ensure that calls from within the command handler do not block, or at least don't block too long, which currently is the case. Change-Id: I642a34451e1825eafecf71a902df916ccee7944c --- M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h M Transceiver52M/osmo-trx.cpp 3 files changed, 155 insertions(+), 94 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/05/17805/1 diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index dc218d7..da8db75 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -45,6 +45,8 @@ using namespace GSM; +Transceiver *transceiver; + #define USB_LATENCY_INTRVL 10,0 /* Number of running values use in noise average */ @@ -151,20 +153,28 @@ close(mClockSocket); for (size_t i = 0; i < mChans; i++) { - if (mControlServiceLoopThreads[i]) { - mControlServiceLoopThreads[i]->cancel(); - mControlServiceLoopThreads[i]->join(); - delete mControlServiceLoopThreads[i]; - } - mTxPriorityQueues[i].clear(); - if (mCtrlSockets[i] >= 0) - close(mCtrlSockets[i]); if (mDataSockets[i] >= 0) close(mDataSockets[i]); } } +int Transceiver::ctrl_sock_cb(struct osmo_fd *bfd, unsigned int flags) +{ + int rc = 0; + int chan = static_cast(reinterpret_cast(bfd->data)); + + if (flags & BSC_FD_READ) + rc = driveControl(bfd, chan); + if (rc < 0) + return rc; + + if (flags & BSC_FD_WRITE) + rc = ctrl_sock_write(bfd, chan); + + return rc; +} + /* * Initialize transceiver * @@ -193,8 +203,7 @@ mEdge = edge; mDataSockets.resize(mChans, -1); - mCtrlSockets.resize(mChans, -1); - mControlServiceLoopThreads.resize(mChans); + mCtrlSockets.resize(mChans); mTxPriorityQueueServiceLoopThreads.resize(mChans); mRxServiceLoopThreads.resize(mChans); @@ -221,19 +230,27 @@ d_srcport = mBasePort + 2 * i + 2; d_dstport = mBasePort + 2 * i + 102; - mCtrlSockets[i] = osmo_sock_init2(AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, + int rv = osmo_sock_init2_ofd(&mCtrlSockets[i].conn_bfd, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, mLocalAddr.c_str(), c_srcport, mRemoteAddr.c_str(), c_dstport, OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT); - if (mCtrlSockets[i] < 0) + if (rv < 0) return false; + mCtrlSockets[i].conn_bfd.cb = ctrl_sock_cb; + mCtrlSockets[i].conn_bfd.data = reinterpret_cast(i); + mDataSockets[i] = osmo_sock_init2(AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, mLocalAddr.c_str(), d_srcport, mRemoteAddr.c_str(), d_dstport, OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT); - if (mCtrlSockets[i] < 0) + if (mDataSockets[i] < 0) return false; + + if (i && filler == FILLER_DUMMY) + filler = FILLER_ZERO; + + mStates[i].init(filler, mSPSTx, txFullScale, rtsc, rach_delay); } /* Randomize the central clock */ @@ -243,19 +260,10 @@ mLastClockUpdateTime = startTime; mLatencyUpdateTime = startTime; - /* Start control threads */ for (size_t i = 0; i < mChans; i++) { - TrxChanThParams *params = (TrxChanThParams *)malloc(sizeof(struct TrxChanThParams)); - params->trx = this; - params->num = i; - mControlServiceLoopThreads[i] = new Thread(stackSize); - mControlServiceLoopThreads[i]->start((void * (*)(void*)) - ControlServiceLoopAdapter, (void*) params); - - if (i && filler == FILLER_DUMMY) - filler = FILLER_ZERO; - - mStates[i].init(filler, mSPSTx, txFullScale, rtsc, rach_delay); + if (i && filler == FILLER_DUMMY) + filler = FILLER_ZERO; + mStates[i].init(filler, mSPSTx, txFullScale, rtsc, rach_delay); } return true; @@ -719,8 +727,6 @@ } -#define MAX_PACKET_LENGTH 100 - /** * Matches a buffer with a command. * @param buf a buffer to look command in @@ -750,19 +756,72 @@ return true; } -bool Transceiver::driveControl(size_t chan) +int Transceiver::ctrl_sock_send(ctrl_msg& m, int chan) { - char buffer[MAX_PACKET_LENGTH + 1]; - char response[MAX_PACKET_LENGTH + 1]; + struct osmo_fd *conn_bfd; + conn_bfd = &transceiver->mCtrlSockets[chan].conn_bfd; + + if (conn_bfd->fd <= 0) { + return -EIO; + } + + transceiver->mCtrlSockets[chan].txmsgqueue.push_back(m); + conn_bfd->when |= BSC_FD_WRITE; + + return 0; +} + +int Transceiver::ctrl_sock_write(struct osmo_fd *bfd, int chan) +{ + int rc; + + + while (transceiver->mCtrlSockets[chan].txmsgqueue.size()) { + const ctrl_msg m = transceiver->mCtrlSockets[chan].txmsgqueue.front(); + + bfd->when &= ~BSC_FD_WRITE; + + /* try to send it over the socket */ + rc = write(bfd->fd, m.data, strlen(m.data) + 1); + if (rc == 0) + goto close; + if (rc < 0) { + if (errno == EAGAIN) { + bfd->when |= BSC_FD_WRITE; + break; + } + goto close; + } + + transceiver->mCtrlSockets[chan].txmsgqueue.pop_front(); + } + return 0; + +close: + LOGCHAN(chan, DTRXCTRL, NOTICE) << "mCtrlSockets write(" << transceiver->mCtrlSockets[chan].conn_bfd.fd << ") failed: " << rc; + osmo_signal_dispatch(SS_MAIN, S_MAIN_STOP_REQUIRED, NULL); + + return -1; +} + +bool Transceiver::driveControl(struct osmo_fd *bfd, int chan) +{ + ctrl_msg cmd_received; + ctrl_msg cmd_to_send; + char *buffer = cmd_received.data; + char *response = cmd_to_send.data; char *command, *params; int msgLen; /* Attempt to read from control socket */ - msgLen = read(mCtrlSockets[chan], buffer, MAX_PACKET_LENGTH); + msgLen = read(bfd->fd, buffer, sizeof(cmd_received.data)); if (msgLen <= 0) { - LOGCHAN(chan, DTRXCTRL, NOTICE) << "mCtrlSockets read(" << mCtrlSockets[chan] << ") failed: " << msgLen; - return false; + LOGCHAN(chan, DTRXCTRL, NOTICE) << "mCtrlSockets read(" << transceiver->mCtrlSockets[chan].conn_bfd.fd << ") failed: " << msgLen; + osmo_signal_dispatch(SS_MAIN, S_MAIN_STOP_REQUIRED, NULL); + return -EIO; } + if (msgLen < 0 && errno == EAGAIN) + return false; /* Try again later */ /* Zero-terminate received string */ buffer[msgLen] = '\0'; @@ -778,16 +837,16 @@ LOGCHAN(chan, DTRXCTRL, INFO) << "command is '" << command << "'"; if (match_cmd(command, "POWEROFF", NULL)) { - stop(); + transceiver->stop(); sprintf(response,"RSP POWEROFF 0"); } else if (match_cmd(command, "POWERON", NULL)) { - if (!start()) { + if (!transceiver->start()) { sprintf(response,"RSP POWERON 1"); } else { sprintf(response,"RSP POWERON 0"); for (int i = 0; i < 8; i++) { for (int j = 0; j < 8; j++) - mHandover[i][j] = false; + transceiver->mHandover[i][j] = false; } } } else if (match_cmd(command, "HANDOVER", ¶ms)) { @@ -796,7 +855,7 @@ if (ts > 7 || ss > 7) { sprintf(response, "RSP HANDOVER 1 %u %u", ts, ss); } else { - mHandover[ts][ss] = true; + transceiver->mHandover[ts][ss] = true; sprintf(response, "RSP HANDOVER 0 %u %u", ts, ss); } } else if (match_cmd(command, "NOHANDOVER", ¶ms)) { @@ -805,32 +864,32 @@ if (ts > 7 || ss > 7) { sprintf(response, "RSP NOHANDOVER 1 %u %u", ts, ss); } else { - mHandover[ts][ss] = false; + transceiver->mHandover[ts][ss] = false; sprintf(response, "RSP NOHANDOVER 0 %u %u", ts, ss); } } else if (match_cmd(command, "SETMAXDLY", ¶ms)) { //set expected maximum time-of-arrival int maxDelay; sscanf(params, "%d", &maxDelay); - mMaxExpectedDelayAB = maxDelay; // 1 GSM symbol is approx. 1 km + transceiver->mMaxExpectedDelayAB = maxDelay; // 1 GSM symbol is approx. 1 km sprintf(response,"RSP SETMAXDLY 0 %d",maxDelay); } else if (match_cmd(command, "SETMAXDLYNB", ¶ms)) { //set expected maximum time-of-arrival int maxDelay; sscanf(params, "%d", &maxDelay); - mMaxExpectedDelayNB = maxDelay; // 1 GSM symbol is approx. 1 km + transceiver->mMaxExpectedDelayNB = maxDelay; // 1 GSM symbol is approx. 1 km sprintf(response,"RSP SETMAXDLYNB 0 %d",maxDelay); } else if (match_cmd(command, "SETRXGAIN", ¶ms)) { //set expected maximum time-of-arrival int newGain; sscanf(params, "%d", &newGain); - newGain = mRadioInterface->setRxGain(newGain, chan); + newGain =transceiver-> mRadioInterface->setRxGain(newGain, chan); sprintf(response,"RSP SETRXGAIN 0 %d",newGain); } else if (match_cmd(command, "NOISELEV", NULL)) { - if (mOn) { - float lev = mStates[chan].mNoiseLev; + if (transceiver->mOn) { + float lev = transceiver->mStates[chan].mNoiseLev; sprintf(response,"RSP NOISELEV 0 %d", - (int) round(20.0 * log10(rxFullScale / lev))); + (int) round(20.0 * log10(transceiver->rxFullScale / lev))); } else { sprintf(response,"RSP NOISELEV 1 0"); @@ -838,22 +897,22 @@ } else if (match_cmd(command, "SETPOWER", ¶ms)) { int power; sscanf(params, "%d", &power); - power = mRadioInterface->setPowerAttenuation(power, chan); - mStates[chan].mPower = power; + power = transceiver->mRadioInterface->setPowerAttenuation(power, chan); + transceiver->mStates[chan].mPower = power; sprintf(response, "RSP SETPOWER 0 %d", power); } else if (match_cmd(command, "ADJPOWER", ¶ms)) { int power, step; sscanf(params, "%d", &step); - power = mStates[chan].mPower + step; - power = mRadioInterface->setPowerAttenuation(power, chan); - mStates[chan].mPower = power; + power = transceiver->mStates[chan].mPower + step; + power = transceiver->mRadioInterface->setPowerAttenuation(power, chan); + transceiver->mStates[chan].mPower = power; sprintf(response, "RSP ADJPOWER 0 %d", power); } else if (match_cmd(command, "RXTUNE", ¶ms)) { // tune receiver int freqKhz; sscanf(params, "%d", &freqKhz); - mRxFreq = freqKhz * 1e3; - if (!mRadioInterface->tuneRx(mRxFreq, chan)) { + transceiver->mRxFreq = freqKhz * 1e3; + if (!transceiver->mRadioInterface->tuneRx(transceiver->mRxFreq, chan)) { LOGCHAN(chan, DTRXCTRL, FATAL) << "RX failed to tune"; sprintf(response,"RSP RXTUNE 1 %d",freqKhz); } @@ -863,8 +922,8 @@ // tune txmtr int freqKhz; sscanf(params, "%d", &freqKhz); - mTxFreq = freqKhz * 1e3; - if (!mRadioInterface->tuneTx(mTxFreq, chan)) { + transceiver-> mTxFreq = freqKhz * 1e3; + if (!transceiver->mRadioInterface->tuneTx(transceiver->mTxFreq, chan)) { LOGCHAN(chan, DTRXCTRL, FATAL) << "TX failed to tune"; sprintf(response,"RSP TXTUNE 1 %d",freqKhz); } @@ -877,8 +936,8 @@ if (TSC > 7) { sprintf(response, "RSP SETTSC 1 %d", TSC); } else { - LOGC(DTRXCTRL, NOTICE) << "Changing TSC from " << mTSC << " to " << TSC; - mTSC = TSC; + LOGC(DTRXCTRL, NOTICE) << "Changing TSC from " << transceiver->mTSC << " to " << TSC; + transceiver->mTSC = TSC; sprintf(response,"RSP SETTSC 0 %d", TSC); } } else if (match_cmd(command, "SETSLOT", ¶ms)) { @@ -891,8 +950,8 @@ sprintf(response,"RSP SETSLOT 1 %d %d",timeslot,corrCode); return true; } - mStates[chan].chanType[timeslot] = (ChannelCombination) corrCode; - setModulus(timeslot, chan); + transceiver->mStates[chan].chanType[timeslot] = (ChannelCombination) corrCode; + transceiver->setModulus(timeslot, chan); sprintf(response,"RSP SETSLOT 0 %d %d",timeslot,corrCode); } else if (match_cmd(command, "SETFORMAT", ¶ms)) { // set TRXD protocol version @@ -905,7 +964,7 @@ sprintf(response, "RSP SETFORMAT %u %u", TRX_DATA_FORMAT_VER, version_recv); } else { LOGCHAN(chan, DTRXCTRL, NOTICE) << "switching to TRXD version " << version_recv; - mVersionTRXD[chan] = version_recv; + transceiver->mVersionTRXD[chan] = version_recv; sprintf(response, "RSP SETFORMAT %u %u", version_recv, version_recv); } } else if (match_cmd(command, "_SETBURSTTODISKMASK", ¶ms)) { @@ -913,7 +972,7 @@ // set a mask which bursts to dump to disk int mask; sscanf(params, "%d", &mask); - mWriteBurstToDiskMask = mask; + transceiver->mWriteBurstToDiskMask = mask; sprintf(response,"RSP _SETBURSTTODISKMASK 0 %d",mask); } else { LOGCHAN(chan, DTRXCTRL, NOTICE) << "bogus command " << command << " on control interface."; @@ -921,9 +980,9 @@ } LOGCHAN(chan, DTRXCTRL, INFO) << "response is '" << response << "'"; - msgLen = write(mCtrlSockets[chan], response, strlen(response) + 1); + msgLen = transceiver->ctrl_sock_send(cmd_to_send, chan); if (msgLen <= 0) { - LOGCHAN(chan, DTRXCTRL, NOTICE) << "mCtrlSockets write(" << mCtrlSockets[chan] << ") failed: " << msgLen; + LOGCHAN(chan, DTRXCTRL, NOTICE) << "mCtrlSockets write(" << transceiver->mCtrlSockets[chan].conn_bfd.fd << ") failed: " << msgLen; return false; } return true; @@ -940,7 +999,7 @@ // check data socket msgLen = read(mDataSockets[chan], buffer, sizeof(buffer)); if (msgLen <= 0) { - LOGCHAN(chan, DTRXDDL, NOTICE) << "mDataSockets read(" << mCtrlSockets[chan] << ") failed: " << msgLen; + LOGCHAN(chan, DTRXDDL, NOTICE) << "mDataSockets read(" << mDataSockets[chan] << ") failed: " << msgLen; return false; } @@ -1179,28 +1238,6 @@ return NULL; } -void *ControlServiceLoopAdapter(TrxChanThParams *params) -{ - char thread_name[16]; - Transceiver *trx = params->trx; - size_t num = params->num; - - free(params); - - snprintf(thread_name, 16, "CtrlService%zu", num); - set_selfthread_name(thread_name); - - while (1) { - if (!trx->driveControl(num)) { - LOGCHAN(num, DTRXCTRL, FATAL) << "Something went wrong in thread " << thread_name << ", requesting stop"; - osmo_signal_dispatch(SS_MAIN, S_MAIN_STOP_REQUIRED, NULL); - break; - } - pthread_testcancel(); - } - return NULL; -} - void *TxUpperLoopAdapter(TrxChanThParams *params) { char thread_name[16]; diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h index ed063dd..76416c3 100644 --- a/Transceiver52M/Transceiver.h +++ b/Transceiver52M/Transceiver.h @@ -33,11 +33,14 @@ extern "C" { #include +#include #include "config_defs.h" } class Transceiver; +extern Transceiver *transceiver; + /** Channel descriptor for transceiver object and channel number pair */ struct TrxChanThParams { Transceiver *trx; @@ -142,12 +145,34 @@ } ChannelCombination; private: + +struct ctrl_msg { + char data[101]; + ctrl_msg() {}; + ctrl_msg(char* src) { + strncpy(data,src,99); + data[100] = 0; + } +}; + +struct ctrl_sock_state { + osmo_fd conn_bfd; + std::deque txmsgqueue; + ~ctrl_sock_state() { + if(conn_bfd.fd > 0) { + close(conn_bfd.fd); + conn_bfd.fd = -1; + osmo_fd_unregister(&conn_bfd); + } + } +}; + int mBasePort; std::string mLocalAddr; std::string mRemoteAddr; std::vector mDataSockets; ///< socket for writing to/reading from GSM core - std::vector mCtrlSockets; ///< socket for writing/reading control commands from GSM core + std::vector mCtrlSockets; ///< socket for writing/reading control commands from GSM core int mClockSocket; ///< socket for writing clock updates to GSM core std::vector mTxPriorityQueues; ///< priority queue of transmit bursts received from GSM core @@ -156,7 +181,6 @@ std::vector mRxServiceLoopThreads; ///< thread to pull bursts into receive FIFO Thread *mRxLowerLoopThread; ///< thread to pull bursts into receive FIFO Thread *mTxLowerLoopThread; ///< thread to push bursts into transmit FIFO - std::vector mControlServiceLoopThreads; ///< thread to process control messages from GSM core std::vector mTxPriorityQueueServiceLoopThreads; ///< thread to process transmit bursts from GSM core GSM::Time mTransmitLatency; ///< latency between basestation clock and transmit deadline clock @@ -193,6 +217,12 @@ /** send messages over the clock socket */ bool writeClockInterface(void); + static int ctrl_sock_cb(struct osmo_fd *bfd, unsigned int flags); + static int ctrl_sock_write(struct osmo_fd *bfd, int chan); + static int ctrl_sock_send(ctrl_msg& m, int chan); + /** drive handling of control messages from GSM core */ + static bool driveControl(struct osmo_fd *bfd, int chan); + int mSPSTx; ///< number of samples per Tx symbol int mSPSRx; ///< number of samples per Rx symbol size_t mChans; @@ -229,9 +259,6 @@ /** drive transmission of GSM bursts */ void driveTxFIFO(); - /** drive handling of control messages from GSM core */ - bool driveControl(size_t chan); - /** drive modulation and sorting of GSM bursts from GSM core @return true if a burst was transferred successfully @@ -242,7 +269,7 @@ friend void *TxUpperLoopAdapter(TrxChanThParams *params); friend void *RxLowerLoopAdapter(Transceiver *transceiver); friend void *TxLowerLoopAdapter(Transceiver *transceiver); - friend void *ControlServiceLoopAdapter(TrxChanThParams *params); + void reset(); @@ -256,8 +283,5 @@ void *RxLowerLoopAdapter(Transceiver *transceiver); void *TxLowerLoopAdapter(Transceiver *transceiver); -/** control message handler thread loop */ -void *ControlServiceLoopAdapter(TrxChanThParams *params); - /** transmit queueing thread loop */ void *TxUpperLoopAdapter(TrxChanThParams *params); diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index 0ad60ef..de504c6 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -79,7 +79,7 @@ static RadioDevice *usrp; static RadioInterface *radio; -static Transceiver *transceiver; + /* Create radio interface * The interface consists of sample rate changes, frequency shifts, -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 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 Sun Apr 12 01:13:19 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 12 Apr 2020 01:13:19 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl thread In-Reply-To: References: Message-ID: Hoernchen has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-trx/+/17805 ) Change subject: transceiver: get rid of the ctrl thread ...................................................................... transceiver: get rid of the ctrl thread There is no need to have n threads handle n ctrl sockets, since they all will immediately respond to commands, so handle them from the existing main osmo select loop. Care must be taken to ensure that calls from within the command handler do not block, or at least don't block too long, which currently is the case. Change-Id: I642a34451e1825eafecf71a902df916ccee7944c --- M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h M Transceiver52M/osmo-trx.cpp 3 files changed, 160 insertions(+), 99 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/05/17805/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-CC: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Apr 12 02:05:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 12 Apr 2020 02:05:27 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl thread In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17805 ) Change subject: transceiver: get rid of the ctrl thread ...................................................................... Patch Set 2: Code-Review-1 (19 comments) https://gerrit.osmocom.org/c/osmo-trx/+/17805/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-trx/+/17805/2//COMMIT_MSG at 7 PS2, Line 7: transceiver: get rid of the ctrl thread ctrl thread(s) https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.h File Transceiver52M/Transceiver.h: https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.h at 153 PS2, Line 153: strncpy(data,src,99); probably OSMO_STRLCPY_ARRAY() ? Also leave spaes after each comma. Also, I'm wondering why do we want a struct holding only a char array. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.h at 160 PS2, Line 160: std::deque txmsgqueue; we have osmo_wqueue for that, check osmocom/core/write_queue.h, there's plenty of similar code for osmo_fd. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.h at 272 PS2, Line 272: This empty line can be dropped. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at a161 PS2, Line 161: if (mCtrlSockets[i] >= 0) So we don't clean control sockets anymore? https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 167 PS2, Line 167: if (flags & BSC_FD_READ) required version for osmo-trx most probably allready contains OSMO_FD_READ and OSMO_FD_WRITE, so better use those. (BSC_FD_READ/WRITE are deprecated and only kept for some old code). https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 170 PS2, Line 170: return rc; aren't you misisng something like osmo_signal_dispatch(...) here to request stop? And then I'd osmo_fd_unregister() since we are gonna exit anyway. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 206 PS2, Line 206: mCtrlSockets.resize(mChans); open question: how do we now during destructor which ofds are valid if you don't set all ofds to -1 here? https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 221 PS2, Line 221: mLocalAddr.c_str(), mBasePort, Non related and not the type of padding we use in osmocom in general, drop it. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 233 PS2, Line 233: int rv = osmo_sock_init2_ofd(&mCtrlSockets[i].conn_bfd, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, if possible define variables at the start of the function (or block) https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 240 PS2, Line 240: mCtrlSockets[i].conn_bfd.cb = ctrl_sock_cb; Preferred way to set these: osmo_fd_setup() https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 246 PS2, Line 246: OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT); wrond indentation, and this chang eis anyway not needed, drop it. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 247 PS2, Line 247: if (mDataSockets[i] < 0) Good catch, but this is actually an unrelated change. Please submit it as a separate fix prior to this patch. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 250 PS2, Line 250: if (i && filler == FILLER_DUMMY) This was added here but it's still a few lines below (263), so probably unintended. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 762 PS2, Line 762: conn_bfd = &transceiver->mCtrlSockets[chan].conn_bfd; Why not make the function non-static so we have direct access to the object? https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 764 PS2, Line 764: if (conn_bfd->fd <= 0) { How could this happen? do you have a scenario? Otherwise at most use OSMO_ASSERT. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 779 PS2, Line 779: while (transceiver->mCtrlSockets[chan].txmsgqueue.size()) { check osmo_wqueue. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 817 PS2, Line 817: msgLen = read(bfd->fd, buffer, sizeof(cmd_received.data)); I'd keep a simple char* buffer or switch to msgb rather tan adding a struct here. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 840 PS2, Line 840: transceiver->stop(); Let's make it non-static to avoid all these changes. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 12 Apr 2020 02:05: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 Sun Apr 12 06:51:43 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 12 Apr 2020 06:51:43 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl thread In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17805 ) Change subject: transceiver: get rid of the ctrl thread ...................................................................... Patch Set 2: (11 comments) https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.h File Transceiver52M/Transceiver.h: https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.h at 153 PS2, Line 153: strncpy(data,src,99); > probably OSMO_STRLCPY_ARRAY() ? Also leave spaes after each comma. [?] wrapping due to queue container https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.h at 160 PS2, Line 160: std::deque txmsgqueue; > we have osmo_wqueue for that, check osmocom/core/write_queue. [?] can't we just use convenient stl containers instead of arcane stuff if we do c++? https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at a161 PS2, Line 161: if (mCtrlSockets[i] >= 0) > So we don't clean control sockets anymore? no, because this is c++, and resources can clean up themselves upon destruction.. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 170 PS2, Line 170: return rc; > aren't you misisng something like osmo_signal_dispatch(... [?] only a signal is missing, unregister happens upon destruction. as it turns out the return value of our select cb is never used.... https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 206 PS2, Line 206: mCtrlSockets.resize(mChans); > open question: how do we now during destructor which ofds are valid if you don't set all ofds to -1 [?] that got lost in the constructor. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 221 PS2, Line 221: mLocalAddr.c_str(), mBasePort, > Non related and not the type of padding we use in osmocom in general, drop it. Can't we agree on one way, instead of leaving files in mixed states? This got changed while replacing my own tabs with spaces, but someone else previously committed a bunch of random tab spacing changes that got changed as well.... https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 250 PS2, Line 250: if (i && filler == FILLER_DUMMY) > This was added here but it's still a few lines below (263), so probably unintended. indeed, the one at the bottom has to go https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 762 PS2, Line 762: conn_bfd = &transceiver->mCtrlSockets[chan].conn_bfd; > Why not make the function non-static so we have direct access to the object? right, forgot about that one after rearranging the code. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 764 PS2, Line 764: if (conn_bfd->fd <= 0) { > How could this happen? do you have a scenario? Otherwise at most use OSMO_ASSERT. having a transceiver and a valid channel id does not imply a valid fd, it might be closed, or not open yet - although the way this is currently used makes this impossible. I've had a previous version with a single ctrl thread and more complicated issues. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 817 PS2, Line 817: msgLen = read(bfd->fd, buffer, sizeof(cmd_received.data)); > I'd keep a simple char* buffer or switch to msgb rather tan adding a struct here. see header for reason, a simple struct wrap of a char array is still far less complicated than the whole msgb cruft that adds nothing of value. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 840 PS2, Line 840: transceiver->stop(); > Let's make it non-static to avoid all these changes. this is c++ and we can't have callbacks from somewhere for member functions, where would they get their this from? this is called from the socket cb. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 12 Apr 2020 06:51:43 +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 Apr 12 09:10:45 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 12 Apr 2020 09:10:45 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when not loglevel is set In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17604 ) Change subject: logging: use LOGL_NOTICE when not loglevel is set ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17604/2/src/logging.c File src/logging.c: https://gerrit.osmocom.org/c/libosmocore/+/17604/2/src/logging.c at 1064 PS2, Line 1064: *(uint8_t*) (& > I think the only proper way t osolve it is to copy the entire 'const' array of 'cat' into dynamically allocated memory, and then make modifications there. > we should dynamically allocate memory for 'cat' here in this function, then copy over the contents of 'cat' from osmo_log_info [...] Right, that's exactly how we do this. > [...] and make the changes there. When done we assign osmo_log_info->cat with the location of the copy we just created. Is this correct? Vice versa. In the current code (with this patch applied) we allocate memory and immediately assign it to osmo_log_info->cat (line 1046), and then we make changes by casting const pointers to non-const. I am fine with proposed patch, but ideally we should use a temporary non-const pointer to make changes, and then assign it to osmo_log_info->cat (as was proposed in a comment near line 1046). -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Gerrit-Change-Number: 17604 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 12 Apr 2020 09:10:45 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: dexter Comment-In-Reply-To: fixeria 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 Apr 12 10:02:29 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 12 Apr 2020 10:02:29 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: Change default for clock_advance to 3 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17766 ) Change subject: osmo-bts-trx: Change default for clock_advance to 3 ...................................................................... Patch Set 1: I did a quick test, and it works for me: 0% packet loss, ping delay is around 500ms (compared to 800-1000). > I think there is a big potential for any such change to break existing setups that we are not familiar with (particularly slow CPU, or whatever). > What we need to do is to create a situation where any underruns due to too low fn-advance are clearly identified and brought to the attention of the user in a way that he knows exactly what he needs to do. I am absolutely agree with Harald. It would also be nice if osmo-bts-trx could somehow measure the delay and pick the right fn-advance value at run-time. > As (I think) only osmo-trx currently knows about this, I would suggest to [...] As far as I remember, osmo-trx even has a rate counter for such events (device:tx_underruns?). > * introduce a wahy onw osmo-trx can report downlink underruns via TRXC See https://osmocom.org/issues/4006#note-33. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7da3d0948f38e12342fb714b29f8edc5e9d0933d Gerrit-Change-Number: 17766 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 12 Apr 2020 10:02: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 Sun Apr 12 14:53:01 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 12 Apr 2020 14:53:01 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl thread In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17805 ) Change subject: transceiver: get rid of the ctrl thread ...................................................................... Patch Set 2: (4 comments) https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.h File Transceiver52M/Transceiver.h: https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.h at 149 PS2, Line 149: ctrl_msg Can we just use std::string instead? https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 840 PS2, Line 840: transceiver->stop(); > this is c++ and we can't have callbacks from somewhere for member functions, where would they get th [?] Do we have to keep it as a member function then? https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 985 PS2, Line 985: conn_bfd.fd This change looks unrelated. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 1002 PS2, Line 1002: mDataSockets This should also be submitted as a separate change. Good catch! -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 12 Apr 2020 14:53:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: Hoernchen Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Apr 12 14:59:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 12 Apr 2020 14:59:04 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl thread In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17805 ) Change subject: transceiver: get rid of the ctrl thread ...................................................................... Patch Set 2: (5 comments) https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.h File Transceiver52M/Transceiver.h: https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.h at 160 PS2, Line 160: std::deque txmsgqueue; > can't we just use convenient stl containers instead of arcane stuff if we do c++? osmo_wqueue is also convenient and matches more what we do in most CNI code where C is used. Not a hard blocker though. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at a161 PS2, Line 161: if (mCtrlSockets[i] >= 0) > no, because this is c++, and resources can clean up themselves upon destruction.. Ah I see now it's done in struct ctrl_sock_state destructor, ack. https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 817 PS2, Line 817: msgLen = read(bfd->fd, buffer, sizeof(cmd_received.data)); > see header for reason, a simple struct wrap of a char array is still far less complicated than the w [?] Ack https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 820 PS2, Line 820: osmo_signal_dispatch(SS_MAIN, S_MAIN_STOP_REQUIRED, NULL); This should probably go into Transceiver::ctrl_sock_cb() https://gerrit.osmocom.org/c/osmo-trx/+/17805/2/Transceiver52M/Transceiver.cpp at 840 PS2, Line 840: transceiver->stop(); > this is c++ and we can't have callbacks from somewhere for member functions, where would they get th [?] Transceiver::driveControl() is not a callback function, in line 168 do transceiver->driveControl() and you avoid changing like 50 lines in this function. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 12 Apr 2020 14:59:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: Hoernchen Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Apr 12 22:19:01 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 12 Apr 2020 22:19:01 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl thread In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 to look at the new patch set (#3). Change subject: transceiver: get rid of the ctrl thread ...................................................................... transceiver: get rid of the ctrl thread There is no need to have n threads handle n ctrl sockets, since they all will immediately respond to commands, so handle them from the existing main osmo select loop. Care must be taken to ensure that calls from within the command handler do not block, or at least don't block too long, which currently is the case. Change-Id: I642a34451e1825eafecf71a902df916ccee7944c --- M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h M Transceiver52M/osmo-trx.cpp 3 files changed, 129 insertions(+), 73 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/05/17805/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen 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 Sun Apr 12 22:19:02 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 12 Apr 2020 22:19:02 +0000 Subject: Change in osmo-trx[master]: trasnceiver: fix debug prints References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/17806 ) Change subject: trasnceiver: fix debug prints ...................................................................... trasnceiver: fix debug prints Change-Id: I03800ae094c35c306fa4ca29f84e71d958ffdbdc --- M Transceiver52M/Transceiver.cpp 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/06/17806/1 diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index dc218d7..36cfa7d 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -232,7 +232,7 @@ mLocalAddr.c_str(), d_srcport, mRemoteAddr.c_str(), d_dstport, OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT); - if (mCtrlSockets[i] < 0) + if (mDataSockets[i] < 0) return false; } @@ -940,7 +940,7 @@ // check data socket msgLen = read(mDataSockets[chan], buffer, sizeof(buffer)); if (msgLen <= 0) { - LOGCHAN(chan, DTRXDDL, NOTICE) << "mDataSockets read(" << mCtrlSockets[chan] << ") failed: " << msgLen; + LOGCHAN(chan, DTRXDDL, NOTICE) << "mDataSockets read(" << mDataSockets[chan] << ") failed: " << msgLen; return false; } -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I03800ae094c35c306fa4ca29f84e71d958ffdbdc Gerrit-Change-Number: 17806 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 Apr 13 09:47:32 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 13 Apr 2020 09:47:32 +0000 Subject: Change in osmo-trx[master]: trasnceiver: fix debug prints In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17806 ) Change subject: trasnceiver: fix debug prints ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/17806/1/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/17806/1/Transceiver52M/Transceiver.cpp at 235 PS1, Line 235: mDataSockets This one is not a debug print, but ok. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I03800ae094c35c306fa4ca29f84e71d958ffdbdc Gerrit-Change-Number: 17806 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 13 Apr 2020 09:47:32 +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 Apr 13 13:53:29 2020 From: gerrit-no-reply at lists.osmocom.org (Rafael Diniz) Date: Mon, 13 Apr 2020 13:53:29 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Increase max_cell_size as manufacturer recommend... References: Message-ID: Rafael Diniz has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17807 ) Change subject: osmo-bts-litecell15: Increase max_cell_size as manufacturer recommendation. ...................................................................... osmo-bts-litecell15: Increase max_cell_size as manufacturer recommendation. Change-Id: I05b9021580f619dfddb9418f6f78164e99e5f6af --- M src/osmo-bts-litecell15/l1_if.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/07/17807/1 diff --git a/src/osmo-bts-litecell15/l1_if.c b/src/osmo-bts-litecell15/l1_if.c index abf48bc..7582682 100644 --- a/src/osmo-bts-litecell15/l1_if.c +++ b/src/osmo-bts-litecell15/l1_if.c @@ -1299,8 +1299,9 @@ sysp->u.activateRfReq.u8UnusedTsMode = 0; sysp->u.activateRfReq.u8McCorrMode = 0; - /* maximum cell size in quarter-bits, 90 == 12.456 km */ - sysp->u.activateRfReq.u8MaxCellSize = 90; + /* maximum cell size in quarter-bits, eg. 90 == 12.456 km */ + /* This is the default value in osmo-bts's manufacturer branch */ + sysp->u.activateRfReq.u8MaxCellSize = 166; } else { sysp->id = Litecell15_PrimId_DeactivateRfReq; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I05b9021580f619dfddb9418f6f78164e99e5f6af Gerrit-Change-Number: 17807 Gerrit-PatchSet: 1 Gerrit-Owner: Rafael Diniz Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 13 14:05:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 13 Apr 2020 14:05:17 +0000 Subject: Change in osmo-trx[master]: trasnceiver: fix debug prints In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17806 ) Change subject: trasnceiver: fix debug prints ...................................................................... Patch Set 1: Code-Review+1 Agree with fixeria, the commit message is misleading -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I03800ae094c35c306fa4ca29f84e71d958ffdbdc Gerrit-Change-Number: 17806 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 13 Apr 2020 14:05: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 Apr 13 14:20:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 13 Apr 2020 14:20:49 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl thread In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17805 ) Change subject: transceiver: get rid of the ctrl thread ...................................................................... Patch Set 3: (5 comments) https://gerrit.osmocom.org/c/osmo-trx/+/17805/3/Transceiver52M/Transceiver.h File Transceiver52M/Transceiver.h: https://gerrit.osmocom.org/c/osmo-trx/+/17805/3/Transceiver52M/Transceiver.h at 153 PS3, Line 153: strncpy(data,src,99); Simply use OSMO_STRLCPY_ARRAY() https://gerrit.osmocom.org/c/osmo-trx/+/17805/3/Transceiver52M/Transceiver.h at 275 PS3, Line 275: This new empty line can be dropped. https://gerrit.osmocom.org/c/osmo-trx/+/17805/3/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/17805/3/Transceiver52M/Transceiver.cpp at 239 PS3, Line 239: OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT); wrong indentation https://gerrit.osmocom.org/c/osmo-trx/+/17805/3/Transceiver52M/Transceiver.cpp at 783 PS3, Line 783: rc = write(s.conn_bfd.fd, m.data, strlen(m.data) + 1); not urgent, but looks like we can cache strlen(m.data) in m during m constructor (return of OSMO_STRLCPY_ARRAY) https://gerrit.osmocom.org/c/osmo-trx/+/17805/3/Transceiver52M/osmo-trx.cpp File Transceiver52M/osmo-trx.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/17805/3/Transceiver52M/osmo-trx.cpp at 82 PS3, Line 82: This new empty line can be dropped. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 13 Apr 2020 14:20: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 Mon Apr 13 14:22:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 13 Apr 2020 14:22:45 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Increase max_cell_size as manufacturer recommend... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17807 ) Change subject: osmo-bts-litecell15: Increase max_cell_size as manufacturer recommendation. ...................................................................... Patch Set 1: Code-Review+1 Would be great if you can specify more information in the commit message from where did you take that "recommendation". Like repo, commit hash, rationale, etc. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I05b9021580f619dfddb9418f6f78164e99e5f6af Gerrit-Change-Number: 17807 Gerrit-PatchSet: 1 Gerrit-Owner: Rafael Diniz Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 13 Apr 2020 14: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 Mon Apr 13 14:35:45 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Mon, 13 Apr 2020 14:35:45 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Increase max_cell_size as manufacturer recommend... In-Reply-To: References: Message-ID: rafael2k has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17807 ) Change subject: osmo-bts-litecell15: Increase max_cell_size as manufacturer recommendation. ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > Would be great if you can specify more information in the commit message from where did you take that "recommendation". Like repo, commit hash, rationale, etc. I can do this, no problem. I see the nuran's LC15 osmo-bts branch/fork (https://gitlab.com/nrw_noa/osmo-bts) also exposes support for this parameter (and others which will come in next push requests) to config/vty. Should I do the same? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I05b9021580f619dfddb9418f6f78164e99e5f6af Gerrit-Change-Number: 17807 Gerrit-PatchSet: 1 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-Comment-Date: Mon, 13 Apr 2020 14:35: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 Mon Apr 13 14:39:35 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Mon, 13 Apr 2020 14:39:35 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Increase max_cell_size as manufacturer recommend... In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/17807 to look at the new patch set (#2). Change subject: osmo-bts-litecell15: Increase max_cell_size as manufacturer recommendation in Nuran's osmo-bts branch - https://gitlab.com/nrw_noa/osmo-bts. Previous hardcoded u8MaxCellSize was 90, which provided a ~12km maximum cell size, which is clearly not the max cell size of a real Litecell 1.5. ...................................................................... osmo-bts-litecell15: Increase max_cell_size as manufacturer recommendation in Nuran's osmo-bts branch - https://gitlab.com/nrw_noa/osmo-bts. Previous hardcoded u8MaxCellSize was 90, which provided a ~12km maximum cell size, which is clearly not the max cell size of a real Litecell 1.5. Change-Id: I05b9021580f619dfddb9418f6f78164e99e5f6af --- M src/osmo-bts-litecell15/l1_if.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/07/17807/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I05b9021580f619dfddb9418f6f78164e99e5f6af Gerrit-Change-Number: 17807 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 13 14:46:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 13 Apr 2020 14:46:24 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Increase max_cell_size as manufacturer recommend... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17807 ) Change subject: osmo-bts-litecell15: Increase max_cell_size as manufacturer recommendation in Nuran's osmo-bts branch - https://gitlab.com/nrw_noa/osmo-bts. Previous hardcoded u8MaxCellSize was 90, which provided a ~12km maximum cell size, which is clearly not the max cell size of a real Litecell 1.5. ...................................................................... Patch Set 2: (1 comment) Regarding your previous comment: It really depends on your needs and time to spend. You can try simply to git cherry-pick the commit if it's small. This was it's easier to cross-check both repos. https://gerrit.osmocom.org/c/osmo-bts/+/17807/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/17807/2//COMMIT_MSG at 7 PS2, Line 7: osmo-bts-litecell15: Increase max_cell_size as manufacturer recommendation in Nuran's osmo-bts branch - https://gitlab.com/nrw_noa/osmo-bts. Previous hardcoded u8MaxCellSize was 90, which provided a ~12km maximum cell size, which is clearly not the max cell size of a real Litecell 1.5. break first line to differentiate commit summary from description -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I05b9021580f619dfddb9418f6f78164e99e5f6af Gerrit-Change-Number: 17807 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-Comment-Date: Mon, 13 Apr 2020 14:46: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 Mon Apr 13 14:55:15 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Mon, 13 Apr 2020 14:55:15 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Increase max_cell_size. In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/17807 to look at the new patch set (#3). Change subject: osmo-bts-litecell15: Increase max_cell_size. ...................................................................... osmo-bts-litecell15: Increase max_cell_size. Nuran's osmo-bts branch - https://gitlab.com/nrw_noa/osmo-bts use 166 as default. Previous hardcoded u8MaxCellSize was 90, which provided a ~12km maximum cell size, which is clearly not the max cell size of a real Litecell 1.5. Change-Id: I05b9021580f619dfddb9418f6f78164e99e5f6af --- M src/osmo-bts-litecell15/l1_if.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/07/17807/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I05b9021580f619dfddb9418f6f78164e99e5f6af Gerrit-Change-Number: 17807 Gerrit-PatchSet: 3 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 13 15:26:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 13 Apr 2020 15:26:35 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Increase max_cell_size. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17807 ) Change subject: osmo-bts-litecell15: Increase max_cell_size. ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I05b9021580f619dfddb9418f6f78164e99e5f6af Gerrit-Change-Number: 17807 Gerrit-PatchSet: 3 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-Comment-Date: Mon, 13 Apr 2020 15:26: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 Apr 13 16:23:48 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 13 Apr 2020 16:23:48 +0000 Subject: Change in osmo-trx[master]: transceiver: check the right vector In-Reply-To: References: Message-ID: Hello pespin, fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/17806 to look at the new patch set (#2). Change subject: transceiver: check the right vector ...................................................................... transceiver: check the right vector Change-Id: I03800ae094c35c306fa4ca29f84e71d958ffdbdc --- M Transceiver52M/Transceiver.cpp 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/06/17806/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I03800ae094c35c306fa4ca29f84e71d958ffdbdc Gerrit-Change-Number: 17806 Gerrit-PatchSet: 2 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 Mon Apr 13 16:23:48 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 13 Apr 2020 16:23:48 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl threads In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 to look at the new patch set (#4). Change subject: transceiver: get rid of the ctrl threads ...................................................................... transceiver: get rid of the ctrl threads There is no need to have n threads handle n ctrl sockets, since they all will immediately respond to commands, so handle them from the existing main osmo select loop. Care must be taken to ensure that calls from within the command handler do not block, or at least don't block too long, which currently is the case. Change-Id: I642a34451e1825eafecf71a902df916ccee7944c --- M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h M Transceiver52M/osmo-trx.cpp 3 files changed, 122 insertions(+), 72 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/05/17805/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen 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 Mon Apr 13 16:27:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 13 Apr 2020 16:27:57 +0000 Subject: Change in osmo-trx[master]: transceiver: check the right vector In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17806 ) Change subject: transceiver: check the right vector ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I03800ae094c35c306fa4ca29f84e71d958ffdbdc Gerrit-Change-Number: 17806 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 13 Apr 2020 16:27: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 Apr 13 16:37:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 13 Apr 2020 16:37:14 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl threads In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17805 ) Change subject: transceiver: get rid of the ctrl threads ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/17805/4/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/17805/4/Transceiver52M/Transceiver.cpp at 762 PS4, Line 762: s.txmsgqueue.push_back(m); is m copied/cloned where? otherwise it will be destroyed when function ctrl_sock_handle_rx() exits (since they are stack allocated. and ctrl_sock_write() will fire afterwards in another mainloop iteration. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 13 Apr 2020 16:37: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 Apr 13 16:39:21 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 13 Apr 2020 16:39:21 +0000 Subject: Change in osmo-trx[master]: transceiver: check the right vector In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17806 ) Change subject: transceiver: check the right vector ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I03800ae094c35c306fa4ca29f84e71d958ffdbdc Gerrit-Change-Number: 17806 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 13 Apr 2020 16:39: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 Apr 13 16:59:57 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 13 Apr 2020 16:59:57 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl threads In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17805 ) Change subject: transceiver: get rid of the ctrl threads ...................................................................... Patch Set 4: (3 comments) https://gerrit.osmocom.org/c/osmo-trx/+/17805/4/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/17805/4/Transceiver52M/Transceiver.cpp at 759 PS4, Line 759: Just noticed: other functions use 2 spaces as tab, while the new code uses 4. I know this is rather cosmetic and is not critical at all, but still would be good to keep the coding style consistent. https://gerrit.osmocom.org/c/osmo-trx/+/17805/4/Transceiver52M/Transceiver.cpp at 762 PS4, Line 762: s.txmsgqueue.push_back(m); > is m copied/cloned where? otherwise it will be destroyed when function ctrl_sock_handle_rx() exits ( [?] Good question. We may need std::move() here. https://gerrit.osmocom.org/c/osmo-trx/+/17805/4/Transceiver52M/Transceiver.cpp at 765 PS4, Line 765: return I would remove this meaningless 'return'. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 13 Apr 2020 16:59:57 +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 Apr 13 18:51:39 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 13 Apr 2020 18:51:39 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl threads In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 to look at the new patch set (#5). Change subject: transceiver: get rid of the ctrl threads ...................................................................... transceiver: get rid of the ctrl threads There is no need to have n threads handle n ctrl sockets, since they all will immediately respond to commands, so handle them from the existing main osmo select loop. Care must be taken to ensure that calls from within the command handler do not block, or at least don't block too long, which currently is the case. Change-Id: I642a34451e1825eafecf71a902df916ccee7944c --- M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h M Transceiver52M/osmo-trx.cpp 3 files changed, 120 insertions(+), 72 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/05/17805/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen 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 Mon Apr 13 19:57:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 13 Apr 2020 19:57:27 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl threads In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17805 ) Change subject: transceiver: get rid of the ctrl threads ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/17805/5/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/17805/5/Transceiver52M/Transceiver.cpp at 762 PS5, Line 762: s.txmsgqueue.push_back(m); @Hoernchen can you confirm this is copied? -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 13 Apr 2020 19:57: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 Mon Apr 13 21:13:48 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 13 Apr 2020 21:13:48 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Increase max_cell_size. In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17807 ) Change subject: osmo-bts-litecell15: Increase max_cell_size. ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/c/osmo-bts/+/17807/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/17807/3//COMMIT_MSG at 9 PS3, Line 9: Nuran's osmo-bts branch - https://gitlab.com/nrw_noa/osmo-bts use 166 as default. Previous hardcoded u8MaxCellSize was 90, which provided a ~12km maximum cell size, which is clearly not the max cell size of a real Litecell 1.5. I don't usually see long lines like this in commit messages. Can you configure your editor to line break? https://gerrit.osmocom.org/c/osmo-bts/+/17807/2/src/osmo-bts-litecell15/l1_if.c File src/osmo-bts-litecell15/l1_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/17807/2/src/osmo-bts-litecell15/l1_if.c at 1303 PS2, Line 1303: /* This is the default value in osmo-bts's manufacturer branch */ Isn't osmo-bts's manufacturer confusing? Let's be more specific. https://gerrit.osmocom.org/c/osmo-bts/+/17807/2/src/osmo-bts-litecell15/l1_if.c at 1304 PS2, Line 1304: sysp->u.activateRfReq.u8MaxCellSize = 166; This is fine, but why not actually implement the vty command as in the Nuran branch once and for all? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I05b9021580f619dfddb9418f6f78164e99e5f6af Gerrit-Change-Number: 17807 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Mon, 13 Apr 2020 21:13: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 Mon Apr 13 21:15:16 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 13 Apr 2020 21:15:16 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl threads In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17805 ) Change subject: transceiver: get rid of the ctrl threads ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/17805/5/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/17805/5/Transceiver52M/Transceiver.cpp at 762 PS5, Line 762: s.txmsgqueue.push_back(m); > @Hoernchen can you confirm this is copied? yes, the default compiler generated copy constructor for objects in c++ creates shallow (= bit exact) copies of objects, so the actual object is owned by the queue, and can therefore be automatically destructed upon destruction of the queue, too. it's just like assigning a struct that contains a char array (not a pointer, the array itself!) to another struct with = in C, you get a 1:1 copy of the whole struct, including the array. the fact that the original (temporary) object that gets copied resides on the stack of the caller is therefore not important. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 13 Apr 2020 21:15: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 admin at opensuse.org Tue Apr 14 01:34:45 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 01:34:45 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gsm-manuals in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e951352568ee_3fc92ad0c1164600837548@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gsm-manuals/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-gsm-manuals failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gsm-manuals Last lines of build log: [ 247s] [396/426] installing texlive-latex-base-2020.20200329-2 [ 247s] Processing triggers for man-db (2.9.1-1) ... [ 248s] Processing triggers for tex-common (6.13) ... [ 248s] Running mktexlsr. This may take some time... done. [ 249s] Running updmap-sys. This may take some time... done. [ 249s] Running mktexlsr /var/lib/texmf ... done. [ 249s] Building format(s) --all. [ 258s] This may take some time... done. [ 258s] [397/426] installing texlive-luatex-2020.20200329-2 [ 259s] Processing triggers for tex-common (6.13) ... [ 260s] Running mktexlsr. This may take some time... done. [ 260s] Building format(s) --all. [ 270s] This may take some time... [ 270s] fmtutil failed. Output has been stored in [ 270s] /tmp/fmtutil.h7w13kAM [ 270s] Please include this file if you report a bug. [ 270s] dpkg: error processing package tex-common (--install): [ 270s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 270s] Processing triggers for man-db (2.9.1-1) ... [ 270s] Errors were encountered while processing: [ 270s] tex-common [ 270s] exit ... [ 270s] ### VM INTERACTION START ### [ 274s] [ 258.027416] sysrq: SysRq : Power Off [ 274s] [ 258.032130] reboot: Power down [ 274s] ### VM INTERACTION END ### [ 274s] [ 274s] lamb05 failed "build osmo-gsm-manuals-dev_0.3.0.7.fef7.dsc" at Tue Apr 14 01:34:41 UTC 2020. [ 274s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 01:47:19 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 01:47:19 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e95163d81d26_3fc92ad0c116460084092e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-ggsn failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: [ 174s] [416/447] installing texlive-latex-base-2020.20200329-2 [ 174s] Processing triggers for man-db (2.9.1-1) ... [ 175s] Processing triggers for tex-common (6.13) ... [ 175s] Running mktexlsr. This may take some time... done. [ 175s] Running updmap-sys. This may take some time... done. [ 175s] Running mktexlsr /var/lib/texmf ... done. [ 175s] Building format(s) --all. [ 185s] This may take some time... done. [ 185s] [417/447] installing texlive-luatex-2020.20200329-2 [ 186s] Processing triggers for tex-common (6.13) ... [ 186s] Running mktexlsr. This may take some time... done. [ 186s] Building format(s) --all. [ 196s] This may take some time... [ 196s] fmtutil failed. Output has been stored in [ 196s] /tmp/fmtutil.aHVIFEqR [ 196s] Please include this file if you report a bug. [ 196s] dpkg: error processing package tex-common (--install): [ 196s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 196s] Processing triggers for man-db (2.9.1-1) ... [ 196s] Errors were encountered while processing: [ 196s] tex-common [ 196s] exit ... [ 196s] ### VM INTERACTION START ### [ 199s] [ 184.926636] sysrq: SysRq : Power Off [ 199s] [ 184.934698] reboot: Power down [ 199s] ### VM INTERACTION END ### [ 199s] [ 199s] lamb69 failed "build osmo-ggsn_1.5.0.6.90d1.dsc" at Tue Apr 14 01:47:15 UTC 2020. [ 199s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 01:48:11 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 01:48:11 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e951679d6d7d_3fc92ad0c11646008412c8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 207s] [568/619] installing texlive-latex-base-2020.20200329-2 [ 207s] Processing triggers for man-db (2.9.1-1) ... [ 208s] Processing triggers for tex-common (6.13) ... [ 208s] Running mktexlsr. This may take some time... done. [ 208s] Running updmap-sys. This may take some time... done. [ 208s] Running mktexlsr /var/lib/texmf ... done. [ 209s] Building format(s) --all. [ 218s] This may take some time... done. [ 218s] [569/619] installing texlive-luatex-2020.20200329-2 [ 219s] Processing triggers for tex-common (6.13) ... [ 219s] Running mktexlsr. This may take some time... done. [ 219s] Building format(s) --all. [ 228s] This may take some time... [ 228s] fmtutil failed. Output has been stored in [ 228s] /tmp/fmtutil.uDLrHi2e [ 228s] Please include this file if you report a bug. [ 228s] dpkg: error processing package tex-common (--install): [ 228s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 228s] Processing triggers for man-db (2.9.1-1) ... [ 229s] Errors were encountered while processing: [ 229s] tex-common [ 229s] exit ... [ 229s] ### VM INTERACTION START ### [ 232s] [ 215.512887] sysrq: SysRq : Power Off [ 232s] [ 215.519203] reboot: Power down [ 232s] ### VM INTERACTION END ### [ 232s] [ 232s] lamb75 failed "build osmo-trx_1.2.0.24.cc97.dsc" at Tue Apr 14 01:47:57 UTC 2020. [ 232s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 01:48:28 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 01:48:28 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e95167b998c1_3fc92ad0c11646008413e1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-pcu failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 231s] [414/445] installing texlive-latex-base-2020.20200329-2 [ 232s] Processing triggers for man-db (2.9.1-1) ... [ 232s] Processing triggers for tex-common (6.13) ... [ 232s] Running mktexlsr. This may take some time... done. [ 233s] Running updmap-sys. This may take some time... done. [ 233s] Running mktexlsr /var/lib/texmf ... done. [ 233s] Building format(s) --all. [ 244s] This may take some time... done. [ 244s] [415/445] installing texlive-luatex-2020.20200329-2 [ 245s] Processing triggers for tex-common (6.13) ... [ 245s] Running mktexlsr. This may take some time... done. [ 245s] Building format(s) --all. [ 256s] This may take some time... [ 256s] fmtutil failed. Output has been stored in [ 256s] /tmp/fmtutil.vuZ3Cj64 [ 256s] Please include this file if you report a bug. [ 256s] dpkg: error processing package tex-common (--install): [ 256s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 256s] Processing triggers for man-db (2.9.1-1) ... [ 257s] Errors were encountered while processing: [ 257s] tex-common [ 257s] exit ... [ 257s] ### VM INTERACTION START ### [ 260s] [ 241.316542] sysrq: SysRq : Power Off [ 260s] [ 241.322365] reboot: Power down [ 260s] ### VM INTERACTION END ### [ 260s] [ 260s] lamb08 failed "build osmo-pcu_0.8.0.111.b30f.dsc" at Tue Apr 14 01:48:19 UTC 2020. [ 260s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 01:55:19 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 01:55:19 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e95181e9a975_3fc92ad0c116460084328d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-bts failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 175s] [425/456] installing texlive-latex-base-2020.20200329-2 [ 175s] Processing triggers for man-db (2.9.1-1) ... [ 176s] Processing triggers for tex-common (6.13) ... [ 176s] Running mktexlsr. This may take some time... done. [ 176s] Running updmap-sys. This may take some time... done. [ 176s] Running mktexlsr /var/lib/texmf ... done. [ 176s] Building format(s) --all. [ 186s] This may take some time... done. [ 186s] [426/456] installing texlive-luatex-2020.20200329-2 [ 187s] Processing triggers for tex-common (6.13) ... [ 187s] Running mktexlsr. This may take some time... done. [ 187s] Building format(s) --all. [ 197s] This may take some time... [ 197s] fmtutil failed. Output has been stored in [ 197s] /tmp/fmtutil.ZCjmdX7a [ 197s] Please include this file if you report a bug. [ 197s] dpkg: error processing package tex-common (--install): [ 197s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 197s] Processing triggers for man-db (2.9.1-1) ... [ 198s] Errors were encountered while processing: [ 198s] tex-common [ 198s] exit ... [ 198s] ### VM INTERACTION START ### [ 201s] [ 185.444702] sysrq: SysRq : Power Off [ 201s] [ 185.450245] reboot: Power down [ 201s] ### VM INTERACTION END ### [ 201s] [ 201s] lamb06 failed "build osmo-bts_1.2.0.34.7f18.dsc" at Tue Apr 14 01:55:04 UTC 2020. [ 201s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 01:56:11 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 01:56:11 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e95185d450bd_3fc92ad0c116460084395d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 222s] [460/495] installing texlive-latex-base-2020.20200329-2 [ 223s] Processing triggers for man-db (2.9.1-1) ... [ 223s] Processing triggers for tex-common (6.13) ... [ 223s] Running mktexlsr. This may take some time... done. [ 224s] Running updmap-sys. This may take some time... done. [ 224s] Running mktexlsr /var/lib/texmf ... done. [ 224s] Building format(s) --all. [ 235s] This may take some time... done. [ 235s] [461/495] installing texlive-luatex-2020.20200329-2 [ 236s] Processing triggers for tex-common (6.13) ... [ 236s] Running mktexlsr. This may take some time... done. [ 236s] Building format(s) --all. [ 247s] This may take some time... [ 247s] fmtutil failed. Output has been stored in [ 247s] /tmp/fmtutil.hpk7Mw8C [ 247s] Please include this file if you report a bug. [ 247s] dpkg: error processing package tex-common (--install): [ 247s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 247s] Processing triggers for man-db (2.9.1-1) ... [ 248s] Errors were encountered while processing: [ 248s] tex-common [ 248s] exit ... [ 248s] ### VM INTERACTION START ### [ 251s] [ 210.901464] sysrq: SysRq : Power Off [ 251s] [ 210.904736] reboot: Power down [ 251s] ### VM INTERACTION END ### [ 251s] [ 251s] cloud115 failed "build osmo-remsim_0.2.2.85.a3ab.dsc" at Tue Apr 14 01:56:06 UTC 2020. [ 251s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 01:56:45 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 01:56:45 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sip-connector in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e9518795bd45_3fc92ad0c11646008441e5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sip-connector/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-sip-connector failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sip-connector Last lines of build log: [ 707s] [436/470] installing texlive-latex-base-2020.20200329-2 [ 708s] Processing triggers for man-db (2.9.1-1) ... [ 711s] Processing triggers for tex-common (6.13) ... [ 712s] Running mktexlsr. This may take some time... done. [ 713s] Running updmap-sys. This may take some time... done. [ 713s] Running mktexlsr /var/lib/texmf ... done. [ 713s] Building format(s) --all. [ 728s] This may take some time... done. [ 728s] [437/470] installing texlive-luatex-2020.20200329-2 [ 731s] Processing triggers for tex-common (6.13) ... [ 731s] Running mktexlsr. This may take some time... done. [ 732s] Building format(s) --all. [ 746s] This may take some time... [ 746s] fmtutil failed. Output has been stored in [ 746s] /tmp/fmtutil.6QSabzPC [ 746s] Please include this file if you report a bug. [ 746s] dpkg: error processing package tex-common (--install): [ 746s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 746s] Processing triggers for man-db (2.9.1-1) ... [ 748s] Errors were encountered while processing: [ 748s] tex-common [ 748s] exit ... [ 748s] ### VM INTERACTION START ### [ 751s] [ 647.896729] sysrq: SysRq : Power Off [ 751s] [ 647.915283] reboot: Power down [ 751s] ### VM INTERACTION END ### [ 751s] [ 751s] cloud128 failed "build osmo-sip-connector_1.4.0.dsc" at Tue Apr 14 01:56:37 UTC 2020. [ 751s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 02:00:28 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 02:00:28 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e9519495b360_3fc92ad0c11646008451db@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 136s] [415/446] installing texlive-latex-base-2020.20200329-2 [ 136s] Processing triggers for man-db (2.9.1-1) ... [ 136s] Processing triggers for tex-common (6.13) ... [ 136s] Running mktexlsr. This may take some time... done. [ 137s] Running updmap-sys. This may take some time... done. [ 137s] Running mktexlsr /var/lib/texmf ... done. [ 137s] Building format(s) --all. [ 145s] This may take some time... done. [ 145s] [416/446] installing texlive-luatex-2020.20200329-2 [ 146s] Processing triggers for tex-common (6.13) ... [ 147s] Running mktexlsr. This may take some time... done. [ 147s] Building format(s) --all. [ 155s] This may take some time... [ 155s] fmtutil failed. Output has been stored in [ 155s] /tmp/fmtutil.ictoTzuQ [ 155s] Please include this file if you report a bug. [ 155s] dpkg: error processing package tex-common (--install): [ 155s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 155s] Processing triggers for man-db (2.9.1-1) ... [ 155s] Errors were encountered while processing: [ 155s] tex-common [ 155s] exit ... [ 155s] ### VM INTERACTION START ### [ 158s] [ 137.783144] sysrq: SysRq : Power Off [ 158s] [ 137.785922] reboot: Power down [ 158s] ### VM INTERACTION END ### [ 158s] [ 158s] wildcard2 failed "build osmo-mgw_1.7.0.6.173d.dsc" at Tue Apr 14 02:00:12 UTC 2020. [ 158s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 02:03:36 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 02:03:36 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e9519ff105b5_3fc92ad0c11646008471fc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-hlr failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 212s] [426/457] installing texlive-latex-base-2020.20200329-2 [ 213s] Processing triggers for man-db (2.9.1-1) ... [ 213s] Processing triggers for tex-common (6.13) ... [ 214s] Running mktexlsr. This may take some time... done. [ 214s] Running updmap-sys. This may take some time... done. [ 214s] Running mktexlsr /var/lib/texmf ... done. [ 215s] Building format(s) --all. [ 225s] This may take some time... done. [ 225s] [427/457] installing texlive-luatex-2020.20200329-2 [ 226s] Processing triggers for tex-common (6.13) ... [ 226s] Running mktexlsr. This may take some time... done. [ 226s] Building format(s) --all. [ 238s] This may take some time... [ 238s] fmtutil failed. Output has been stored in [ 238s] /tmp/fmtutil.4xk9ubpZ [ 238s] Please include this file if you report a bug. [ 238s] dpkg: error processing package tex-common (--install): [ 238s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 238s] Processing triggers for man-db (2.9.1-1) ... [ 239s] Errors were encountered while processing: [ 239s] tex-common [ 239s] exit ... [ 239s] ### VM INTERACTION START ### [ 242s] [ 224.102898] sysrq: SysRq : Power Off [ 242s] [ 224.121191] reboot: Power down [ 242s] ### VM INTERACTION END ### [ 242s] [ 242s] lamb62 failed "build osmo-hlr_1.2.0.23.5424.dsc" at Tue Apr 14 02:03:21 UTC 2020. [ 242s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 02:04:11 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 02:04:11 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e951a1e93aa5_3fc92ad0c11646008473d3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/Debian_Unstable/x86_64 Package network:osmocom:nightly/libosmo-sccp failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 339s] [425/456] installing texlive-latex-base-2020.20200329-2 [ 340s] Processing triggers for man-db (2.9.1-1) ... [ 341s] Processing triggers for tex-common (6.13) ... [ 341s] Running mktexlsr. This may take some time... done. [ 342s] Running updmap-sys. This may take some time... done. [ 342s] Running mktexlsr /var/lib/texmf ... done. [ 342s] Building format(s) --all. [ 353s] This may take some time... done. [ 353s] [426/456] installing texlive-luatex-2020.20200329-2 [ 354s] Processing triggers for tex-common (6.13) ... [ 355s] Running mktexlsr. This may take some time... done. [ 355s] Building format(s) --all. [ 368s] This may take some time... [ 368s] fmtutil failed. Output has been stored in [ 368s] /tmp/fmtutil.WQeTWkK0 [ 368s] Please include this file if you report a bug. [ 368s] dpkg: error processing package tex-common (--install): [ 368s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 368s] Processing triggers for man-db (2.9.1-1) ... [ 369s] Errors were encountered while processing: [ 369s] tex-common [ 369s] exit ... [ 369s] ### VM INTERACTION START ### [ 372s] [ 311.737906] sysrq: SysRq : Power Off [ 372s] [ 311.757839] reboot: Power down [ 372s] ### VM INTERACTION END ### [ 372s] [ 372s] cloud129 failed "build libosmo-sccp_1.2.0.33.ed2d.dsc" at Tue Apr 14 02:03:56 UTC 2020. [ 372s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 02:10:45 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 02:10:45 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e951bc09d010_3fc92ad0c11646008499f2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 137s] [430/462] installing texlive-latex-base-2020.20200329-2 [ 137s] Processing triggers for man-db (2.9.1-1) ... [ 137s] Processing triggers for tex-common (6.13) ... [ 138s] Running mktexlsr. This may take some time... done. [ 138s] Running updmap-sys. This may take some time... done. [ 138s] Running mktexlsr /var/lib/texmf ... done. [ 138s] Building format(s) --all. [ 146s] This may take some time... done. [ 146s] [431/462] installing texlive-luatex-2020.20200329-2 [ 147s] Processing triggers for tex-common (6.13) ... [ 147s] Running mktexlsr. This may take some time... done. [ 147s] Building format(s) --all. [ 155s] This may take some time... [ 155s] fmtutil failed. Output has been stored in [ 155s] /tmp/fmtutil.LGv30JLL [ 155s] Please include this file if you report a bug. [ 155s] dpkg: error processing package tex-common (--install): [ 155s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 155s] Processing triggers for man-db (2.9.1-1) ... [ 156s] Errors were encountered while processing: [ 156s] tex-common [ 156s] exit ... [ 156s] ### VM INTERACTION START ### [ 159s] [ 147.462804] sysrq: SysRq : Power Off [ 159s] [ 147.470636] reboot: Power down [ 159s] ### VM INTERACTION END ### [ 159s] [ 159s] build83 failed "build osmo-bsc_1.6.0.27.b623.dsc" at Tue Apr 14 02:10:38 UTC 2020. [ 159s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 02:27:36 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 02:27:36 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e951fa1b5a42_3fc92ad0c1164600852821@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-sgsn failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 204s] [436/468] installing texlive-latex-base-2020.20200329-2 [ 205s] Processing triggers for man-db (2.9.1-1) ... [ 205s] Processing triggers for tex-common (6.13) ... [ 206s] Running mktexlsr. This may take some time... done. [ 206s] Running updmap-sys. This may take some time... done. [ 206s] Running mktexlsr /var/lib/texmf ... done. [ 206s] Building format(s) --all. [ 216s] This may take some time... done. [ 217s] [437/468] installing texlive-luatex-2020.20200329-2 [ 218s] Processing triggers for tex-common (6.13) ... [ 218s] Running mktexlsr. This may take some time... done. [ 218s] Building format(s) --all. [ 228s] This may take some time... [ 228s] fmtutil failed. Output has been stored in [ 228s] /tmp/fmtutil.ZcZdHt19 [ 228s] Please include this file if you report a bug. [ 228s] dpkg: error processing package tex-common (--install): [ 228s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 228s] Processing triggers for man-db (2.9.1-1) ... [ 229s] Errors were encountered while processing: [ 229s] tex-common [ 229s] exit ... [ 229s] ### VM INTERACTION START ### [ 232s] [ 214.779498] sysrq: SysRq : Power Off [ 233s] [ 214.792891] reboot: Power down [ 233s] ### VM INTERACTION END ### [ 233s] [ 233s] lamb57 failed "build osmo-sgsn_1.6.0.3.6e4cd.dsc" at Tue Apr 14 02:27:19 UTC 2020. [ 233s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 02:31:53 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 02:31:53 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e9520ab8a577_3fc92ad0c11646008531f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 498s] [439/471] installing texlive-latex-base-2020.20200329-2 [ 499s] Processing triggers for man-db (2.9.1-1) ... [ 499s] Processing triggers for tex-common (6.13) ... [ 500s] Running mktexlsr. This may take some time... done. [ 500s] Running updmap-sys. This may take some time... done. [ 500s] Running mktexlsr /var/lib/texmf ... done. [ 500s] Building format(s) --all. [ 511s] This may take some time... done. [ 511s] [440/471] installing texlive-luatex-2020.20200329-2 [ 513s] Processing triggers for tex-common (6.13) ... [ 513s] Running mktexlsr. This may take some time... done. [ 513s] Building format(s) --all. [ 524s] This may take some time... [ 524s] fmtutil failed. Output has been stored in [ 524s] /tmp/fmtutil.TczUeKxX [ 524s] Please include this file if you report a bug. [ 524s] dpkg: error processing package tex-common (--install): [ 524s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 524s] Processing triggers for man-db (2.9.1-1) ... [ 525s] Errors were encountered while processing: [ 525s] tex-common [ 525s] exit ... [ 525s] ### VM INTERACTION START ### [ 528s] [ 483.945913] sysrq: SysRq : Power Off [ 528s] [ 483.950161] reboot: Power down [ 528s] ### VM INTERACTION END ### [ 528s] [ 528s] cloud117 failed "build osmo-msc_1.6.1.22.d233.dsc" at Tue Apr 14 02:31:42 UTC 2020. [ 528s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 05:01:15 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 05:01:15 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e9543b868af7_3fc92ad0c11646008739f7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-gsm-manuals failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals Last lines of build log: [ 176s] [396/426] installing texlive-latex-base-2020.20200329-2 [ 177s] Processing triggers for man-db (2.9.1-1) ... [ 177s] Processing triggers for tex-common (6.13) ... [ 178s] Running mktexlsr. This may take some time... done. [ 178s] Running updmap-sys. This may take some time... done. [ 178s] Running mktexlsr /var/lib/texmf ... done. [ 178s] Building format(s) --all. [ 188s] This may take some time... done. [ 188s] [397/426] installing texlive-luatex-2020.20200329-2 [ 189s] Processing triggers for tex-common (6.13) ... [ 189s] Running mktexlsr. This may take some time... done. [ 189s] Building format(s) --all. [ 198s] This may take some time... [ 198s] fmtutil failed. Output has been stored in [ 198s] /tmp/fmtutil.eme1ukjx [ 198s] Please include this file if you report a bug. [ 198s] dpkg: error processing package tex-common (--install): [ 198s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 198s] Processing triggers for man-db (2.9.1-1) ... [ 199s] Errors were encountered while processing: [ 199s] tex-common [ 199s] exit ... [ 199s] ### VM INTERACTION START ### [ 202s] [ 186.085028] sysrq: SysRq : Power Off [ 202s] [ 186.090887] reboot: Power down [ 202s] ### VM INTERACTION END ### [ 202s] [ 202s] lamb61 failed "build osmo-gsm-manuals-dev_0.3.0.dsc" at Tue Apr 14 05:01:12 UTC 2020. [ 202s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 05:05:15 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 05:05:15 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e9544a7a552e_3fc92ad0c116460087402b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-pcu failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 103s] [413/444] installing texlive-latex-base-2020.20200329-2 [ 103s] Processing triggers for man-db (2.9.1-1) ... [ 103s] Processing triggers for tex-common (6.13) ... [ 103s] Running mktexlsr. This may take some time... done. [ 104s] Running updmap-sys. This may take some time... done. [ 104s] Running mktexlsr /var/lib/texmf ... done. [ 104s] Building format(s) --all. [ 109s] This may take some time... done. [ 109s] [414/444] installing texlive-luatex-2020.20200329-2 [ 110s] Processing triggers for tex-common (6.13) ... [ 110s] Running mktexlsr. This may take some time... done. [ 110s] Building format(s) --all. [ 116s] This may take some time... [ 116s] fmtutil failed. Output has been stored in [ 116s] /tmp/fmtutil.4lbyf1z7 [ 116s] Please include this file if you report a bug. [ 116s] dpkg: error processing package tex-common (--install): [ 116s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 116s] Processing triggers for man-db (2.9.1-1) ... [ 116s] Errors were encountered while processing: [ 116s] tex-common [ 116s] exit ... [ 116s] ### VM INTERACTION START ### [ 120s] [ 109.353491] sysrq: SysRq : Power Off [ 120s] [ 109.359634] reboot: Power down [ 120s] ### VM INTERACTION END ### [ 120s] [ 120s] goat07 failed "build osmo-pcu_0.8.0.dsc" at Tue Apr 14 05:05:00 UTC 2020. [ 120s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 05:05:15 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 05:05:15 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e9544a814757_3fc92ad0c116460087417a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-sip-connector failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 108s] [435/469] installing texlive-latex-base-2020.20200329-2 [ 108s] Processing triggers for man-db (2.9.1-1) ... [ 108s] Processing triggers for tex-common (6.13) ... [ 108s] Running mktexlsr. This may take some time... done. [ 109s] Running updmap-sys. This may take some time... done. [ 109s] Running mktexlsr /var/lib/texmf ... done. [ 109s] Building format(s) --all. [ 114s] This may take some time... done. [ 114s] [436/469] installing texlive-luatex-2020.20200329-2 [ 115s] Processing triggers for tex-common (6.13) ... [ 115s] Running mktexlsr. This may take some time... done. [ 115s] Building format(s) --all. [ 120s] This may take some time... [ 120s] fmtutil failed. Output has been stored in [ 120s] /tmp/fmtutil.ZYP22bQ1 [ 120s] Please include this file if you report a bug. [ 120s] dpkg: error processing package tex-common (--install): [ 120s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 120s] Processing triggers for man-db (2.9.1-1) ... [ 121s] Errors were encountered while processing: [ 121s] tex-common [ 121s] exit ... [ 121s] ### VM INTERACTION START ### [ 124s] [ 114.894169] sysrq: SysRq : Power Off [ 124s] [ 114.901343] reboot: Power down [ 124s] ### VM INTERACTION END ### [ 124s] [ 124s] goat01 failed "build osmo-sip-connector_1.4.0.dsc" at Tue Apr 14 05:05:03 UTC 2020. [ 124s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 05:06:06 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 05:06:06 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e9544c4a29b1_3fc92ad0c116460087424@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 155s] [568/619] installing texlive-latex-base-2020.20200329-2 [ 156s] Processing triggers for man-db (2.9.1-1) ... [ 156s] Processing triggers for tex-common (6.13) ... [ 156s] Running mktexlsr. This may take some time... done. [ 157s] Running updmap-sys. This may take some time... done. [ 157s] Running mktexlsr /var/lib/texmf ... done. [ 157s] Building format(s) --all. [ 164s] This may take some time... done. [ 164s] [569/619] installing texlive-luatex-2020.20200329-2 [ 165s] Processing triggers for tex-common (6.13) ... [ 165s] Running mktexlsr. This may take some time... done. [ 165s] Building format(s) --all. [ 172s] This may take some time... [ 172s] fmtutil failed. Output has been stored in [ 172s] /tmp/fmtutil.bq98kz5V [ 172s] Please include this file if you report a bug. [ 172s] dpkg: error processing package tex-common (--install): [ 172s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 172s] Processing triggers for man-db (2.9.1-1) ... [ 173s] Errors were encountered while processing: [ 173s] tex-common [ 173s] exit ... [ 173s] ### VM INTERACTION START ### [ 176s] [ 163.421526] sysrq: SysRq : Power Off [ 176s] [ 163.424803] reboot: Power down [ 176s] ### VM INTERACTION END ### [ 176s] [ 176s] sheep87 failed "build osmo-trx_1.2.0.dsc" at Tue Apr 14 05:06:02 UTC 2020. [ 176s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 05:07:49 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 05:07:49 +0000 Subject: Build failure of network:osmocom:latest/osmo-ggsn in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e95453d1de9_3fc92ad0c11646008746b8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-ggsn/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-ggsn failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-ggsn Last lines of build log: [ 248s] [415/446] installing texlive-latex-base-2020.20200329-2 [ 249s] Processing triggers for man-db (2.9.1-1) ... [ 250s] Processing triggers for tex-common (6.13) ... [ 250s] Running mktexlsr. This may take some time... done. [ 251s] Running updmap-sys. This may take some time... done. [ 251s] Running mktexlsr /var/lib/texmf ... done. [ 251s] Building format(s) --all. [ 262s] This may take some time... done. [ 262s] [416/446] installing texlive-luatex-2020.20200329-2 [ 264s] Processing triggers for tex-common (6.13) ... [ 264s] Running mktexlsr. This may take some time... done. [ 264s] Building format(s) --all. [ 276s] This may take some time... [ 276s] fmtutil failed. Output has been stored in [ 276s] /tmp/fmtutil.XGgmpcmc [ 276s] Please include this file if you report a bug. [ 276s] dpkg: error processing package tex-common (--install): [ 276s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 276s] Processing triggers for man-db (2.9.1-1) ... [ 277s] Errors were encountered while processing: [ 277s] tex-common [ 277s] exit ... [ 277s] ### VM INTERACTION START ### [ 280s] [ 263.256547] sysrq: SysRq : Power Off [ 280s] [ 263.261982] reboot: Power down [ 280s] ### VM INTERACTION END ### [ 280s] [ 280s] lamb26 failed "build osmo-ggsn_1.5.0.dsc" at Tue Apr 14 05:07:48 UTC 2020. [ 280s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 05:11:49 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 05:11:49 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e95462f405b1_3fc92ad0c11646008754f6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-remsim failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 240s] [458/493] installing texlive-latex-base-2020.20200329-2 [ 241s] Processing triggers for man-db (2.9.1-1) ... [ 241s] Processing triggers for tex-common (6.13) ... [ 241s] Running mktexlsr. This may take some time... done. [ 242s] Running updmap-sys. This may take some time... done. [ 242s] Running mktexlsr /var/lib/texmf ... done. [ 242s] Building format(s) --all. [ 253s] This may take some time... done. [ 253s] [459/493] installing texlive-luatex-2020.20200329-2 [ 254s] Processing triggers for tex-common (6.13) ... [ 254s] Running mktexlsr. This may take some time... done. [ 254s] Building format(s) --all. [ 265s] This may take some time... [ 265s] fmtutil failed. Output has been stored in [ 265s] /tmp/fmtutil.tC8a58bg [ 265s] Please include this file if you report a bug. [ 265s] dpkg: error processing package tex-common (--install): [ 265s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 265s] Processing triggers for man-db (2.9.1-1) ... [ 266s] Errors were encountered while processing: [ 266s] tex-common [ 266s] exit ... [ 266s] ### VM INTERACTION START ### [ 269s] [ 197.334642] sysrq: SysRq : Power Off [ 269s] [ 197.356251] reboot: Power down [ 269s] ### VM INTERACTION END ### [ 269s] [ 269s] cloud121 failed "build osmo-remsim_0.2.3.dsc" at Tue Apr 14 05:11:33 UTC 2020. [ 269s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 05:16:58 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 05:16:58 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e954758c5588_3fc92ad0c116460087602@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-bts failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 555s] [424/455] installing texlive-latex-base-2020.20200329-2 [ 556s] Processing triggers for man-db (2.9.1-1) ... [ 557s] Processing triggers for tex-common (6.13) ... [ 557s] Running mktexlsr. This may take some time... done. [ 558s] Running updmap-sys. This may take some time... done. [ 558s] Running mktexlsr /var/lib/texmf ... done. [ 558s] Building format(s) --all. [ 570s] This may take some time... done. [ 570s] [425/455] installing texlive-luatex-2020.20200329-2 [ 571s] Processing triggers for tex-common (6.13) ... [ 571s] Running mktexlsr. This may take some time... done. [ 571s] Building format(s) --all. [ 584s] This may take some time... [ 584s] fmtutil failed. Output has been stored in [ 584s] /tmp/fmtutil.kPyKgOVw [ 584s] Please include this file if you report a bug. [ 584s] dpkg: error processing package tex-common (--install): [ 584s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 584s] Processing triggers for man-db (2.9.1-1) ... [ 585s] Errors were encountered while processing: [ 585s] tex-common [ 585s] exit ... [ 585s] ### VM INTERACTION START ### [ 589s] [ 565.273018] sysrq: SysRq : Power Off [ 589s] [ 565.290875] reboot: Power down [ 589s] ### VM INTERACTION END ### [ 589s] [ 589s] lamb03 failed "build osmo-bts_1.2.0.dsc" at Tue Apr 14 05:16:45 UTC 2020. [ 589s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 05:16:41 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 05:16:41 +0000 Subject: Build failure of network:osmocom:latest/osmo-mgw in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e954757efa90_3fc92ad0c11646008759b2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-mgw/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-mgw failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-mgw Last lines of build log: [ 103s] [414/445] installing texlive-latex-base-2020.20200329-2 [ 103s] Processing triggers for man-db (2.9.1-1) ... [ 103s] Processing triggers for tex-common (6.13) ... [ 104s] Running mktexlsr. This may take some time... done. [ 104s] Running updmap-sys. This may take some time... done. [ 104s] Running mktexlsr /var/lib/texmf ... done. [ 104s] Building format(s) --all. [ 110s] This may take some time... done. [ 110s] [415/445] installing texlive-luatex-2020.20200329-2 [ 110s] Processing triggers for tex-common (6.13) ... [ 110s] Running mktexlsr. This may take some time... done. [ 110s] Building format(s) --all. [ 116s] This may take some time... [ 116s] fmtutil failed. Output has been stored in [ 116s] /tmp/fmtutil.0yMswk1Y [ 116s] Please include this file if you report a bug. [ 116s] dpkg: error processing package tex-common (--install): [ 116s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 116s] Processing triggers for man-db (2.9.1-1) ... [ 116s] Errors were encountered while processing: [ 116s] tex-common [ 116s] exit ... [ 116s] ### VM INTERACTION START ### [ 119s] [ 108.881567] sysrq: SysRq : Power Off [ 119s] [ 108.888415] reboot: Power down [ 119s] ### VM INTERACTION END ### [ 119s] [ 119s] goat19 failed "build osmo-mgw_1.7.0.dsc" at Tue Apr 14 05:16:32 UTC 2020. [ 119s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 05:16:58 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 05:16:58 +0000 Subject: Build failure of network:osmocom:latest/libosmo-sccp in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e95475913b2f_3fc92ad0c1164600876124@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmo-sccp/Debian_Unstable/x86_64 Package network:osmocom:latest/libosmo-sccp failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest libosmo-sccp Last lines of build log: [ 112s] [424/455] installing texlive-latex-base-2020.20200329-2 [ 112s] Processing triggers for man-db (2.9.1-1) ... [ 113s] Processing triggers for tex-common (6.13) ... [ 113s] Running mktexlsr. This may take some time... done. [ 113s] Running updmap-sys. This may take some time... done. [ 113s] Running mktexlsr /var/lib/texmf ... done. [ 113s] Building format(s) --all. [ 119s] This may take some time... done. [ 119s] [425/455] installing texlive-luatex-2020.20200329-2 [ 120s] Processing triggers for tex-common (6.13) ... [ 120s] Running mktexlsr. This may take some time... done. [ 120s] Building format(s) --all. [ 126s] This may take some time... [ 126s] fmtutil failed. Output has been stored in [ 126s] /tmp/fmtutil.0EY4PwcJ [ 126s] Please include this file if you report a bug. [ 126s] dpkg: error processing package tex-common (--install): [ 126s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 126s] Processing triggers for man-db (2.9.1-1) ... [ 126s] Errors were encountered while processing: [ 126s] tex-common [ 126s] exit ... [ 126s] ### VM INTERACTION START ### [ 129s] [ 118.711873] sysrq: SysRq : Power Off [ 129s] [ 118.713401] reboot: Power down [ 129s] ### VM INTERACTION END ### [ 129s] [ 129s] build74 failed "build libosmo-sccp_1.2.0.dsc" at Tue Apr 14 05:16:46 UTC 2020. [ 129s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 05:20:41 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 05:20:41 +0000 Subject: Build failure of network:osmocom:latest/osmo-bsc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e954830f21cd_3fc92ad0c116460087670@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bsc/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-bsc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-bsc Last lines of build log: [ 179s] [429/461] installing texlive-latex-base-2020.20200329-2 [ 180s] Processing triggers for man-db (2.9.1-1) ... [ 181s] Processing triggers for tex-common (6.13) ... [ 181s] Running mktexlsr. This may take some time... done. [ 181s] Running updmap-sys. This may take some time... done. [ 181s] Running mktexlsr /var/lib/texmf ... done. [ 182s] Building format(s) --all. [ 191s] This may take some time... done. [ 191s] [430/461] installing texlive-luatex-2020.20200329-2 [ 192s] Processing triggers for tex-common (6.13) ... [ 192s] Running mktexlsr. This may take some time... done. [ 192s] Building format(s) --all. [ 201s] This may take some time... [ 201s] fmtutil failed. Output has been stored in [ 201s] /tmp/fmtutil.gAJHACAJ [ 201s] Please include this file if you report a bug. [ 201s] dpkg: error processing package tex-common (--install): [ 201s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 201s] Processing triggers for man-db (2.9.1-1) ... [ 202s] Errors were encountered while processing: [ 202s] tex-common [ 202s] exit ... [ 202s] ### VM INTERACTION START ### [ 205s] [ 189.404599] sysrq: SysRq : Power Off [ 205s] [ 189.409889] reboot: Power down [ 205s] ### VM INTERACTION END ### [ 205s] [ 205s] lamb14 failed "build osmo-bsc_1.6.0.dsc" at Tue Apr 14 05:20:34 UTC 2020. [ 205s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 05:21:49 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 05:21:49 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e95488590d17_3fc92ad0c1164600877349@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-hlr failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 388s] [425/456] installing texlive-latex-base-2020.20200329-2 [ 389s] Processing triggers for man-db (2.9.1-1) ... [ 390s] Processing triggers for tex-common (6.13) ... [ 390s] Running mktexlsr. This may take some time... done. [ 391s] Running updmap-sys. This may take some time... done. [ 391s] Running mktexlsr /var/lib/texmf ... done. [ 391s] Building format(s) --all. [ 401s] This may take some time... done. [ 401s] [426/456] installing texlive-luatex-2020.20200329-2 [ 402s] Processing triggers for tex-common (6.13) ... [ 403s] Running mktexlsr. This may take some time... done. [ 403s] Building format(s) --all. [ 413s] This may take some time... [ 413s] fmtutil failed. Output has been stored in [ 413s] /tmp/fmtutil.hD54YqRX [ 413s] Please include this file if you report a bug. [ 413s] dpkg: error processing package tex-common (--install): [ 413s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 413s] Processing triggers for man-db (2.9.1-1) ... [ 413s] Errors were encountered while processing: [ 413s] tex-common [ 413s] exit ... [ 413s] ### VM INTERACTION START ### [ 416s] [ 399.287027] sysrq: SysRq : Power Off [ 416s] [ 399.291335] reboot: Power down [ 416s] ### VM INTERACTION END ### [ 416s] [ 416s] lamb60 failed "build osmo-hlr_1.2.0.dsc" at Tue Apr 14 05:21:40 UTC 2020. [ 416s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 05:24:06 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 05:24:06 +0000 Subject: Build failure of network:osmocom:latest/osmo-msc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e9548fe9c9c4_3fc92ad0c1164600877644@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-msc/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-msc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-msc Last lines of build log: [ 105s] [438/470] installing texlive-latex-base-2020.20200329-2 [ 105s] Processing triggers for man-db (2.9.1-1) ... [ 105s] Processing triggers for tex-common (6.13) ... [ 105s] Running mktexlsr. This may take some time... done. [ 106s] Running updmap-sys. This may take some time... done. [ 106s] Running mktexlsr /var/lib/texmf ... done. [ 106s] Building format(s) --all. [ 111s] This may take some time... done. [ 111s] [439/470] installing texlive-luatex-2020.20200329-2 [ 112s] Processing triggers for tex-common (6.13) ... [ 112s] Running mktexlsr. This may take some time... done. [ 112s] Building format(s) --all. [ 118s] This may take some time... [ 118s] fmtutil failed. Output has been stored in [ 118s] /tmp/fmtutil.5iqahIng [ 118s] Please include this file if you report a bug. [ 118s] dpkg: error processing package tex-common (--install): [ 118s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 118s] Processing triggers for man-db (2.9.1-1) ... [ 119s] Errors were encountered while processing: [ 119s] tex-common [ 119s] exit ... [ 119s] ### VM INTERACTION START ### [ 122s] [ 113.119985] sysrq: SysRq : Power Off [ 122s] [ 113.126388] reboot: Power down [ 122s] ### VM INTERACTION END ### [ 122s] [ 122s] goat19 failed "build osmo-msc_1.6.1.dsc" at Tue Apr 14 05:23:56 UTC 2020. [ 122s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 05:25:32 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 05:25:32 +0000 Subject: Build failure of network:osmocom:latest/osmo-sgsn in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e954957a0d68_3fc92ad0c11646008779a2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sgsn/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-sgsn failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sgsn Last lines of build log: [ 182s] [435/467] installing texlive-latex-base-2020.20200329-2 [ 183s] Processing triggers for man-db (2.9.1-1) ... [ 184s] Processing triggers for tex-common (6.13) ... [ 184s] Running mktexlsr. This may take some time... done. [ 185s] Running updmap-sys. This may take some time... done. [ 185s] Running mktexlsr /var/lib/texmf ... done. [ 185s] Building format(s) --all. [ 196s] This may take some time... done. [ 196s] [436/467] installing texlive-luatex-2020.20200329-2 [ 197s] Processing triggers for tex-common (6.13) ... [ 197s] Running mktexlsr. This may take some time... done. [ 197s] Building format(s) --all. [ 206s] This may take some time... [ 206s] fmtutil failed. Output has been stored in [ 206s] /tmp/fmtutil.zgUjzg9B [ 206s] Please include this file if you report a bug. [ 206s] dpkg: error processing package tex-common (--install): [ 206s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 206s] Processing triggers for man-db (2.9.1-1) ... [ 207s] Errors were encountered while processing: [ 207s] tex-common [ 207s] exit ... [ 207s] ### VM INTERACTION START ### [ 210s] [ 193.230028] sysrq: SysRq : Power Off [ 210s] [ 193.235893] reboot: Power down [ 210s] ### VM INTERACTION END ### [ 210s] [ 210s] lamb06 failed "build osmo-sgsn_1.6.0.dsc" at Tue Apr 14 05:25:30 UTC 2020. [ 210s] -- 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 Apr 14 06:52:04 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Tue, 14 Apr 2020 06:52:04 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. References: Message-ID: rafael2k has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17808 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... osmo-bts-litecell15: Implement missing features. Many hardware parameters of the LC 1.5 were not exposed to the user. This patchset introduces most of the features, being very similar to osmo-bts-oc2g code. Change-Id: Id41bba798440b00a3b11441b64b2e8094a946bf2 --- M include/osmo-bts/phy_link.h M src/osmo-bts-litecell15/l1_if.c M src/osmo-bts-litecell15/l1_if.h M src/osmo-bts-litecell15/lc15bts.c M src/osmo-bts-litecell15/lc15bts.h M src/osmo-bts-litecell15/lc15bts_vty.c M src/osmo-bts-litecell15/main.c M src/osmo-bts-litecell15/oml.c 8 files changed, 530 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/08/17808/1 diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index 116297b..cf877bd 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -135,6 +135,7 @@ uint8_t dsp_alive_period; /* DSP alive timer period */ uint8_t tx_pwr_adj_mode; /* 0: no auto adjust power, 1: auto adjust power using RMS detector */ uint8_t tx_pwr_red_8psk; /* 8-PSK maximum Tx power reduction level in dB */ + uint8_t tx_c0_idle_pwr_red; /* C0 idle slot Tx power reduction level in dB */ } lc15; struct { /* configuration */ diff --git a/src/osmo-bts-litecell15/l1_if.c b/src/osmo-bts-litecell15/l1_if.c index abf48bc..0b289fc 100644 --- a/src/osmo-bts-litecell15/l1_if.c +++ b/src/osmo-bts-litecell15/l1_if.c @@ -1263,8 +1263,10 @@ LOGP(DL1C, LOGL_FATAL, "RF-ACT.conf with status %s\n", get_value_string(lc15bts_l1status_names, status)); bts_shutdown(trx->bts, "RF-ACT failure"); - } else - bts_update_status(BTS_STATUS_RF_ACTIVE, 1); + } else { + if(trx->bts->lc15.led_ctrl_mode == LC15_LED_CONTROL_BTS) + bts_update_status(BTS_STATUS_RF_ACTIVE, 1); + } /* signal availability */ oml_mo_state_chg(&trx->mo, NM_OPSTATE_DISABLED, NM_AVSTATE_OK); @@ -1275,7 +1277,8 @@ for (i = 0; i < ARRAY_SIZE(trx->ts); i++) oml_mo_state_chg(&trx->ts[i].mo, NM_OPSTATE_DISABLED, NM_AVSTATE_DEPENDENCY); } else { - bts_update_status(BTS_STATUS_RF_ACTIVE, 0); + if(trx->bts->lc15.led_ctrl_mode == LC15_LED_CONTROL_BTS) + bts_update_status(BTS_STATUS_RF_ACTIVE, 0); oml_mo_state_chg(&trx->mo, NM_OPSTATE_DISABLED, NM_AVSTATE_OFF_LINE); oml_mo_state_chg(&trx->bb_transc.mo, NM_OPSTATE_DISABLED, NM_AVSTATE_OFF_LINE); } @@ -1290,17 +1293,26 @@ { struct msgb *msg = sysp_msgb_alloc(); Litecell15_Prim_t *sysp = msgb_sysprim(msg); + struct phy_instance *pinst = hdl->phy_inst; if (on) { sysp->id = Litecell15_PrimId_ActivateRfReq; sysp->u.activateRfReq.msgq.u8UseTchMsgq = 0; sysp->u.activateRfReq.msgq.u8UsePdtchMsgq = pcu_direct; - sysp->u.activateRfReq.u8UnusedTsMode = 0; + sysp->u.activateRfReq.u8UnusedTsMode = pinst->u.lc15.pedestal_mode; + sysp->u.activateRfReq.u8McCorrMode = 0; + /* diversity mode: 0: SISO-A, 1: SISO-B, 2: MRC */ + sysp->u.activateRfReq.u8DiversityMode = pinst->u.lc15.diversity_mode; + /* maximum cell size in quarter-bits, 90 == 12.456 km */ - sysp->u.activateRfReq.u8MaxCellSize = 90; + sysp->u.activateRfReq.u8MaxCellSize = pinst->u.lc15.max_cell_size; + + /* auto tx power adjustment mode 0:none, 1: automatic*/ + sysp->u.activateRfReq.u8EnAutoPowerAdjust = pinst->u.lc15.tx_pwr_adj_mode; + } else { sysp->id = Litecell15_PrimId_DeactivateRfReq; } @@ -1589,6 +1601,54 @@ return 0; } +static void dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) +{ + Litecell15_Prim_t *sysp = msgb_sysprim(resp); + Litecell15_IsAliveCnf_t *sac = &sysp->u.isAliveCnf; + struct lc15l1_hdl *fl1h = trx_lc15l1_hdl(trx); + + fl1h->hw_alive.dsp_alive_cnt++; + LOGP(DL1C, LOGL_DEBUG, "Rx SYS prim %s, status=%d (%d)\n", + get_value_string(lc15bts_sysprim_names, sysp->id), sac->status, trx->nr); + + msgb_free(resp); +} + +static int dsp_alive_timer_cb(void *data) +{ + struct lc15l1_hdl *fl1h = data; + struct gsm_bts_trx *trx = fl1h->phy_inst->trx; + struct msgb *msg = sysp_msgb_alloc(); + int rc; + + Litecell15_Prim_t *sys_prim = msgb_sysprim(msg); + sys_prim->id = Litecell15_PrimId_IsAliveReq; + + if (fl1h->hw_alive.dsp_alive_cnt == 0) { + LOGP(DL1C, LOGL_ERROR, "Timeout waiting for SYS prim %s primitive (%d)\n", + get_value_string(lc15bts_sysprim_names, sys_prim->id + 1), trx->nr); + + if( fl1h->phy_inst->trx ){ + fl1h->phy_inst->trx->mo.obj_inst.trx_nr = fl1h->phy_inst->trx->nr; + } + } + + LOGP(DL1C, LOGL_DEBUG, "Tx SYS prim %s (%d)\n", + get_value_string(lc15bts_sysprim_names, sys_prim->id), trx->nr); + + rc = l1if_req_compl(fl1h, msg, dsp_alive_compl_cb, NULL); + if (rc < 0) { + LOGP(DL1C, LOGL_FATAL, "Failed to send %s primitive\n", get_value_string(lc15bts_sysprim_names, sys_prim->id)); + return -EIO; + } + + /* restart timer */ + fl1h->hw_alive.dsp_alive_cnt = 0; + osmo_timer_schedule(&fl1h->hw_alive.dsp_alive_timer, fl1h->hw_alive.dsp_alive_period, 0); + + return 0; +} + int bts_model_phy_link_open(struct phy_link *plink) { struct phy_instance *pinst = phy_instance_by_num(plink, 0); @@ -1608,6 +1668,27 @@ return -EIO; } + /* Set default PHY parameters */ + if (!pinst->u.lc15.max_cell_size) + pinst->u.lc15.max_cell_size = LC15_BTS_MAX_CELL_SIZE_DEFAULT; + + if (!pinst->u.lc15.diversity_mode) + pinst->u.lc15.diversity_mode = LC15_BTS_DIVERSITY_MODE_DEFAULT; + + if (!pinst->u.lc15.pedestal_mode) + pinst->u.lc15.pedestal_mode = LC15_BTS_PEDESTAL_MODE_DEFAULT; + + if (!pinst->u.lc15.dsp_alive_period) + pinst->u.lc15.dsp_alive_period = LC15_BTS_DSP_ALIVE_TMR_DEFAULT; + + if (!pinst->u.lc15.tx_pwr_adj_mode) + pinst->u.lc15.tx_pwr_adj_mode = LC15_BTS_TX_PWR_ADJ_DEFAULT; + + if (!pinst->u.lc15.tx_pwr_red_8psk) + pinst->u.lc15.tx_pwr_red_8psk = LC15_BTS_TX_RED_PWR_8PSK_DEFAULT; + + if (!pinst->u.lc15.tx_c0_idle_pwr_red) + pinst->u.lc15.tx_c0_idle_pwr_red = LC15_BTS_TX_C0_IDLE_RED_PWR_DEFAULT; struct lc15l1_hdl *fl1h = pinst->u.lc15.hdl; fl1h->dsp_trace_f = dsp_trace; @@ -1616,5 +1697,25 @@ phy_link_state_set(plink, PHY_LINK_CONNECTED); + /* Send first IS_ALIVE primitive */ + struct msgb *msg = sysp_msgb_alloc(); + int rc; + + Litecell15_Prim_t *sys_prim = msgb_sysprim(msg); + sys_prim->id = Litecell15_PrimId_IsAliveReq; + + rc = l1if_req_compl(fl1h, msg, dsp_alive_compl_cb, NULL); + if (rc < 0) { + LOGP(DL1C, LOGL_FATAL, "Failed to send %s primitive\n", get_value_string(lc15bts_sysprim_names, sys_prim->id)); + return -EIO; + } + + /* initialize DSP heart beat alive timer */ + fl1h->hw_alive.dsp_alive_timer.cb = dsp_alive_timer_cb; + fl1h->hw_alive.dsp_alive_timer.data = fl1h; + fl1h->hw_alive.dsp_alive_cnt = 0; + fl1h->hw_alive.dsp_alive_period = pinst->u.lc15.dsp_alive_period; + osmo_timer_schedule(&fl1h->hw_alive.dsp_alive_timer, fl1h->hw_alive.dsp_alive_period, 0); + return 0; } diff --git a/src/osmo-bts-litecell15/l1_if.h b/src/osmo-bts-litecell15/l1_if.h index aac2607..45f0ddd 100644 --- a/src/osmo-bts-litecell15/l1_if.h +++ b/src/osmo-bts-litecell15/l1_if.h @@ -30,6 +30,12 @@ _NUM_MQ_WRITE }; +/* gsm_bts->model_priv, specific to Litecell 1.5 BTS */ +struct bts_lc15_priv { + uint8_t led_ctrl_mode; /* 0: control by BTS, 1: not control by BTS */ + unsigned int rtp_drift_thres_ms; /* RTP timestamp drift detection threshold */ +}; + struct calib_send_state { FILE *fp; const char *path; @@ -62,6 +68,12 @@ struct calib_send_state st; uint8_t last_rf_mute[8]; + + struct { + struct osmo_timer_list dsp_alive_timer; + unsigned int dsp_alive_cnt; + uint8_t dsp_alive_period; + } hw_alive; }; #define msgb_l1prim(msg) ((GsmL1_Prim_t *)(msg)->l1h) diff --git a/src/osmo-bts-litecell15/lc15bts.c b/src/osmo-bts-litecell15/lc15bts.c index 172a7e4..8ebc3a2 100644 --- a/src/osmo-bts-litecell15/lc15bts.c +++ b/src/osmo-bts-litecell15/lc15bts.c @@ -121,6 +121,12 @@ case Litecell15_PrimId_MuteRfCnf: return L1P_T_CONF; case Litecell15_PrimId_SetRxAttenReq: return L1P_T_REQ; case Litecell15_PrimId_SetRxAttenCnf: return L1P_T_CONF; + case Litecell15_PrimId_IsAliveReq: return L1P_T_REQ; + case Litecell15_PrimId_IsAliveCnf: return L1P_T_CONF; + case Litecell15_PrimId_SetMaxCellSizeReq: return L1P_T_REQ; + case Litecell15_PrimId_SetMaxCellSizeCnf: return L1P_T_CONF; + case Litecell15_PrimId_SetC0IdleSlotPowerReductionReq: return L1P_T_REQ; + case Litecell15_PrimId_SetC0IdleSlotPowerReductionCnf: return L1P_T_CONF; default: return L1P_T_INVALID; } } @@ -142,6 +148,12 @@ { Litecell15_PrimId_MuteRfCnf, "MUTE-RF.cnf" }, { Litecell15_PrimId_SetRxAttenReq, "SET-RX-ATTEN.req" }, { Litecell15_PrimId_SetRxAttenCnf, "SET-RX-ATTEN-CNF.cnf" }, + { Litecell15_PrimId_IsAliveReq, "IS-ALIVE.req" }, + { Litecell15_PrimId_IsAliveCnf, "IS-ALIVE-CNF.cnf" }, + { Litecell15_PrimId_SetMaxCellSizeReq, "SET-MAX-CELL-SIZE.req" }, + { Litecell15_PrimId_SetMaxCellSizeCnf, "SET-MAX-CELL-SIZE.cnf" }, + { Litecell15_PrimId_SetC0IdleSlotPowerReductionReq, "SET-C0-IDLE-PWR-RED.req" }, + { Litecell15_PrimId_SetC0IdleSlotPowerReductionCnf, "SET-C0-IDLE-PWR-RED.cnf" }, { 0, NULL } }; @@ -155,6 +167,9 @@ case Litecell15_PrimId_SetCalibTblReq: return Litecell15_PrimId_SetCalibTblCnf; case Litecell15_PrimId_MuteRfReq: return Litecell15_PrimId_MuteRfCnf; case Litecell15_PrimId_SetRxAttenReq: return Litecell15_PrimId_SetRxAttenCnf; + case Litecell15_PrimId_IsAliveReq: return Litecell15_PrimId_IsAliveCnf; + case Litecell15_PrimId_SetMaxCellSizeReq: return Litecell15_PrimId_SetMaxCellSizeCnf; + case Litecell15_PrimId_SetC0IdleSlotPowerReductionReq: return Litecell15_PrimId_SetC0IdleSlotPowerReductionCnf; default: return -1; // Weak } } diff --git a/src/osmo-bts-litecell15/lc15bts.h b/src/osmo-bts-litecell15/lc15bts.h index 4c40db0..6360826 100644 --- a/src/osmo-bts-litecell15/lc15bts.h +++ b/src/osmo-bts-litecell15/lc15bts.h @@ -22,6 +22,28 @@ L1P_T_IND, }; + +enum lc15_diversity_mode{ + LC15_DIVERSITY_SISO_A = 0, + LC15_DIVERSITY_SISO_B, + LC15_DIVERSITY_MRC, +}; + +enum lc15_pedestal_mode{ + LC15_PEDESTAL_OFF = 0, + LC15_PEDESTAL_ON, +}; + +enum lc15_led_control_mode{ + LC15_LED_CONTROL_BTS = 0, + LC15_LED_CONTROL_EXT, +}; + +enum lc15_auto_pwr_adjust_mode{ + LC15_TX_PWR_ADJ_NONE = 0, + LC15_TX_PWR_ADJ_AUTO, +}; + enum l1prim_type lc15bts_get_l1prim_type(GsmL1_PrimId_t id); const struct value_string lc15bts_l1prim_names[GsmL1_PrimId_NUM+1]; GsmL1_PrimId_t lc15bts_get_l1prim_conf(GsmL1_PrimId_t id); @@ -61,4 +83,15 @@ const uint8_t pdch_msu_size[_NUM_PDCH_CS]; +/* LC15 default parameters */ +#define LC15_BTS_MAX_CELL_SIZE_DEFAULT 166 /* 166 qbits is default value */ +#define LC15_BTS_DIVERSITY_MODE_DEFAULT 0 /* SISO-A is default mode */ +#define LC15_BTS_PEDESTAL_MODE_DEFAULT 0 /* Unused TS is off by default */ +#define LC15_BTS_LED_CTRL_MODE_DEFAULT 0 /* LED is controlled by BTS by default */ +#define LC15_BTS_DSP_ALIVE_TMR_DEFAULT 5 /* Default DSP alive timer is 5 seconds */ +#define LC15_BTS_TX_PWR_ADJ_DEFAULT 0 /* Default Tx power auto adjustment is none */ +#define LC15_BTS_TX_RED_PWR_8PSK_DEFAULT 0 /* Default 8-PSK maximum power level is 0 dB */ +#define LC15_BTS_RTP_DRIFT_THRES_DEFAULT 0 /* Default RTP drift threshold is 0 ms (disabled) */ +#define LC15_BTS_TX_C0_IDLE_RED_PWR_DEFAULT 0 /* Default C0 idle slot reduction power level is 0 dB */ + #endif /* LC15BTS_H */ diff --git a/src/osmo-bts-litecell15/lc15bts_vty.c b/src/osmo-bts-litecell15/lc15bts_vty.c index d27ec28..e895ab8 100644 --- a/src/osmo-bts-litecell15/lc15bts_vty.c +++ b/src/osmo-bts-litecell15/lc15bts_vty.c @@ -43,6 +43,11 @@ #include #include +#include +#include +#include +#include + #include #include #include @@ -55,6 +60,7 @@ #include "utils.h" extern int lchan_activate(struct gsm_lchan *lchan); +extern int rsl_tx_preproc_meas_res(struct gsm_lchan *lchan); #define TRX_STR "Transceiver related commands\n" "TRX number\n" @@ -65,6 +71,31 @@ static struct gsm_bts *vty_bts; +static const struct value_string lc15_diversity_mode_strs[] = { + { LC15_DIVERSITY_SISO_A, "siso-a" }, + { LC15_DIVERSITY_SISO_B, "siso-b" }, + { LC15_DIVERSITY_MRC, "mrc" }, + { 0, NULL } +}; + +static const struct value_string lc15_pedestal_mode_strs[] = { + { LC15_PEDESTAL_OFF, "off" }, + { LC15_PEDESTAL_ON, "on" }, + { 0, NULL } +}; + +static const struct value_string lc15_led_mode_strs[] = { + { LC15_LED_CONTROL_BTS, "bts" }, + { LC15_LED_CONTROL_EXT, "external" }, + { 0, NULL } +}; + +static const struct value_string lc15_auto_adj_pwr_strs[] = { + { LC15_TX_PWR_ADJ_NONE, "none" }, + { LC15_TX_PWR_ADJ_AUTO, "auto" }, + { 0, NULL } +}; + /* configuration */ DEFUN(cfg_phy_cal_path, cfg_phy_cal_path_cmd, @@ -321,8 +352,164 @@ return CMD_SUCCESS; } +DEFUN(cfg_phy_max_cell_size, cfg_phy_max_cell_size_cmd, + "max-cell-size <0-166>", + "Set the maximum cell size in qbits\n") +{ + 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; +} + +DEFUN(cfg_phy_diversity_mode, cfg_phy_diversity_mode_cmd, + "diversity-mode (siso-a|siso-b|mrc)", + "Set reception diversity mode \n" + "Reception diversity mode can be (siso-a, siso-b, mrc)\n") +{ + 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; + } + + pinst->u.lc15.diversity_mode = (uint8_t)val; + return CMD_SUCCESS; +} + +DEFUN(cfg_phy_pedestal_mode, cfg_phy_pedestal_mode_cmd, + "pedestal-mode (on|off)", + "Set unused time-slot transmission in pedestal mode\n" + "Transmission pedestal mode can be (off, on)\n") +{ + 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; + } + + pinst->u.lc15.pedestal_mode = (uint8_t)val; + return CMD_SUCCESS; +} + +DEFUN(cfg_bts_led_mode, cfg_bts_led_mode_cmd, + "led-control-mode (bts|external)", + "Set LED controlled by BTS or external software\n" + "LED can be controlled by (bts, external)\n") +{ + 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; + } + + struct bts_lc15_priv *bts_lc15 = bts->model_priv; + bts_lc15->led_ctrl_mode = (uint8_t)val; + return CMD_SUCCESS; +} + +DEFUN(cfg_phy_dsp_alive_timer, cfg_phy_dsp_alive_timer_cmd, + "dsp-alive-period <0-60>", + "Set DSP alive timer period in second\n") +{ + 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; +} + +DEFUN(cfg_phy_auto_tx_pwr_adj, cfg_phy_auto_tx_pwr_adj_cmd, + "pwr-adj-mode (none|auto)", + "Set output power adjustment mode\n") +{ + 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; + } + + pinst->u.lc15.tx_pwr_adj_mode = (uint8_t)val; + return CMD_SUCCESS; +} + +DEFUN(cfg_phy_tx_red_pwr_8psk, cfg_phy_tx_red_pwr_8psk_cmd, + "tx-red-pwr-8psk <0-40>", + "Set reduction output power for 8-PSK scheme in dB unit\n") +{ + 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; +} + +DEFUN(cfg_phy_c0_idle_red_pwr, cfg_phy_c0_idle_red_pwr_cmd, + "c0-idle-red-pwr <0-40>", + "Set reduction output power for C0 idle slot in dB unit\n") +{ + 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; +} + +DEFUN(cfg_bts_rtp_drift_threshold, cfg_bts_rtp_drift_threshold_cmd, + "rtp-drift-threshold <0-10000>", + "RTP parameters\n" + "RTP timestamp drift threshold in ms\n") +{ + struct gsm_bts *bts = vty->index; + + struct bts_lc15_priv *bts_lc15 = bts->model_priv; + bts_lc15->rtp_drift_thres_ms = (unsigned int) atoi(argv[0]); + + return CMD_SUCCESS; +} + void bts_model_config_write_bts(struct vty *vty, struct gsm_bts *bts) { + struct bts_lc15_priv *bts_lc15 = bts->model_priv; + vty_out(vty, " led-control-mode %s%s", + get_value_string(lc15_led_mode_strs, bts_lc15->led_ctrl_mode), VTY_NEWLINE); + + vty_out(vty, " rtp-drift-threshold %d%s", + bts_lc15->rtp_drift_thres_ms, VTY_NEWLINE); + } void bts_model_config_write_trx(struct vty *vty, struct gsm_bts_trx *trx) @@ -349,6 +536,28 @@ if (pinst->u.lc15.calib_path) vty_out(vty, " trx-calibration-path %s%s", pinst->u.lc15.calib_path, VTY_NEWLINE); + + vty_out(vty, " max-cell-size %d%s", + pinst->u.lc15.max_cell_size, VTY_NEWLINE); + + vty_out(vty, " diversity-mode %s%s", + get_value_string(lc15_diversity_mode_strs, pinst->u.lc15.diversity_mode), VTY_NEWLINE); + + vty_out(vty, " pedestal-mode %s%s", + get_value_string(lc15_pedestal_mode_strs, pinst->u.lc15.pedestal_mode) , VTY_NEWLINE); + + vty_out(vty, " dsp-alive-period %d%s", + pinst->u.lc15.dsp_alive_period, VTY_NEWLINE); + + vty_out(vty, " pwr-adj-mode %s%s", + get_value_string(lc15_auto_adj_pwr_strs, pinst->u.lc15.tx_pwr_adj_mode), VTY_NEWLINE); + + vty_out(vty, " tx-red-pwr-8psk %d%s", + pinst->u.lc15.tx_pwr_red_8psk, VTY_NEWLINE); + + vty_out(vty, " c0-idle-red-pwr %d%s", + pinst->u.lc15.tx_c0_idle_pwr_red, VTY_NEWLINE); + } int bts_model_vty_init(struct gsm_bts *bts) @@ -401,6 +610,8 @@ install_element(BTS_NODE, &cfg_bts_auto_band_cmd); install_element(BTS_NODE, &cfg_bts_no_auto_band_cmd); + install_element(BTS_NODE, &cfg_bts_led_mode_cmd); + install_element(BTS_NODE, &cfg_bts_rtp_drift_threshold_cmd); install_element(TRX_NODE, &cfg_trx_nominal_power_cmd); @@ -408,6 +619,14 @@ install_element(PHY_INST_NODE, &cfg_phy_no_dsp_trace_f_cmd); install_element(PHY_INST_NODE, &cfg_phy_cal_path_cmd); + install_element(PHY_INST_NODE, &cfg_phy_diversity_mode_cmd); + install_element(PHY_INST_NODE, &cfg_phy_pedestal_mode_cmd); + install_element(PHY_INST_NODE, &cfg_phy_max_cell_size_cmd); + install_element(PHY_INST_NODE, &cfg_phy_dsp_alive_timer_cmd); + install_element(PHY_INST_NODE, &cfg_phy_auto_tx_pwr_adj_cmd); + install_element(PHY_INST_NODE, &cfg_phy_tx_red_pwr_8psk_cmd); + install_element(PHY_INST_NODE, &cfg_phy_c0_idle_red_pwr_cmd); + return 0; } diff --git a/src/osmo-bts-litecell15/main.c b/src/osmo-bts-litecell15/main.c index 6f3fc00..ef02135 100644 --- a/src/osmo-bts-litecell15/main.c +++ b/src/osmo-bts-litecell15/main.c @@ -83,14 +83,21 @@ int bts_model_init(struct gsm_bts *bts) { - struct gsm_bts_trx *trx; struct stat st; static struct osmo_fd accept_fd, read_fd; int rc; + struct bts_lc15_priv *bts_lc15 = talloc(bts, struct bts_lc15_priv); + + bts->model_priv = bts_lc15; bts->variant = BTS_OSMO_LITECELL15; bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3); + /* specific default values for LC15 platform */ + bts_lc15->led_ctrl_mode = LC15_BTS_LED_CTRL_MODE_DEFAULT; + /* RTP drift threshold default */ + bts_lc15->rtp_drift_thres_ms = LC15_BTS_RTP_DRIFT_THRES_DEFAULT; + rc = oml_router_init(bts, OML_ROUTER_PATH, &accept_fd, &read_fd); if (rc < 0) { fprintf(stderr, "Error creating the OML router: %s rc=%d\n", diff --git a/src/osmo-bts-litecell15/oml.c b/src/osmo-bts-litecell15/oml.c index edc49ec..a519b38 100644 --- a/src/osmo-bts-litecell15/oml.c +++ b/src/osmo-bts-litecell15/oml.c @@ -384,7 +384,7 @@ struct msgb *msg; GsmL1_MphInitReq_t *mi_req; GsmL1_DeviceParam_t *dev_par; - int lc15_band; + int rc, lc15_band; if (!gsm_abis_mo_check_attr(&trx->mo, trx_rqd_attr, ARRAY_SIZE(trx_rqd_attr))) { @@ -394,6 +394,15 @@ //return oml_mo_opstart_nack(&trx->mo, NM_NACK_CANT_PERFORM); } + /* Update TRX band */ + rc = gsm_arfcn2band_rc(trx->arfcn, &trx->bts->band); + if (rc) { + /* FIXME: abort initialization? */ + LOGP(DL1C, LOGL_ERROR, "Could not pick GSM band " + "for ARFCN %u\n", trx->arfcn); + trx->bts->band = 0x00; + } + lc15_band = lc15bts_select_lc15_band(trx, trx->arfcn); if (lc15_band < 0) { LOGP(DL1C, LOGL_ERROR, "Unsupported GSM band %s\n", @@ -1170,6 +1179,7 @@ { GsmL1_ConfigParamId_SetTxPowerLevel, "Set Tx power level" }, { GsmL1_ConfigParamId_SetLogChParams, "Set logical channel params" }, { GsmL1_ConfigParamId_SetCipheringParams,"Configure ciphering params" }, + { GsmL1_ConfigParamId_Set8pskPowerReduction, "Set 8PSK Tx power reduction" }, { 0, NULL } }; @@ -1227,6 +1237,56 @@ return 0; } +static int chmod_txpower_backoff_8psk_compl_cb(struct gsm_bts_trx *trx, struct msgb *l1_msg, + void *data) +{ + GsmL1_Prim_t *l1p = msgb_l1prim(l1_msg); + GsmL1_MphConfigCnf_t *cc = &l1p->u.mphConfigCnf; + + LOGP(DL1C, LOGL_INFO, "%s MPH-CONFIG.conf (%s) ", + gsm_trx_name(trx), + get_value_string(lc15bts_l1cfgt_names, cc->cfgParamId)); + + LOGPC(DL1C, LOGL_INFO, "Backoff %u dB\n", + cc->cfgParams.set8pskPowerReduction.u8PowerReduction); + + msgb_free(l1_msg); + + return 0; +} + +static int chmod_max_cell_size_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, + void *data) +{ + Litecell15_Prim_t *sysp = msgb_sysprim(resp); + Litecell15_SetMaxCellSizeCnf_t *sac = &sysp->u.setMaxCellSizeCnf; + + LOGP(DL1C, LOGL_INFO, "%s Rx SYS prim %s -> %s\n", + gsm_trx_name(trx), + get_value_string(lc15bts_sysprim_names, sysp->id), + get_value_string(lc15bts_l1status_names, sac->status)); + + msgb_free(resp); + + return 0; +} + +static int chmod_c0_idle_pwr_red_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, + void *data) +{ + Litecell15_Prim_t *sysp = msgb_sysprim(resp); + Litecell15_SetC0IdleSlotPowerReductionCnf_t *sac = &sysp->u.setC0IdleSlotPowerReductionCnf; + + LOGP(DL1C, LOGL_INFO, "%s Rx SYS prim %s -> %s\n", + gsm_trx_name(trx), + get_value_string(lc15bts_sysprim_names, sysp->id), + get_value_string(lc15bts_l1status_names, sac->status)); + + msgb_free(resp); + + return 0; +} + static int chmod_modif_compl_cb(struct gsm_bts_trx *trx, struct msgb *l1_msg, void *data) { @@ -1368,6 +1428,47 @@ return l1if_gsm_req_compl(fl1h, msg, chmod_txpower_compl_cb, NULL); } +int l1if_set_txpower_backoff_8psk(struct lc15l1_hdl *fl1h, uint8_t backoff) +{ + struct msgb *msg = l1p_msgb_alloc(); + GsmL1_MphConfigReq_t *conf_req; + + conf_req = prim_init(msgb_l1prim(msg), GsmL1_PrimId_MphConfigReq, fl1h, 0); + conf_req->cfgParamId = GsmL1_ConfigParamId_Set8pskPowerReduction; + conf_req->cfgParams.set8pskPowerReduction.u8PowerReduction = backoff; + + return l1if_gsm_req_compl(fl1h, msg, chmod_txpower_backoff_8psk_compl_cb, NULL); +} + +int l1if_set_max_cell_size(struct lc15l1_hdl *fl1h, uint8_t cell_size) +{ + struct msgb *msg = sysp_msgb_alloc(); + Litecell15_Prim_t *sys_prim = msgb_sysprim(msg); + sys_prim->id = Litecell15_PrimId_SetMaxCellSizeReq; + sys_prim->u.setMaxCellSizeReq.u8MaxCellSize = cell_size; + + LOGP(DL1C, LOGL_INFO, "%s Set max cell size = %d qbits\n", + gsm_trx_name(fl1h->phy_inst->trx), + cell_size); + + return l1if_req_compl(fl1h, msg, chmod_max_cell_size_compl_cb, NULL); + +} + +int l1if_set_txpower_c0_idle_pwr_red(struct lc15l1_hdl *fl1h, uint8_t red) +{ + struct msgb *msg = sysp_msgb_alloc(); + Litecell15_Prim_t *sys_prim = msgb_sysprim(msg); + sys_prim->id = Litecell15_PrimId_SetC0IdleSlotPowerReductionReq; + sys_prim->u.setC0IdleSlotPowerReductionReq.u8PowerReduction = red; + + LOGP(DL1C, LOGL_INFO, "%s Set C0 idle slot power reduction = %d dB\n", + gsm_trx_name(fl1h->phy_inst->trx), + red); + + return l1if_req_compl(fl1h, msg, chmod_c0_idle_pwr_red_compl_cb, NULL); +} + const enum GsmL1_CipherId_t rsl2l1_ciph[] = { [0] = GsmL1_CipherId_A50, [1] = GsmL1_CipherId_A50, @@ -1700,7 +1801,8 @@ /* 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) && + 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)) { LOGP(DOML, LOGL_ERROR, "Channel TSC %u != BSIC-TSC %u\n", *TLVP_VAL(new_attr, NM_ATT_TSC), bts->bsic & 7); @@ -1718,12 +1820,38 @@ if (kind == NM_OC_RADIO_CARRIER) { struct gsm_bts_trx *trx = obj; struct lc15l1_hdl *fl1h = trx_lc15l1_hdl(trx); + /* convert max TA to max cell size in qbits */ + uint8_t cell_size = bts->max_ta << 2; + + /* We do not need to check for L1 handle + * because the max cell size parameter can receive before MphInit */ + if (fl1h->phy_inst->u.lc15.max_cell_size != cell_size) { + /* instruct L1 to apply max cell size */ + l1if_set_max_cell_size(fl1h, cell_size); + /* update current max cell size */ + fl1h->phy_inst->u.lc15.max_cell_size = cell_size; + } + /* Did we go through MphInit yet? If yes fire and forget */ - if (fl1h->hLayer1) + if (fl1h->hLayer1) { power_ramp_start(trx, get_p_target_mdBm(trx, 0), 0); - } + if (fl1h->phy_inst->u.lc15.tx_pwr_red_8psk != trx->max_power_backoff_8psk) { + /* update current Tx power backoff for 8-PSK */ + fl1h->phy_inst->u.lc15.tx_pwr_red_8psk = trx->max_power_backoff_8psk; + /* instruct L1 to apply Tx power backoff for 8 PSK */ + l1if_set_txpower_backoff_8psk(fl1h, fl1h->phy_inst->u.lc15.tx_pwr_red_8psk); + } + + if (fl1h->phy_inst->u.lc15.tx_c0_idle_pwr_red != trx->c0_idle_power_red) { + /* update current C0 idle slot Tx power reduction */ + fl1h->phy_inst->u.lc15.tx_c0_idle_pwr_red = trx->c0_idle_power_red; + /* instruct L1 to apply C0 idle slot power reduction */ + l1if_set_txpower_c0_idle_pwr_red(fl1h, fl1h->phy_inst->u.lc15.tx_c0_idle_pwr_red); + } + } + } /* FIXME: we actually need to send a ACK or NACK for the OML message */ return oml_fom_ack_nack(msg, 0); } @@ -1893,6 +2021,8 @@ cb_ts_disconnected(ts); + msgb_free(l1_msg); + return 0; } @@ -1927,6 +2057,8 @@ cb_ts_connected(ts, 0); + msgb_free(l1_msg); + return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17808 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id41bba798440b00a3b11441b64b2e8094a946bf2 Gerrit-Change-Number: 17808 Gerrit-PatchSet: 1 Gerrit-Owner: rafael2k Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Apr 14 06:54:10 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Tue, 14 Apr 2020 06:54:10 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Increase max_cell_size. In-Reply-To: References: Message-ID: rafael2k has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17807 ) Change subject: osmo-bts-litecell15: Increase max_cell_size. ...................................................................... Abandoned Lets go big here: https://gerrit.osmocom.org/c/osmo-bts/+/17808 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I05b9021580f619dfddb9418f6f78164e99e5f6af Gerrit-Change-Number: 17807 Gerrit-PatchSet: 3 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Apr 14 07:17:19 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Tue, 14 Apr 2020 07:17:19 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. 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/+/17808 to look at the new patch set (#2). Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... osmo-bts-litecell15: Implement missing features. Many hardware parameters of the LC 1.5 were not exposed to the user. This patchset introduces most of the features, being very similar to osmo-bts-oc2g code. Change-Id: Id41bba798440b00a3b11441b64b2e8094a946bf2 --- M include/osmo-bts/phy_link.h M src/osmo-bts-litecell15/l1_if.c M src/osmo-bts-litecell15/l1_if.h M src/osmo-bts-litecell15/lc15bts.c M src/osmo-bts-litecell15/lc15bts.h M src/osmo-bts-litecell15/lc15bts_vty.c M src/osmo-bts-litecell15/main.c M src/osmo-bts-litecell15/oml.c 8 files changed, 531 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/08/17808/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17808 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id41bba798440b00a3b11441b64b2e8094a946bf2 Gerrit-Change-Number: 17808 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Apr 14 07:17:20 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Tue, 14 Apr 2020 07:17:20 +0000 Subject: Change in osmo-bts[master]: Merge branch 'rafael2k/litecell15_missing_features' of ssh://gerrit.o... References: Message-ID: rafael2k has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17809 ) Change subject: Merge branch 'rafael2k/litecell15_missing_features' of ssh://gerrit.osmocom.org:29418/osmo-bts into rafael2k/litecell15_missing_features ...................................................................... Merge branch 'rafael2k/litecell15_missing_features' of ssh://gerrit.osmocom.org:29418/osmo-bts into rafael2k/litecell15_missing_features Change-Id: I363656e55fe7828cc452df14c0ff0420180e2af5 --- M src/osmo-bts-litecell15/l1_if.c 2 files changed, 0 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/09/17809/1 diff --git a/src/osmo-bts-litecell15/l1_if.c b/src/osmo-bts-litecell15/l1_if.c index 000a0f0..75f4fa7 100644 --- a/src/osmo-bts-litecell15/l1_if.c +++ b/src/osmo-bts-litecell15/l1_if.c @@ -1265,11 +1265,7 @@ get_value_string(lc15bts_l1status_names, status)); bts_shutdown(trx->bts, "RF-ACT failure"); } else { -<<<<<<< HEAD (8fd72d osmo-bts-litecell15: Implement missing features.) if(bts_lc15->led_ctrl_mode == LC15_LED_CONTROL_BTS) -======= - if(trx->bts->lc15.led_ctrl_mode == LC15_LED_CONTROL_BTS) ->>>>>>> BRANCH (378485 osmo-bts-litecell15: Implement missing features.) bts_update_status(BTS_STATUS_RF_ACTIVE, 1); } @@ -1282,11 +1278,7 @@ for (i = 0; i < ARRAY_SIZE(trx->ts); i++) oml_mo_state_chg(&trx->ts[i].mo, NM_OPSTATE_DISABLED, NM_AVSTATE_DEPENDENCY); } else { -<<<<<<< HEAD (8fd72d osmo-bts-litecell15: Implement missing features.) if(bts_lc15->led_ctrl_mode == LC15_LED_CONTROL_BTS) -======= - if(trx->bts->lc15.led_ctrl_mode == LC15_LED_CONTROL_BTS) ->>>>>>> BRANCH (378485 osmo-bts-litecell15: Implement missing features.) bts_update_status(BTS_STATUS_RF_ACTIVE, 0); oml_mo_state_chg(&trx->mo, NM_OPSTATE_DISABLED, NM_AVSTATE_OFF_LINE); oml_mo_state_chg(&trx->bb_transc.mo, NM_OPSTATE_DISABLED, NM_AVSTATE_OFF_LINE); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17809 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I363656e55fe7828cc452df14c0ff0420180e2af5 Gerrit-Change-Number: 17809 Gerrit-PatchSet: 1 Gerrit-Owner: rafael2k Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Apr 14 07:50:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 14 Apr 2020 07:50:06 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl threads In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17805 ) Change subject: transceiver: get rid of the ctrl threads ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 14 Apr 2020 07:50: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 Apr 14 09:54:46 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 14 Apr 2020 09:54:46 +0000 Subject: Change in osmo-msc[master]: doc: do not use random ip-address for MGW In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/17598 to look at the new patch set (#3). Change subject: doc: do not use random ip-address for MGW ...................................................................... doc: do not use random ip-address for MGW The example configs suggest to use a random ip-address as MGW address. Lets use a loopback address here. This will suit the usual case where MGW and MSC run together on the same machine. Change-Id: Ie2b2094fdcfed45353d9ba22cb07eed626fd143c --- M doc/examples/osmo-msc/osmo-msc.cfg M doc/examples/osmo-msc/osmo-msc_custom-sccp.cfg M doc/examples/osmo-msc/osmo-msc_multi-cs7.cfg M tests/test_nodes.vty 4 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/98/17598/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie2b2094fdcfed45353d9ba22cb07eed626fd143c Gerrit-Change-Number: 17598 Gerrit-PatchSet: 3 Gerrit-Owner: dexter 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 Apr 14 10:00:36 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 14 Apr 2020 10:00:36 +0000 Subject: Change in osmo-trx[master]: doc: apply an rssi-offset of 28 by default. In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17596 ) Change subject: doc: apply an rssi-offset of 28 by default. ...................................................................... Patch Set 3: (1 comment) (ensure all comments get sent) https://gerrit.osmocom.org/c/osmo-trx/+/17596/3/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg File doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg: https://gerrit.osmocom.org/c/osmo-trx/+/17596/3/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg at 16 PS3, Line 16: rssi-offset 28.000000 > lol where all those zeros come from? The value is a float, we could probably do something about the format string, but I don't think the zeros hurt. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I62725fe454f54e2c7cb7550dadb1e6fc94337d78 Gerrit-Change-Number: 17596 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 10:00:36 +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 Apr 14 11:06:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 14 Apr 2020 11:06:04 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Avoid using --logfile arg References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17810 ) Change subject: iperf3: Avoid using --logfile arg ...................................................................... iperf3: Avoid using --logfile arg Some older iperf3 versions don't support the --logfile arg. Let's instead parse the json from stdout. Old --logfile behavior is left in code but disabled since it's a nicer (less hacky) way to get results, because parsing from stdout means we need to avoid reading some content. Change-Id: Ia1b7fa4dae074089878963aeddf0006aea68e31f --- M src/osmo_gsm_tester/obj/iperf3.py 1 file changed, 44 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/10/17810/1 diff --git a/src/osmo_gsm_tester/obj/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py index d2e9c36..9427770 100644 --- a/src/osmo_gsm_tester/obj/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -23,14 +23,20 @@ from ..core import log, util, config, process, remote from . import pcap_recorder, run_node -def iperf3_result_to_json(file): - with open(file) as f: - # Sometimes iperf3 provides 2 dictionaries, the 2nd one being an error about being interrupted (by us). - # json parser doesn't support (raises exception) parsing several dictionaries at a time (not a valid json object). - # We are only interested in the first dictionary, the regular results one: - d = f.read().split("\n}\n")[0] + "\n}\n" - data = json.loads(d) - return data +def iperf3_result_to_json(log_obj, data): + try: + # Drop non-interesting self-generated output before json: + if not data.startswith('{\n'): + data = "{\n" + data.split("\n{\n")[1] + # Sometimes iperf3 provides 2 dictionaries, the 2nd one being an error about being interrupted (by us). + # json parser doesn't support (raises exception) parsing several dictionaries at a time (not a valid json object). + # We are only interested in the first dictionary, the regular results one: + data = data.split("\n}")[0] + "\n}" + j = json.loads(data) + return j + except Exception as e: + log_obj.log('failed parsing iperf3 output: "%s"' % data) + raise e class IPerf3Server(log.Origin): @@ -51,11 +57,12 @@ self.rem_host = None self.remote_log_file = None self.log_copied = False + self.logfile_supported = False # some older versions of iperf doesn't support --logfile arg def cleanup(self): if self.process is None: return - if self.runs_locally(): + if self.runs_locally() or not self.logfile_supported: return # copy back files (may not exist, for instance if there was an early error of process): try: @@ -86,8 +93,10 @@ self.rem_host.recreate_remote_dir(remote_run_dir) args = ('iperf3', '-s', '-B', self.addr(), - '-p', str(self._port), '-J', - '--logfile', self.remote_log_file) + '-p', str(self._port), '-J') + if self.logfile_supported: + args += ('--logfile', self.remote_log_file,) + self.process = self.rem_host.RemoteProcess(self.name(), args) self.suite_run.remember_to_stop(self.process) self.process.launch() @@ -97,8 +106,9 @@ 'host %s and port not 22' % self.addr()) args = ('iperf3', '-s', '-B', self.addr(), - '-p', str(self._port), '-J', - '--logfile', os.path.abspath(self.log_file)) + '-p', str(self._port), '-J') + if self.logfile_supported: + args += ('--logfile', os.path.abspath(self.log_file),) self.process = process.Process(self.name(), self.run_dir, args, env={}) self.suite_run.remember_to_stop(self.process) @@ -114,10 +124,14 @@ self.suite_run.stop_process(self.process) def get_results(self): - if not self.runs_locally() and not self.log_copied: - self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file) - self.log_copied = True - return iperf3_result_to_json(self.log_file) + if self.logfile_supported: + if not self.runs_locally() and not self.log_copied: + self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file) + self.log_copied = True + with open(self.log_file) as f: + return iperf3_result_to_json(self, f.read()) + else: + return iperf3_result_to_json(self, self.process.get_stdout()) def addr(self): return self.ip_address.get('addr') @@ -150,6 +164,7 @@ self.rem_host = None self.remote_log_file = None self.log_copied = False + self.logfile_supported = False # some older versions of iperf doesn't support --logfile arg def runs_locally(self): locally = not self._run_node or self._run_node.is_local() @@ -191,8 +206,9 @@ popen_args = ('iperf3', '-c', self.server.addr(), '-p', str(self.server.port()), '-J', - '--logfile', self.remote_log_file, '-t', str(time_sec)) + if self.logfile_supported: + popen_args += ('--logfile', self.remote_log_file,) if downlink: popen_args += ('-R',) @@ -208,8 +224,9 @@ popen_args = ('iperf3', '-c', self.server.addr(), '-p', str(self.server.port()), '-J', - '--logfile', os.path.abspath(self.log_file), '-t', str(time_sec)) + if self.logfile_supported: + popen_args += ('--logfile', os.path.abspath(self.log_file),) if downlink: popen_args += ('-R',) @@ -225,10 +242,14 @@ return self.get_results() def get_results(self): - if not self.runs_locally() and not self.log_copied: - self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file) - self.log_copied = True - return iperf3_result_to_json(self.log_file) + if self.logfile_supported: + if not self.runs_locally() and not self.log_copied: + self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file) + self.log_copied = True + with open(self.log_file) as f: + return iperf3_result_to_json(self, f.read()) + else: + return iperf3_result_to_json(self, self.process.get_stdout()) def set_run_node(self, run_node): self._run_node = run_node -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17810 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: Ia1b7fa4dae074089878963aeddf0006aea68e31f Gerrit-Change-Number: 17810 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 Apr 14 11:15:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 14 Apr 2020 11:15:34 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Avoid using --logfile arg In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17810 ) Change subject: iperf3: Avoid using --logfile arg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17810 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: Ia1b7fa4dae074089878963aeddf0006aea68e31f Gerrit-Change-Number: 17810 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 11:15: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 Apr 14 11:15:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 14 Apr 2020 11:15:37 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Avoid using --logfile arg In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17810 ) Change subject: iperf3: Avoid using --logfile arg ...................................................................... iperf3: Avoid using --logfile arg Some older iperf3 versions don't support the --logfile arg. Let's instead parse the json from stdout. Old --logfile behavior is left in code but disabled since it's a nicer (less hacky) way to get results, because parsing from stdout means we need to avoid reading some content. Change-Id: Ia1b7fa4dae074089878963aeddf0006aea68e31f --- M src/osmo_gsm_tester/obj/iperf3.py 1 file changed, 44 insertions(+), 23 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py index d2e9c36..9427770 100644 --- a/src/osmo_gsm_tester/obj/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -23,14 +23,20 @@ from ..core import log, util, config, process, remote from . import pcap_recorder, run_node -def iperf3_result_to_json(file): - with open(file) as f: - # Sometimes iperf3 provides 2 dictionaries, the 2nd one being an error about being interrupted (by us). - # json parser doesn't support (raises exception) parsing several dictionaries at a time (not a valid json object). - # We are only interested in the first dictionary, the regular results one: - d = f.read().split("\n}\n")[0] + "\n}\n" - data = json.loads(d) - return data +def iperf3_result_to_json(log_obj, data): + try: + # Drop non-interesting self-generated output before json: + if not data.startswith('{\n'): + data = "{\n" + data.split("\n{\n")[1] + # Sometimes iperf3 provides 2 dictionaries, the 2nd one being an error about being interrupted (by us). + # json parser doesn't support (raises exception) parsing several dictionaries at a time (not a valid json object). + # We are only interested in the first dictionary, the regular results one: + data = data.split("\n}")[0] + "\n}" + j = json.loads(data) + return j + except Exception as e: + log_obj.log('failed parsing iperf3 output: "%s"' % data) + raise e class IPerf3Server(log.Origin): @@ -51,11 +57,12 @@ self.rem_host = None self.remote_log_file = None self.log_copied = False + self.logfile_supported = False # some older versions of iperf doesn't support --logfile arg def cleanup(self): if self.process is None: return - if self.runs_locally(): + if self.runs_locally() or not self.logfile_supported: return # copy back files (may not exist, for instance if there was an early error of process): try: @@ -86,8 +93,10 @@ self.rem_host.recreate_remote_dir(remote_run_dir) args = ('iperf3', '-s', '-B', self.addr(), - '-p', str(self._port), '-J', - '--logfile', self.remote_log_file) + '-p', str(self._port), '-J') + if self.logfile_supported: + args += ('--logfile', self.remote_log_file,) + self.process = self.rem_host.RemoteProcess(self.name(), args) self.suite_run.remember_to_stop(self.process) self.process.launch() @@ -97,8 +106,9 @@ 'host %s and port not 22' % self.addr()) args = ('iperf3', '-s', '-B', self.addr(), - '-p', str(self._port), '-J', - '--logfile', os.path.abspath(self.log_file)) + '-p', str(self._port), '-J') + if self.logfile_supported: + args += ('--logfile', os.path.abspath(self.log_file),) self.process = process.Process(self.name(), self.run_dir, args, env={}) self.suite_run.remember_to_stop(self.process) @@ -114,10 +124,14 @@ self.suite_run.stop_process(self.process) def get_results(self): - if not self.runs_locally() and not self.log_copied: - self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file) - self.log_copied = True - return iperf3_result_to_json(self.log_file) + if self.logfile_supported: + if not self.runs_locally() and not self.log_copied: + self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file) + self.log_copied = True + with open(self.log_file) as f: + return iperf3_result_to_json(self, f.read()) + else: + return iperf3_result_to_json(self, self.process.get_stdout()) def addr(self): return self.ip_address.get('addr') @@ -150,6 +164,7 @@ self.rem_host = None self.remote_log_file = None self.log_copied = False + self.logfile_supported = False # some older versions of iperf doesn't support --logfile arg def runs_locally(self): locally = not self._run_node or self._run_node.is_local() @@ -191,8 +206,9 @@ popen_args = ('iperf3', '-c', self.server.addr(), '-p', str(self.server.port()), '-J', - '--logfile', self.remote_log_file, '-t', str(time_sec)) + if self.logfile_supported: + popen_args += ('--logfile', self.remote_log_file,) if downlink: popen_args += ('-R',) @@ -208,8 +224,9 @@ popen_args = ('iperf3', '-c', self.server.addr(), '-p', str(self.server.port()), '-J', - '--logfile', os.path.abspath(self.log_file), '-t', str(time_sec)) + if self.logfile_supported: + popen_args += ('--logfile', os.path.abspath(self.log_file),) if downlink: popen_args += ('-R',) @@ -225,10 +242,14 @@ return self.get_results() def get_results(self): - if not self.runs_locally() and not self.log_copied: - self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file) - self.log_copied = True - return iperf3_result_to_json(self.log_file) + if self.logfile_supported: + if not self.runs_locally() and not self.log_copied: + self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file) + self.log_copied = True + with open(self.log_file) as f: + return iperf3_result_to_json(self, f.read()) + else: + return iperf3_result_to_json(self, self.process.get_stdout()) def set_run_node(self, run_node): self._run_node = run_node -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17810 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: Ia1b7fa4dae074089878963aeddf0006aea68e31f Gerrit-Change-Number: 17810 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Apr 14 13:04:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:04:01 +0000 Subject: Change in libosmocore[master]: tests/coding: Test decoding of DL EGPRS data packet In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17750 ) Change subject: tests/coding: Test decoding of DL EGPRS data packet ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17750 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ide23a484b980995f24092d1cfbf062aed58fdf61 Gerrit-Change-Number: 17750 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 14 Apr 2020 13: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 Tue Apr 14 13:04:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:04:21 +0000 Subject: Change in libosmocore[master]: tests/coding_test: Fix test_pdtch() results In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17763 ) Change subject: tests/coding_test: Fix test_pdtch() results ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17763 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iffd0ca3669eb8d0d2e80d754fc8acbf72f1bebe8 Gerrit-Change-Number: 17763 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Tue, 14 Apr 2020 13:04: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 Apr 14 13:04:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:04:52 +0000 Subject: Change in osmo-trx[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17800 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: If3d9465068b2c654b935fc3d9ab41d799d5e02e8 Gerrit-Change-Number: 17800 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 13:04: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 Apr 14 13:04:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:04:59 +0000 Subject: Change in osmo-mgw[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17786 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2314ef45e6f588e88d5aab8213cc7b5cdef11325 Gerrit-Change-Number: 17786 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 13:04: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 Apr 14 13:05:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:05:21 +0000 Subject: Change in osmo-trx[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17800 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: If3d9465068b2c654b935fc3d9ab41d799d5e02e8 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 76c3515..b7b0d00 100644 --- a/configure.ac +++ b/configure.ac @@ -51,6 +51,11 @@ AC_PATH_PROG([RM_PROG], [rm]) AC_LANG([C++]) +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: If3d9465068b2c654b935fc3d9ab41d799d5e02e8 Gerrit-Change-Number: 17800 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen 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 Apr 14 13:06:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:06:49 +0000 Subject: Change in osmo-mgw[master]: tests: dlopen does not imply availability of dlsym.. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17785 ) Change subject: tests: dlopen does not imply availability of dlsym.. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1a1e82882ad28dd53e634f10f9cebb4bc74cac1e Gerrit-Change-Number: 17785 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 13: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 Tue Apr 14 13:06:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:06:52 +0000 Subject: Change in osmo-mgw[master]: tests: dlopen does not imply availability of dlsym.. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17785 ) Change subject: tests: dlopen does not imply availability of dlsym.. ...................................................................... tests: dlopen does not imply availability of dlsym.. Check for both. Change-Id: I1a1e82882ad28dd53e634f10f9cebb4bc74cac1e --- M configure.ac M tests/mgcp/Makefile.am M tests/mgcp_client/Makefile.am 3 files changed, 5 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 880a756..557f2c9 100644 --- a/configure.ac +++ b/configure.ac @@ -38,6 +38,9 @@ AC_SEARCH_LIBS([dlopen], [dl dld], [LIBRARY_DL="$LIBS";LIBS=""]) AC_SUBST(LIBRARY_DL) +AC_SEARCH_LIBS([dlsym], [dl dld], [LIBRARY_DLSYM="$LIBS";LIBS=""]) +AC_SUBST(LIBRARY_DLSYM) + PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0) PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.1.0) diff --git a/tests/mgcp/Makefile.am b/tests/mgcp/Makefile.am index df2b7c8..95444b5 100644 --- a/tests/mgcp/Makefile.am +++ b/tests/mgcp/Makefile.am @@ -36,6 +36,7 @@ $(LIBOSMOVTY_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBRARY_DL) \ + $(LIBRARY_DLSYM) \ $(LIBOSMONETIF_LIBS) \ -lm \ $(NULL) diff --git a/tests/mgcp_client/Makefile.am b/tests/mgcp_client/Makefile.am index 5ce9538..3e4c082 100644 --- a/tests/mgcp_client/Makefile.am +++ b/tests/mgcp_client/Makefile.am @@ -35,6 +35,7 @@ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOVTY_LIBS) \ $(LIBRARY_DL) \ + $(LIBRARY_DLSYM) \ $(LIBOSMONETIF_LIBS) \ $(NULL) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1a1e82882ad28dd53e634f10f9cebb4bc74cac1e Gerrit-Change-Number: 17785 Gerrit-PatchSet: 1 Gerrit-Owner: 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 Apr 14 13:06:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:06:52 +0000 Subject: Change in osmo-mgw[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17786 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I2314ef45e6f588e88d5aab8213cc7b5cdef11325 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 557f2c9..349c8db 100644 --- a/configure.ac +++ b/configure.ac @@ -22,6 +22,11 @@ AC_PROG_INSTALL LT_INIT +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2314ef45e6f588e88d5aab8213cc7b5cdef11325 Gerrit-Change-Number: 17786 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen 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 Apr 14 13:07:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:07:07 +0000 Subject: Change in libosmocore[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17784 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8ebd9c6d4efda41c7c8196f963d1f04d65160754 Gerrit-Change-Number: 17784 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 13: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 Tue Apr 14 13:07:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:07:09 +0000 Subject: Change in libosmocore[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17784 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I8ebd9c6d4efda41c7c8196f963d1f04d65160754 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 3b4ad40..92457f1 100644 --- a/configure.ac +++ b/configure.ac @@ -24,6 +24,11 @@ AC_CONFIG_MACRO_DIR([m4]) +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config dnl * If pkg-config is missing, we get a "syntax error" for PKG_CHECK_MODULES. dnl Instead, we want to say that pkg-config and pkg.m4 are missing. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8ebd9c6d4efda41c7c8196f963d1f04d65160754 Gerrit-Change-Number: 17784 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen 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 Apr 14 13:07:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:07:16 +0000 Subject: Change in libosmo-abis[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17789 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia3644168bfea13bda5e09b8bfe1d2c65abd32ad7 Gerrit-Change-Number: 17789 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 13:07: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 Apr 14 13:07:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:07:26 +0000 Subject: Change in libosmo-sccp[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17791 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I292c303840a76c5042dc077829c5df46158ca8ba --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index 9cf517a..fdd6941 100644 --- a/configure.ac +++ b/configure.ac @@ -22,6 +22,11 @@ AC_PROG_INSTALL LT_INIT +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17791 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I292c303840a76c5042dc077829c5df46158ca8ba Gerrit-Change-Number: 17791 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen 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 Apr 14 13:07:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:07:24 +0000 Subject: Change in libosmo-sccp[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17791 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17791 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I292c303840a76c5042dc077829c5df46158ca8ba Gerrit-Change-Number: 17791 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 13:07: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 Apr 14 13:07:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:07:19 +0000 Subject: Change in libosmo-abis[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17789 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ia3644168bfea13bda5e09b8bfe1d2c65abd32ad7 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index 35b8328..1e9cb26 100644 --- a/configure.ac +++ b/configure.ac @@ -21,6 +21,11 @@ AC_PROG_INSTALL LT_INIT([pic-only]) +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia3644168bfea13bda5e09b8bfe1d2c65abd32ad7 Gerrit-Change-Number: 17789 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen 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 Apr 14 13:07:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:07:30 +0000 Subject: Change in osmo-msc[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17798 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17798 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I17d95c416e26dae6ca8bec57df01d3e7b7061058 Gerrit-Change-Number: 17798 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 13:07: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 Apr 14 13:07:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:07:32 +0000 Subject: Change in osmo-msc[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17798 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I17d95c416e26dae6ca8bec57df01d3e7b7061058 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index b515732..984c627 100644 --- a/configure.ac +++ b/configure.ac @@ -22,6 +22,11 @@ AC_PROG_INSTALL LT_INIT +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17798 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I17d95c416e26dae6ca8bec57df01d3e7b7061058 Gerrit-Change-Number: 17798 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen 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 Apr 14 13:07:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:07:37 +0000 Subject: Change in osmo-pcu[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17799 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I999adf84a34c03765ce6c32ece0e61d0ac6e1c13 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index 48de07a..d693c67 100644 --- a/configure.ac +++ b/configure.ac @@ -26,6 +26,11 @@ AC_PROG_INSTALL LT_INIT +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17799 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I999adf84a34c03765ce6c32ece0e61d0ac6e1c13 Gerrit-Change-Number: 17799 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen 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 Apr 14 13:07:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:07:47 +0000 Subject: Change in osmo-ggsn[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17795 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Icc09c9d09bfa01264ddf867356d068e50d97c5a0 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index c8bfae9..c695958 100644 --- a/configure.ac +++ b/configure.ac @@ -19,6 +19,11 @@ AC_PROG_CPP LT_INIT +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Icc09c9d09bfa01264ddf867356d068e50d97c5a0 Gerrit-Change-Number: 17795 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen 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 Apr 14 13:07:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:07:35 +0000 Subject: Change in osmo-pcu[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17799 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17799 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I999adf84a34c03765ce6c32ece0e61d0ac6e1c13 Gerrit-Change-Number: 17799 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 13: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 Tue Apr 14 13:07:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:07:41 +0000 Subject: Change in osmo-bts[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17794 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I9b18ac186d5870e3a6b46678ab7fb2154c9cae07 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index 55755ab..3fc55e2 100644 --- a/configure.ac +++ b/configure.ac @@ -22,6 +22,11 @@ AC_PROG_INSTALL LT_INIT +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b18ac186d5870e3a6b46678ab7fb2154c9cae07 Gerrit-Change-Number: 17794 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen 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 Apr 14 13:07:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:07:44 +0000 Subject: Change in osmo-ggsn[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17795 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Icc09c9d09bfa01264ddf867356d068e50d97c5a0 Gerrit-Change-Number: 17795 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 13:07: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 Apr 14 13:07:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:07:39 +0000 Subject: Change in osmo-bts[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17794 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b18ac186d5870e3a6b46678ab7fb2154c9cae07 Gerrit-Change-Number: 17794 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 13:07: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 Apr 14 13:07:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:07:56 +0000 Subject: Change in osmo-sgsn[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17788 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17788 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I7402b019c191304f639806a3c29e6bb698b398ed Gerrit-Change-Number: 17788 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 13:07: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 Apr 14 13:08:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:08:05 +0000 Subject: Change in osmo-sgsn[master]: tests: dlopen does not imply availability of dlsym.. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17787 ) Change subject: tests: dlopen does not imply availability of dlsym.. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17787 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If41a20bf499f791432f5f207e40688e97fb6e9f7 Gerrit-Change-Number: 17787 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 13:08: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 Apr 14 13:08:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:08:09 +0000 Subject: Change in osmo-sgsn[master]: tests: dlopen does not imply availability of dlsym.. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17787 ) Change subject: tests: dlopen does not imply availability of dlsym.. ...................................................................... tests: dlopen does not imply availability of dlsym.. Check for both. Change-Id: If41a20bf499f791432f5f207e40688e97fb6e9f7 --- M configure.ac M tests/gbproxy/Makefile.am 2 files changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 644a0bd..6aab8d7 100644 --- a/configure.ac +++ b/configure.ac @@ -38,6 +38,9 @@ AC_SEARCH_LIBS([dlopen], [dl dld], [LIBRARY_DL="$LIBS";LIBS=""]) AC_SUBST(LIBRARY_DL) +AC_SEARCH_LIBS([dlsym], [dl dld], [LIBRARY_DLSYM="$LIBS";LIBS=""]) +AC_SUBST(LIBRARY_DLSYM) + PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.2.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.2.0) diff --git a/tests/gbproxy/Makefile.am b/tests/gbproxy/Makefile.am index cb245b4..b9585ac 100644 --- a/tests/gbproxy/Makefile.am +++ b/tests/gbproxy/Makefile.am @@ -46,5 +46,6 @@ $(LIBOSMOVTY_LIBS) \ $(LIBOSMOABIS_LIBS) \ $(LIBRARY_DL) \ + $(LIBRARY_DLSYM) \ -lrt \ $(NULL) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17787 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If41a20bf499f791432f5f207e40688e97fb6e9f7 Gerrit-Change-Number: 17787 Gerrit-PatchSet: 1 Gerrit-Owner: 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 Apr 14 13:08:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:08:09 +0000 Subject: Change in osmo-sgsn[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17788 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I7402b019c191304f639806a3c29e6bb698b398ed --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index 6aab8d7..5c0bede 100644 --- a/configure.ac +++ b/configure.ac @@ -22,6 +22,11 @@ AC_PROG_INSTALL LT_INIT +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17788 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I7402b019c191304f639806a3c29e6bb698b398ed Gerrit-Change-Number: 17788 Gerrit-PatchSet: 3 Gerrit-Owner: 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 Apr 14 13:08:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:08:14 +0000 Subject: Change in osmo-iuh[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17797 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I74cdca5c8bd5a32b6fb05906280cc1cdd64e9369 Gerrit-Change-Number: 17797 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 13:08: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 Apr 14 13:08:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:08:15 +0000 Subject: Change in osmo-iuh[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17797 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: I74cdca5c8bd5a32b6fb05906280cc1cdd64e9369 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index 6328975..1875d5e 100644 --- a/configure.ac +++ b/configure.ac @@ -26,6 +26,11 @@ AC_PROG_CC AC_PROG_INSTALL +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I74cdca5c8bd5a32b6fb05906280cc1cdd64e9369 Gerrit-Change-Number: 17797 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen 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 Apr 14 13:08:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:08:20 +0000 Subject: Change in libsmpp34[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libsmpp34/+/17792 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/17792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: Iae420759fbf3846221f94af4403f6273536ea00b Gerrit-Change-Number: 17792 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 13:08: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 Apr 14 13:08:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:08:22 +0000 Subject: Change in libsmpp34[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libsmpp34/+/17792 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Iae420759fbf3846221f94af4403f6273536ea00b --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index 2c974f8..775b3b7 100644 --- a/configure.ac +++ b/configure.ac @@ -21,6 +21,11 @@ AC_PROG_LIBTOOL AC_PROG_INSTALL +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + # check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/17792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: Iae420759fbf3846221f94af4403f6273536ea00b Gerrit-Change-Number: 17792 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen 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 Apr 14 13:08:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:08:25 +0000 Subject: Change in osmo-bsc[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17793 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If71654d87b375b4b882ab527e89353cd035f695b Gerrit-Change-Number: 17793 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 13:08: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 Apr 14 13:08:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:08:27 +0000 Subject: Change in osmo-bsc[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17793 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: If71654d87b375b4b882ab527e89353cd035f695b --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index 2a48743..06a00fe 100644 --- a/configure.ac +++ b/configure.ac @@ -22,6 +22,11 @@ AC_PROG_INSTALL LT_INIT +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If71654d87b375b4b882ab527e89353cd035f695b Gerrit-Change-Number: 17793 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen 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 Apr 14 13:08:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:08:29 +0000 Subject: Change in libosmo-netif[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/17790 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: If9aa8a066d81cf378d6bbc0fa95ad6e985408af8 Gerrit-Change-Number: 17790 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 13: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 Tue Apr 14 13:08:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:08:32 +0000 Subject: Change in libosmo-netif[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/17790 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: If9aa8a066d81cf378d6bbc0fa95ad6e985408af8 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index 8452d17..d4fbec4 100644 --- a/configure.ac +++ b/configure.ac @@ -22,6 +22,11 @@ LT_INIT AC_PROG_LIBTOOL +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: If9aa8a066d81cf378d6bbc0fa95ad6e985408af8 Gerrit-Change-Number: 17790 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen 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 Apr 14 13:10:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:10:11 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Refactor arg/cfg parser to use talloc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17758 ) Change subject: sgsnemu: Refactor arg/cfg parser to use talloc ...................................................................... Patch Set 2: Are you saying gengetopt on the .ggo file is not working anymore today? If it ist still working, I don't think we should break it. A memory leak in the command line argument parsing is not really a serious problem. We're talking about small amounts of memory leaked once at startup only. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ie0d48a12a8349be5a859a03191421cbd9cc324cc Gerrit-Change-Number: 17758 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 13:10: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 Apr 14 13:11:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:11:15 +0000 Subject: Change in osmo-ggsn[master]: lib/netns.c: Add comments to the code, including doxygen API docs In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17801 to look at the new patch set (#2). Change subject: lib/netns.c: Add comments to the code, including doxygen API docs ...................................................................... lib/netns.c: Add comments to the code, including doxygen API docs Change-Id: I0b20e4870bf62df0a459a621a64a4e2795340ceb --- M lib/netns.c 1 file changed, 45 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/01/17801/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I0b20e4870bf62df0a459a621a64a4e2795340ceb Gerrit-Change-Number: 17801 Gerrit-PatchSet: 2 Gerrit-Owner: laforge 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 Apr 14 13:11:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:11:24 +0000 Subject: Change in osmo-ggsn[master]: lib/netns: Fix up error paths In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17802 ) Change subject: lib/netns: Fix up error paths ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I9ff5ae7bffc5bd7629dae0af1b72cfea548f9039 Gerrit-Change-Number: 17802 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 13:11: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 Apr 14 13:11:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:11:29 +0000 Subject: Change in osmo-ggsn[master]: lib/netns.c: Add comments to the code, including doxygen API docs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17801 ) Change subject: lib/netns.c: Add comments to the code, including doxygen API docs ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I0b20e4870bf62df0a459a621a64a4e2795340ceb Gerrit-Change-Number: 17801 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 13: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 Tue Apr 14 13:12:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:12:33 +0000 Subject: Change in osmo-ggsn[master]: lib/netns: OSMO_ASSERT() if user doesn't call init_netns() In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17803 to look at the new patch set (#2). Change subject: lib/netns: OSMO_ASSERT() if user doesn't call init_netns() ...................................................................... lib/netns: OSMO_ASSERT() if user doesn't call init_netns() It is vital that init_netns() is called first in order to initialize default_nsfd. Change-Id: Ic16646fa7d60c578056b17351c5fe2090a81dff0 --- M lib/netns.c 1 file changed, 13 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/03/17803/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17803 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ic16646fa7d60c578056b17351c5fe2090a81dff0 Gerrit-Change-Number: 17803 Gerrit-PatchSet: 2 Gerrit-Owner: laforge 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 Apr 14 13:12:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:12:38 +0000 Subject: Change in osmo-ggsn[master]: lib/netns: OSMO_ASSERT() if user doesn't call init_netns() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17803 ) Change subject: lib/netns: OSMO_ASSERT() if user doesn't call init_netns() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17803 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ic16646fa7d60c578056b17351c5fe2090a81dff0 Gerrit-Change-Number: 17803 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 13:12: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 Apr 14 13:13:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:13:22 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Pass array of in64_addr to in46a_from_eua() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17764 ) Change subject: sgsnemu: Pass array of in64_addr to in46a_from_eua() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I8becd90ce1f0e8bb6e21438c04da4a9cab845492 Gerrit-Change-Number: 17764 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 13:13: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 Apr 14 13:13:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:13:53 +0000 Subject: Change in osmo-ggsn[master]: Move icmpv6 and checksum files from ggsn/ dir to lib/ In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17768 ) Change subject: Move icmpv6 and checksum files from ggsn/ dir to lib/ ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17768 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ie878604f0fc0169cc98a1e9eee64b14d76be2c45 Gerrit-Change-Number: 17768 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 13:13: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 Apr 14 13:14:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:14:32 +0000 Subject: Change in osmo-msc[master]: doc: do not use random ip-address for MGW In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17598 ) Change subject: doc: do not use random ip-address for MGW ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie2b2094fdcfed45353d9ba22cb07eed626fd143c Gerrit-Change-Number: 17598 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 13:14: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 Apr 14 13:14:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:14:35 +0000 Subject: Change in osmo-msc[master]: doc: do not use random ip-address for MGW In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17598 ) Change subject: doc: do not use random ip-address for MGW ...................................................................... doc: do not use random ip-address for MGW The example configs suggest to use a random ip-address as MGW address. Lets use a loopback address here. This will suit the usual case where MGW and MSC run together on the same machine. Change-Id: Ie2b2094fdcfed45353d9ba22cb07eed626fd143c --- M doc/examples/osmo-msc/osmo-msc.cfg M doc/examples/osmo-msc/osmo-msc_custom-sccp.cfg M doc/examples/osmo-msc/osmo-msc_multi-cs7.cfg M tests/test_nodes.vty 4 files changed, 4 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/examples/osmo-msc/osmo-msc.cfg b/doc/examples/osmo-msc/osmo-msc.cfg index f80143d..83b2c6f 100644 --- a/doc/examples/osmo-msc/osmo-msc.cfg +++ b/doc/examples/osmo-msc/osmo-msc.cfg @@ -13,7 +13,7 @@ rrlp mode none mm info 1 msc - mgw remote-ip 10.23.24.1 + mgw remote-ip 127.0.0.1 mgw remote-port 2427 mgw local-port 2728 assign-tmsi diff --git a/doc/examples/osmo-msc/osmo-msc_custom-sccp.cfg b/doc/examples/osmo-msc/osmo-msc_custom-sccp.cfg index 39ca9d4..d949ef9 100644 --- a/doc/examples/osmo-msc/osmo-msc_custom-sccp.cfg +++ b/doc/examples/osmo-msc/osmo-msc_custom-sccp.cfg @@ -21,7 +21,7 @@ msc cs7-instance-a 0 cs7-instance-iu 0 - mgw remote-ip 10.23.24.1 + mgw remote-ip 127.0.0.1 mgw remote-port 2427 mgw local-port 2728 assign-tmsi diff --git a/doc/examples/osmo-msc/osmo-msc_multi-cs7.cfg b/doc/examples/osmo-msc/osmo-msc_multi-cs7.cfg index 2af1726..cb1157d 100644 --- a/doc/examples/osmo-msc/osmo-msc_multi-cs7.cfg +++ b/doc/examples/osmo-msc/osmo-msc_multi-cs7.cfg @@ -23,7 +23,7 @@ msc cs7-instance-a 0 cs7-instance-iu 1 - mgw remote-ip 10.23.24.1 + mgw remote-ip 127.0.0.1 mgw remote-port 2427 mgw local-port 2728 assign-tmsi diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index 5a81c61..edb891b 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -160,7 +160,7 @@ auth-tuple-max-reuse-count 3 auth-tuple-reuse-on-error 1 mgw local-port 2728 - mgw remote-ip 10.23.24.1 + mgw remote-ip 127.0.0.1 mgw remote-port 2427 mncc-int default-codec tch-f fr -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie2b2094fdcfed45353d9ba22cb07eed626fd143c Gerrit-Change-Number: 17598 Gerrit-PatchSet: 4 Gerrit-Owner: dexter 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 Apr 14 13:15:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:15:09 +0000 Subject: Change in osmo-trx[master]: transceiver: check the right vector In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17806 ) Change subject: transceiver: check the right vector ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I03800ae094c35c306fa4ca29f84e71d958ffdbdc Gerrit-Change-Number: 17806 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 13:15: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 Apr 14 13:17:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:17:25 +0000 Subject: Change in osmo-trx[master]: transceiver: check the right vector In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17806 ) Change subject: transceiver: check the right vector ...................................................................... transceiver: check the right vector Change-Id: I03800ae094c35c306fa4ca29f84e71d958ffdbdc --- M Transceiver52M/Transceiver.cpp 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: 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/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index dc218d7..36cfa7d 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -232,7 +232,7 @@ mLocalAddr.c_str(), d_srcport, mRemoteAddr.c_str(), d_dstport, OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT); - if (mCtrlSockets[i] < 0) + if (mDataSockets[i] < 0) return false; } @@ -940,7 +940,7 @@ // check data socket msgLen = read(mDataSockets[chan], buffer, sizeof(buffer)); if (msgLen <= 0) { - LOGCHAN(chan, DTRXDDL, NOTICE) << "mDataSockets read(" << mCtrlSockets[chan] << ") failed: " << msgLen; + LOGCHAN(chan, DTRXDDL, NOTICE) << "mDataSockets read(" << mDataSockets[chan] << ") failed: " << msgLen; return false; } -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I03800ae094c35c306fa4ca29f84e71d958ffdbdc Gerrit-Change-Number: 17806 Gerrit-PatchSet: 3 Gerrit-Owner: 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 Apr 14 13:18:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:18:05 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Rename sgsnemu's libgtp cb_conf In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17765 ) Change subject: sgsnemu: Rename sgsnemu's libgtp cb_conf ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17765 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ibf32b416c3247d1415aa9c1a88755076dcd606f4 Gerrit-Change-Number: 17765 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 13:18: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 Apr 14 13:18:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:18:12 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Pass array of in64_addr to in46a_from_eua() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17764 ) Change subject: sgsnemu: Pass array of in64_addr to in46a_from_eua() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I8becd90ce1f0e8bb6e21438c04da4a9cab845492 Gerrit-Change-Number: 17764 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 13:18: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 Apr 14 13:18:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:18:21 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Pass array of in64_addr to in46a_from_eua() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17764 ) Change subject: sgsnemu: Pass array of in64_addr to in46a_from_eua() ...................................................................... sgsnemu: Pass array of in64_addr to in46a_from_eua() Let's avoid buffer-overflow writing into out-of-bounds memory in the event the GGSN sends us 2 EUAs in Create PDP Context Respose. It should theoretically happen since we don't yet support ipv4v6 APNs in sgsnemu, but who knows. Change-Id: I8becd90ce1f0e8bb6e21438c04da4a9cab845492 --- M sgsnemu/sgsnemu.c 1 file changed, 34 insertions(+), 30 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index fce5059..4341ca6 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -1409,8 +1409,8 @@ static int create_pdp_conf(struct pdp_t *pdp, void *cbp, int cause) { - int rc; - struct in46_addr addr; + int rc, i, num_addr; + struct in46_addr addr[2]; #if defined(__linux__) sigset_t oldmask; #endif @@ -1442,7 +1442,7 @@ return EOF; /* Not what we expected */ } - if (in46a_from_eua(&pdp->eua, &addr) < 1) { + if ((num_addr = in46a_from_eua(&pdp->eua, addr)) < 1) { printf ("Received create PDP context response. Cause value: %d\n", cause); @@ -1452,20 +1452,7 @@ return EOF; /* Not a valid IP address */ } - printf("Received create PDP context response. IP address: %s\n", - in46a_ntoa(&addr)); - - switch (addr.len) { - case 16: /* IPv6 */ - /* we have to enable the kernel to perform stateless autoconfiguration, - * i.e. send a router solicitation using the lover 64bits of the allocated - * EUA as interface identifier, as per 3GPP TS 29.061 Section 11.2.1.3.2 */ - memcpy(addr.v6.s6_addr, ll_prefix, sizeof(ll_prefix)); - printf("Derived IPv6 link-local address: %s\n", in46a_ntoa(&addr)); - break; - case 4: /* IPv4 */ - break; - } + printf("Received create PDP context response.\n"); #if defined(__linux__) if ((options.createif) && (options.netns)) { @@ -1477,19 +1464,37 @@ } #endif - if ((options.createif) && (!options.net.len)) { - size_t prefixlen = 32; - if (addr.len == 16) - prefixlen = 64; - /* printf("Setting up interface and routing\n"); */ - tun_addaddr(tun, &addr, &addr, prefixlen); - if (options.defaultroute) { - struct in_addr rm; - rm.s_addr = 0; - netdev_addroute(&rm, &addr.v4, &rm); + for (i = 0; i < num_addr; i++) { + printf("PDP ctx: received EUA with IP address: %s\n", in46a_ntoa(&addr[i])); + + switch (addr[i].len) { + case 16: /* IPv6 */ + /* we have to enable the kernel to perform stateless autoconfiguration, + * i.e. send a router solicitation using the lover 64bits of the allocated + * EUA as interface identifier, as per 3GPP TS 29.061 Section 11.2.1.3.2 */ + memcpy(addr[i].v6.s6_addr, ll_prefix, sizeof(ll_prefix)); + printf("Derived IPv6 link-local address: %s\n", in46a_ntoa(&addr[i])); + break; + case 4: /* IPv4 */ + break; } - if (options.ipup) - tun_runscript(tun, options.ipup); + + if ((options.createif) && (!options.net.len)) { + size_t prefixlen = 32; + if (addr[i].len == 16) + prefixlen = 64; + /* printf("Setting up interface and routing\n"); */ + tun_addaddr(tun, &addr[i], &addr[i], prefixlen); + if (options.defaultroute) { + struct in_addr rm; + rm.s_addr = 0; + netdev_addroute(&rm, &addr[i].v4, &rm); + } + if (options.ipup) + tun_runscript(tun, options.ipup); + } + + ipset(iph, &addr[i]); } /* now that ip-up has been executed, check if we are configured to @@ -1526,7 +1531,6 @@ } #endif - ipset(iph, &addr); state = 2; /* Connected */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I8becd90ce1f0e8bb6e21438c04da4a9cab845492 Gerrit-Change-Number: 17764 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 Tue Apr 14 13:18:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:18:22 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Rename sgsnemu's libgtp cb_conf In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17765 ) Change subject: sgsnemu: Rename sgsnemu's libgtp cb_conf ...................................................................... sgsnemu: Rename sgsnemu's libgtp cb_conf It makes it easier to understand where the function is called. Change-Id: Ibf32b416c3247d1415aa9c1a88755076dcd606f4 --- M sgsnemu/sgsnemu.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 4341ca6..22be2fe 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -1568,7 +1568,7 @@ return 0; } -static int conf(int type, int cause, struct pdp_t *pdp, void *cbp) +static int _gtp_cb_conf(int type, int cause, struct pdp_t *pdp, void *cbp) { /* if (cause < 0) return 0; Some error occurred. We don't care */ switch (type) { @@ -1639,7 +1639,7 @@ maxfd = gsn->fd1u; gtp_set_cb_delete_context(gsn, delete_context); - gtp_set_cb_conf(gsn, conf); + gtp_set_cb_conf(gsn, _gtp_cb_conf); if (options.createif) gtp_set_cb_data_ind(gsn, encaps_tun); else -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17765 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ibf32b416c3247d1415aa9c1a88755076dcd606f4 Gerrit-Change-Number: 17765 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 Tue Apr 14 13:18:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:18:23 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Set its default loglevel category to INFO In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17767 ) Change subject: sgsnemu: Set its default loglevel category to INFO ...................................................................... sgsnemu: Set its default loglevel category to INFO sgsnemu is a testing program and doesn't have a VTY iface to configure its log levels, so let's simply enable INFO as a default. Change-Id: I2a577f547b57fb0ab7b83de5c12da088697f3904 --- M lib/debug.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/lib/debug.c b/lib/debug.c index 83423dc..cb918b1 100644 --- a/lib/debug.c +++ b/lib/debug.c @@ -24,7 +24,7 @@ [DSGSN] = { .name = "DSGSN", .description = "SGSN Emulator", - .enabled = 1, .loglevel = LOGL_NOTICE, + .enabled = 1, .loglevel = LOGL_INFO, }, [DICMP6] = { .name = "DICMP6", -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17767 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2a577f547b57fb0ab7b83de5c12da088697f3904 Gerrit-Change-Number: 17767 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 Tue Apr 14 13:18:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:18:24 +0000 Subject: Change in osmo-ggsn[master]: Move icmpv6 and checksum files from ggsn/ dir to lib/ In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17768 ) Change subject: Move icmpv6 and checksum files from ggsn/ dir to lib/ ...................................................................... Move icmpv6 and checksum files from ggsn/ dir to lib/ They will be required by sgsnemu to implement ICMPv6 Router Soliciations. Change-Id: Ie878604f0fc0169cc98a1e9eee64b14d76be2c45 --- M ggsn/Makefile.am M ggsn/ggsn.c M lib/Makefile.am R lib/checksum.c R lib/checksum.h R lib/icmpv6.c R lib/icmpv6.h 7 files changed, 6 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/ggsn/Makefile.am b/ggsn/Makefile.am index ca389f0..eea7c6e 100644 --- a/ggsn/Makefile.am +++ b/ggsn/Makefile.am @@ -12,4 +12,4 @@ endif osmo_ggsn_DEPENDENCIES = ../gtp/libgtp.la ../lib/libmisc.a -osmo_ggsn_SOURCES = ggsn_main.c ggsn_vty.c ggsn.c ggsn.h sgsn.c sgsn.h icmpv6.c icmpv6.h checksum.c checksum.h pco.c pco.h +osmo_ggsn_SOURCES = ggsn_main.c ggsn_vty.c ggsn.c ggsn.h sgsn.c sgsn.h pco.c pco.h diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c index c710984..3b10f70 100644 --- a/ggsn/ggsn.c +++ b/ggsn/ggsn.c @@ -54,7 +54,7 @@ #include "../lib/util.h" #include "../gtp/pdp.h" #include "../gtp/gtp.h" -#include "icmpv6.h" +#include "../lib/icmpv6.h" #include "pco.h" #include "ggsn.h" diff --git a/lib/Makefile.am b/lib/Makefile.am index f2c5dc9..5bd9443 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -1,10 +1,10 @@ noinst_LIBRARIES = libmisc.a -noinst_HEADERS = gnugetopt.h ippool.h lookup.h syserr.h tun.h in46_addr.h netdev.h gtp-kernel.h netns.h util.h +noinst_HEADERS = gnugetopt.h ippool.h lookup.h syserr.h tun.h in46_addr.h netdev.h gtp-kernel.h netns.h util.h icmpv6.h checksum.h AM_CFLAGS = -O2 -fno-builtin -Wall -DSBINDIR='"$(sbindir)"' -ggdb $(LIBOSMOCORE_CFLAGS) -libmisc_a_SOURCES = getopt1.c getopt.c ippool.c lookup.c tun.c debug.c in46_addr.c netdev.c netns.c util.c +libmisc_a_SOURCES = getopt1.c getopt.c ippool.c lookup.c tun.c debug.c in46_addr.c netdev.c netns.c util.c icmpv6.c checksum.c if ENABLE_GTP_KERNEL AM_CFLAGS += -DGTP_KERNEL $(LIBGTPNL_CFLAGS) diff --git a/ggsn/checksum.c b/lib/checksum.c similarity index 100% rename from ggsn/checksum.c rename to lib/checksum.c diff --git a/ggsn/checksum.h b/lib/checksum.h similarity index 100% rename from ggsn/checksum.h rename to lib/checksum.h diff --git a/ggsn/icmpv6.c b/lib/icmpv6.c similarity index 98% rename from ggsn/icmpv6.c rename to lib/icmpv6.c index 12119b8..a6545fd 100644 --- a/ggsn/icmpv6.c +++ b/lib/icmpv6.c @@ -25,8 +25,8 @@ #include "../gtp/gtp.h" #include "../gtp/pdp.h" -#include "../lib/ippool.h" -#include "../lib/syserr.h" +#include "ippool.h" +#include "syserr.h" #include "config.h" /* 29.061 11.2.1.3.4 IPv6 Router Configuration Variables in GGSN */ diff --git a/ggsn/icmpv6.h b/lib/icmpv6.h similarity index 100% rename from ggsn/icmpv6.h rename to lib/icmpv6.h -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17768 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ie878604f0fc0169cc98a1e9eee64b14d76be2c45 Gerrit-Change-Number: 17768 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 Tue Apr 14 13:18:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:18:46 +0000 Subject: Change in osmo-ggsn[master]: lib/netns.c: Add comments to the code, including doxygen API docs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17801 ) Change subject: lib/netns.c: Add comments to the code, including doxygen API docs ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I0b20e4870bf62df0a459a621a64a4e2795340ceb Gerrit-Change-Number: 17801 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 13:18: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 Apr 14 13:19:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:19:04 +0000 Subject: Change in osmo-ggsn[master]: lib/netns.c: Add comments to the code, including doxygen API docs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17801 ) Change subject: lib/netns.c: Add comments to the code, including doxygen API docs ...................................................................... lib/netns.c: Add comments to the code, including doxygen API docs Change-Id: I0b20e4870bf62df0a459a621a64a4e2795340ceb --- M lib/netns.c 1 file changed, 45 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/lib/netns.c b/lib/netns.c index 58ae036..1e77a04 100644 --- a/lib/netns.c +++ b/lib/netns.c @@ -44,8 +44,13 @@ #define NETNS_PATH "/var/run/netns" +/*! default namespace of the GGSN process */ static int default_nsfd; +/*! switch to a (non-default) namespace, store existing signal mask in oldmask. + * \param[in] nsfd file descriptor representing the namespace to whch we shall switch + * \param[out] oldmask caller-provided memory location to which old signal mask is stored + * \ returns 0 on success or negative (errno) in case of error */ int switch_ns(int nsfd, sigset_t *oldmask) { sigset_t intmask; @@ -61,6 +66,9 @@ return 0; } +/*! switch back to the default namespace, restoring signal mask. + * \param[in] oldmask signal mask to restore after returning to default namespace + * \returns 0 on successs; negative errno value in case of error */ int restore_ns(sigset_t *oldmask) { int rc; @@ -72,25 +80,31 @@ return 0; } +/*! open a file from within specified network namespace */ int open_ns(int nsfd, const char *pathname, int flags) { sigset_t intmask, oldmask; int fd; int rc; + /* mask off all signals, store old signal mask */ if (sigfillset(&intmask) < 0) return -errno; if ((rc = sigprocmask(SIG_BLOCK, &intmask, &oldmask)) != 0) return -rc; + /* associate the calling thread with namespace file descriptor */ if (setns(nsfd, CLONE_NEWNET) < 0) return -errno; + /* open the requested file/path */ if ((fd = open(pathname, flags)) < 0) return -errno; + /* return back to default namespace */ if (setns(default_nsfd, CLONE_NEWNET) < 0) { close(fd); return -errno; } + /* restore process mask */ if ((rc = sigprocmask(SIG_SETMASK, &oldmask, NULL)) != 0) { close(fd); return -rc; @@ -99,26 +113,41 @@ return fd; } +/*! create a socket in another namespace. + * Switches temporarily to namespace indicated by nsfd, creates a socket in + * that namespace and then returns to the default namespace. + * \param[in] nsfd File descriptor of the namspace in which to create socket + * \param[in] domain Domain of the socket (AF_INET, ...) + * \param[in] type Type of the socket (SOCK_STREAM, ...) + * \param[in] protocol Protocol of the socket (IPPROTO_TCP, ...) + * \returns 0 on success; negative errno in case of error */ int socket_ns(int nsfd, int domain, int type, int protocol) { sigset_t intmask, oldmask; int sk; int rc; + /* mask off all signals, store old signal mask */ if (sigfillset(&intmask) < 0) return -errno; if ((rc = sigprocmask(SIG_BLOCK, &intmask, &oldmask)) != 0) return -rc; + /* associate the calling thread with namespace file descriptor */ if (setns(nsfd, CLONE_NEWNET) < 0) return -errno; + + /* create socket of requested domain/type/proto */ if ((sk = socket(domain, type, protocol)) < 0) return -errno; + + /* return back to default namespace */ if (setns(default_nsfd, CLONE_NEWNET) < 0) { close(sk); return -errno; } + /* restore process mask */ if ((rc = sigprocmask(SIG_SETMASK, &oldmask, NULL)) != 0) { close(sk); return -rc; @@ -126,13 +155,21 @@ return sk; } +/*! initialize this network namespace helper module. + * Must be called before using any other functions of this file. + * \returns 0 on success; negative errno in case of error */ int init_netns() { + /* store the default namespace for later reference */ if ((default_nsfd = open("/proc/self/ns/net", O_RDONLY)) < 0) return -errno; return 0; } +/*! create obtain file descriptor for network namespace of give name. + * Creates /var/run/netns if it doesn't exist already. + * \param[in] name Name of the network namespace (in /var/run/netns/) + * \returns File descriptor of network namespace; negative errno in case of error */ int get_nsfd(const char *name) { int rc; @@ -140,10 +177,12 @@ sigset_t intmask, oldmask; char path[MAXPATHLEN] = NETNS_PATH; + /* create /var/run/netns, if it doesn't exist already */ rc = mkdir(path, S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); if (rc < 0 && errno != EEXIST) return rc; + /* create /var/run/netns/[name], if it doesn't exist already */ snprintf(path, sizeof(path), "%s/%s", NETNS_PATH, name); fd = open(path, O_RDONLY|O_CREAT|O_EXCL, 0); if (fd < 0) { @@ -157,24 +196,30 @@ if (close(fd) < 0) return -errno; + /* mask off all signals, store old signal mask */ if (sigfillset(&intmask) < 0) return -errno; if ((rc = sigprocmask(SIG_BLOCK, &intmask, &oldmask)) != 0) return -rc; + /* create a new network namespace */ if (unshare(CLONE_NEWNET) < 0) return -errno; if (mount("/proc/self/ns/net", path, "none", MS_BIND, NULL) < 0) return -errno; + /* switch back to default namespace */ if (setns(default_nsfd, CLONE_NEWNET) < 0) return -errno; + /* restore process mask */ if ((rc = sigprocmask(SIG_SETMASK, &oldmask, NULL)) != 0) return -rc; + /* finally, open the created namespace file descriptor from default ns */ if ((fd = open(path, O_RDONLY)) < 0) return -errno; + return fd; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I0b20e4870bf62df0a459a621a64a4e2795340ceb Gerrit-Change-Number: 17801 Gerrit-PatchSet: 3 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 Tue Apr 14 13:19:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:19:49 +0000 Subject: Change in osmo-iuh[master]: hnbgw: do not use LOGL_DEBUG as default loglevel In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17608 ) Change subject: hnbgw: do not use LOGL_DEBUG as default loglevel ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: If3dbed88307814764bab9e7f1821e1dc0d8be43b Gerrit-Change-Number: 17608 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 13:19: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 Apr 14 13:19:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:19:52 +0000 Subject: Change in osmo-iuh[master]: hnbgw: do not use LOGL_DEBUG as default loglevel In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17608 ) Change subject: hnbgw: do not use LOGL_DEBUG as default loglevel ...................................................................... hnbgw: do not use LOGL_DEBUG as default loglevel The hnbgw application uses LOGL_DEBUG for all its log categories. This is way to verbose, lets set LOGL_NOTICE as default loglevel instead. Change-Id: If3dbed88307814764bab9e7f1821e1dc0d8be43b Related: OS#2577 --- M src/hnbgw.c 1 file changed, 4 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/hnbgw.c b/src/hnbgw.c index 70ee25b..a47decd 100644 --- a/src/hnbgw.c +++ b/src/hnbgw.c @@ -335,22 +335,22 @@ static const struct log_info_cat log_cat[] = { [DMAIN] = { - .name = "DMAIN", .loglevel = LOGL_DEBUG, .enabled = 1, + .name = "DMAIN", .loglevel = LOGL_NOTICE, .enabled = 1, .color = "", .description = "Main program", }, [DHNBAP] = { - .name = "DHNBAP", .loglevel = LOGL_DEBUG, .enabled = 1, + .name = "DHNBAP", .loglevel = LOGL_NOTICE, .enabled = 1, .color = "", .description = "Home Node B Application Part", }, [DRUA] = { - .name = "DRUA", .loglevel = LOGL_DEBUG, .enabled = 1, + .name = "DRUA", .loglevel = LOGL_NOTICE, .enabled = 1, .color = "", .description = "RANAP User Adaptation", }, [DRANAP] = { - .name = "DRANAP", .loglevel = LOGL_DEBUG, .enabled = 1, + .name = "DRANAP", .loglevel = LOGL_NOTICE, .enabled = 1, .color = "", .description = "RAN Application Part", }, -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: If3dbed88307814764bab9e7f1821e1dc0d8be43b Gerrit-Change-Number: 17608 Gerrit-PatchSet: 3 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 Tue Apr 14 13:20:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:20:19 +0000 Subject: Change in osmo-bts[master]: logging: use only LOGL_NOTICE as defualt loglevel In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17606 ) Change subject: logging: use only LOGL_NOTICE as defualt loglevel ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6e7a635f9b4a93529661dafc591d512d7b7e8c75 Gerrit-Change-Number: 17606 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 13:20: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 Apr 14 13:20:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:20:21 +0000 Subject: Change in osmo-bts[master]: logging: use only LOGL_NOTICE as defualt loglevel In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17606 ) Change subject: logging: use only LOGL_NOTICE as defualt loglevel ...................................................................... logging: use only LOGL_NOTICE as defualt loglevel some of the log categories in logging.c are set to LOGL_INFO or even to LOGL_DEBUG. This is too verbose. Lets set those categories to LOGL_NOTICE. Also the BTS manager programs (...bts_mgr.c) use LOGL_INFO by default. This should be set to LOGL_NOTICE as well Related: OS#2577 Change-Id: I6e7a635f9b4a93529661dafc591d512d7b7e8c75 --- M src/common/logging.c M src/osmo-bts-litecell15/misc/lc15bts_mgr.c M src/osmo-bts-oc2g/misc/oc2gbts_mgr.c M src/osmo-bts-sysmo/misc/sysmobts_mgr.c 4 files changed, 20 insertions(+), 20 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/common/logging.c b/src/common/logging.c index d4fb874..50a5a1a 100644 --- a/src/common/logging.c +++ b/src/common/logging.c @@ -35,13 +35,13 @@ .name = "DRSL", .description = "A-bis Radio Siganlling Link (RSL)", .color = "\033[1;35m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DOML] = { .name = "DOML", .description = "A-bis Network Management / O&M (NM/OML)", .color = "\033[1;36m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DRLL] = { .name = "DRLL", @@ -64,24 +64,24 @@ .name = "DPAG", .description = "Paging Subsystem", .color = "\033[1;38m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DL1C] = { .name = "DL1C", .description = "Layer 1 Control (MPH)", - .loglevel = LOGL_INFO, + .loglevel = LOGL_NOTICE, .enabled = 1, }, [DL1P] = { .name = "DL1P", .description = "Layer 1 Primitives (PH)", - .loglevel = LOGL_INFO, + .loglevel = LOGL_NOTICE, .enabled = 0, }, [DDSP] = { .name = "DDSP", .description = "DSP Trace Messages", - .loglevel = LOGL_DEBUG, + .loglevel = LOGL_NOTICE, .enabled = 1, }, [DABIS] = { diff --git a/src/osmo-bts-litecell15/misc/lc15bts_mgr.c b/src/osmo-bts-litecell15/misc/lc15bts_mgr.c index ccacc1e..da21c9d 100644 --- a/src/osmo-bts-litecell15/misc/lc15bts_mgr.c +++ b/src/osmo-bts-litecell15/misc/lc15bts_mgr.c @@ -248,31 +248,31 @@ .name = "DTEMP", .description = "Temperature monitoring", .color = "\033[1;35m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DFW] = { .name = "DFW", .description = "Firmware management", .color = "\033[1;36m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DFIND] = { .name = "DFIND", .description = "ipaccess-find handling", .color = "\033[1;37m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DCALIB] = { .name = "DCALIB", .description = "Calibration handling", .color = "\033[1;37m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DSWD] = { .name = "DSWD", .description = "Software Watchdog", .color = "\033[1;37m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, }; diff --git a/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c b/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c index 25948b0..66c9f28 100644 --- a/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c +++ b/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c @@ -228,31 +228,31 @@ .name = "DTEMP", .description = "Temperature monitoring", .color = "\033[1;35m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DFW] = { .name = "DFW", .description = "Firmware management", .color = "\033[1;36m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DFIND] = { .name = "DFIND", .description = "ipaccess-find handling", .color = "\033[1;37m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DCALIB] = { .name = "DCALIB", .description = "Calibration handling", .color = "\033[1;37m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DSWD] = { .name = "DSWD", .description = "Software Watchdog", .color = "\033[1;37m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, }; diff --git a/src/osmo-bts-sysmo/misc/sysmobts_mgr.c b/src/osmo-bts-sysmo/misc/sysmobts_mgr.c index 50c9c22..dc7af3c 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts_mgr.c +++ b/src/osmo-bts-sysmo/misc/sysmobts_mgr.c @@ -218,25 +218,25 @@ .name = "DTEMP", .description = "Temperature monitoring", .color = "\033[1;35m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DFW] = { .name = "DFW", .description = "DSP/FPGA firmware management", .color = "\033[1;36m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DFIND] = { .name = "DFIND", .description = "ipaccess-find handling", .color = "\033[1;37m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DCALIB] = { .name = "DCALIB", .description = "Calibration handling", .color = "\033[1;37m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6e7a635f9b4a93529661dafc591d512d7b7e8c75 Gerrit-Change-Number: 17606 Gerrit-PatchSet: 3 Gerrit-Owner: dexter 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 Apr 14 13:21:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:21:18 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/app_common: introduce auxiliary add_log_handler() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17759 ) Change subject: trx_toolkit/app_common: introduce auxiliary add_log_handler() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ied32764cf1c34dc7e0f746f4f085ea20168775cb Gerrit-Change-Number: 17759 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 13:21: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 Apr 14 13:21:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:21:30 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/app_common: add options to enable time printing In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17760 ) Change subject: trx_toolkit/app_common: add options to enable time printing ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie5d14a261e17af554f7132b03d58549a4831dcdb Gerrit-Change-Number: 17760 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 13:21: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 Apr 14 13:21:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:21:52 +0000 Subject: Change in osmocom-bb[master]: trxcon/logging: print category, level and extended timestamp In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17762 ) Change subject: trxcon/logging: print category, level and extended timestamp ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie3d259f3255d8af80e6780f850b808fa243f97b4 Gerrit-Change-Number: 17762 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 13: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 Tue Apr 14 13:21:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:21:55 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/app_common: introduce auxiliary add_log_handler() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17759 ) Change subject: trx_toolkit/app_common: introduce auxiliary add_log_handler() ...................................................................... trx_toolkit/app_common: introduce auxiliary add_log_handler() Change-Id: Ied32764cf1c34dc7e0f746f4f085ea20168775cb --- M src/target/trx_toolkit/app_common.py 1 file changed, 14 insertions(+), 8 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/target/trx_toolkit/app_common.py b/src/target/trx_toolkit/app_common.py index f2a47c5..8ee5054 100644 --- a/src/target/trx_toolkit/app_common.py +++ b/src/target/trx_toolkit/app_common.py @@ -40,19 +40,25 @@ "This is free software: you are free to change and redistribute it.\n" \ "There is NO WARRANTY, to the extent permitted by law.\n") + def add_log_handler(self, lh, log_level, log_fmt): + lf = log.Formatter(log_fmt) + ll = log.getLevelName(log_level) + + log.root.addHandler(lh) + lh.setFormatter(lf) + lh.setLevel(ll) + def app_init_logging(self, argv): # Default logging handler (stderr) - sh = log.StreamHandler() - sh.setLevel(log.getLevelName(argv.log_level)) - sh.setFormatter(log.Formatter(argv.log_fmt)) - log.root.addHandler(sh) + lo = (argv.log_level, argv.log_fmt) + lh = log.StreamHandler() + self.add_log_handler(lh, *lo) # Optional file handler if argv.log_file_name is not None: - fh = log.FileHandler(argv.log_file_name) - fh.setLevel(log.getLevelName(argv.log_file_level)) - fh.setFormatter(log.Formatter(argv.log_file_fmt)) - log.root.addHandler(fh) + lo = (argv.log_file_level, argv.log_file_fmt) + lh = log.FileHandler(argv.log_file_name) + self.add_log_handler(lh, *lo) # Set DEBUG for the root logger log.root.setLevel(log.DEBUG) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ied32764cf1c34dc7e0f746f4f085ea20168775cb Gerrit-Change-Number: 17759 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 Apr 14 13:21:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:21:55 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/app_common: add options to enable time printing In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17760 ) Change subject: trx_toolkit/app_common: add options to enable time printing ...................................................................... trx_toolkit/app_common: add options to enable time printing Change-Id: Ie5d14a261e17af554f7132b03d58549a4831dcdb --- M src/target/trx_toolkit/app_common.py 1 file changed, 24 insertions(+), 5 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/target/trx_toolkit/app_common.py b/src/target/trx_toolkit/app_common.py index 8ee5054..64baa6d 100644 --- a/src/target/trx_toolkit/app_common.py +++ b/src/target/trx_toolkit/app_common.py @@ -4,7 +4,7 @@ # TRX Toolkit # Common helpers for applications # -# (C) 2018 by Vadim Yanitskiy +# (C) 2018-2020 by Vadim Yanitskiy # # All Rights Reserved # @@ -29,6 +29,9 @@ # Example: [DEBUG] ctrl_if_bts.py:71 Recv POWEROFF cmd LOG_FMT_DEFAULT = "[%(levelname)s] %(filename)s:%(lineno)d %(message)s" + # Default time / date format (e.g. 2003-01-23 00:29:50) + LOG_TIME_FMT_DEFAULT = "%Y-%m-%d %H:%M:%S" + def app_print_copyright(self, holders = []): # Print copyright holders if any for date, author in holders: @@ -40,8 +43,9 @@ "This is free software: you are free to change and redistribute it.\n" \ "There is NO WARRANTY, to the extent permitted by law.\n") - def add_log_handler(self, lh, log_level, log_fmt): - lf = log.Formatter(log_fmt) + def add_log_handler(self, lh, log_level, log_fmt, time_fmt, log_time = False): + log_fmt = "%(asctime)s " + log_fmt if log_time else log_fmt + lf = log.Formatter(log_fmt, time_fmt) ll = log.getLevelName(log_level) log.root.addHandler(lh) @@ -50,13 +54,14 @@ def app_init_logging(self, argv): # Default logging handler (stderr) - lo = (argv.log_level, argv.log_fmt) + lo = (argv.log_level, argv.log_fmt, argv.log_time_fmt, argv.log_time) lh = log.StreamHandler() self.add_log_handler(lh, *lo) # Optional file handler if argv.log_file_name is not None: - lo = (argv.log_file_level, argv.log_file_fmt) + lo = (argv.log_file_level, argv.log_file_fmt, + argv.log_file_time_fmt, argv.log_file_time) lh = log.FileHandler(argv.log_file_name) self.add_log_handler(lh, *lo) @@ -68,6 +73,13 @@ dest = "log_level", type = str, default = "DEBUG", choices = ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"], help = "Set logging level (default %(default)s)") + parser.add_argument("--log-time", + dest = "log_time", action = "store_true", + help = "Prefix each log message with the current time") + parser.add_argument("--log-time-format", metavar = "FMT", + dest = "log_time_fmt", type = str, + default = self.LOG_TIME_FMT_DEFAULT, + help = "Set time format (default %(default)s)") parser.add_argument("--log-format", metavar = "FMT", dest = "log_fmt", type = str, default = self.LOG_FMT_DEFAULT, help = "Set logging message format") @@ -79,6 +91,13 @@ dest = "log_file_level", type = str, default = "DEBUG", choices = ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"], help = "Set logging level for file (default %(default)s)") + parser.add_argument("--log-file-time", + dest = "log_file_time", action = "store_true", + help = "Prefix each log message with the current time") + parser.add_argument("--log-file-time-format", metavar = "FMT", + dest = "log_file_time_fmt", type = str, + default = self.LOG_TIME_FMT_DEFAULT, + help = "Set time format for file (default %(default)s)") parser.add_argument("--log-file-format", metavar = "FMT", dest = "log_file_fmt", type = str, default = self.LOG_FMT_DEFAULT, help = "Set logging message format for file") -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie5d14a261e17af554f7132b03d58549a4831dcdb Gerrit-Change-Number: 17760 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 Tue Apr 14 13:21:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:21:55 +0000 Subject: Change in osmocom-bb[master]: trxcon/logging: print category, level and extended timestamp In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17762 ) Change subject: trxcon/logging: print category, level and extended timestamp ...................................................................... trxcon/logging: print category, level and extended timestamp Since we're heavily using trxcon in ttcn3-bts-test, the logging output should contain as much information as possible. Ideally we should introduce the VTY interface (see OS#3666) and get logging configuration options as a bonus. But let's just use some beneficial hard-coded defaults for now: - print category and level (huh, we use NOTICE everywhere?), - do not print category-hex (who needs it anyway?), - print extended timestamp, so we're in synce with other logs. P.S. This configuration is based on my own debugging experience. Change-Id: Ie3d259f3255d8af80e6780f850b808fa243f97b4 --- M src/host/trxcon/trxcon.c 1 file changed, 8 insertions(+), 2 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/host/trxcon/trxcon.c b/src/host/trxcon/trxcon.c index ecee518..dfce2b8 100644 --- a/src/host/trxcon/trxcon.c +++ b/src/host/trxcon/trxcon.c @@ -1,7 +1,7 @@ /* * OsmocomBB <-> SDR connection bridge * - * (C) 2016-2019 by Vadim Yanitskiy + * (C) 2016-2020 by Vadim Yanitskiy * * All Rights Reserved * @@ -53,7 +53,7 @@ #include "sched_trx.h" #define COPYRIGHT \ - "Copyright (C) 2016-2019 by Vadim Yanitskiy \n" \ + "Copyright (C) 2016-2020 by Vadim Yanitskiy \n" \ "License GPLv2+: GNU GPL version 2 or later " \ "\n" \ "This is free software: you are free to change and redistribute it.\n" \ @@ -283,6 +283,12 @@ /* Init logging system */ trx_log_init(tall_trxcon_ctx, app_data.debug_mask); + /* Configure pretty logging */ + log_set_print_extended_timestamp(osmo_stderr_target, 1); + log_set_print_category_hex(osmo_stderr_target, 0); + log_set_print_category(osmo_stderr_target, 1); + log_set_print_level(osmo_stderr_target, 1); + /* Optional GSMTAP */ if (app_data.gsmtap_ip != NULL) { gsmtap = gsmtap_source_init(app_data.gsmtap_ip, GSMTAP_UDP_PORT, 1); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie3d259f3255d8af80e6780f850b808fa243f97b4 Gerrit-Change-Number: 17762 Gerrit-PatchSet: 1 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 Apr 14 13:22:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:22:04 +0000 Subject: Change in osmo-hlr[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/17796 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... Patch Set 20: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 20 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 13: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 Tue Apr 14 13:22:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:22:06 +0000 Subject: Change in osmo-hlr[master]: configure.ac: fix libtool issue with clang and sanitizer In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/17796 ) Change subject: configure.ac: fix libtool issue with clang and sanitizer ...................................................................... configure.ac: fix libtool issue with clang and sanitizer As pointed out at https://github.com/libexpat/libexpat/issues/312 libtool does not play nice with clang sanitizer builds at all. For those builds LD shoud be set to clang too (and LDFLAGS needs the sanitizer flags as well), because the clang compiler driver knows how linking to the sanitizer libs works, but then at a later stage libtool fails to actually produce the shared libraries and the build fails. This is fixed by this patch. Addtionally LD_LIBRARY_PATH has no effect on conftest runs during configure time, so the rpath needs to be set to the asan library path to ensure the configure run does not fail due to a missing asan library, i.e.: SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan' export CC=clang-10 ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`) export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS" Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 --- M configure.ac 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index 34c5163..73ff752 100644 --- a/configure.ac +++ b/configure.ac @@ -25,6 +25,11 @@ AC_PROG_CC AC_PROG_INSTALL +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ib98b84ac156f52ecdbb7ae49eaaea35442527b22 Gerrit-Change-Number: 17796 Gerrit-PatchSet: 20 Gerrit-Owner: Hoernchen 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 Apr 14 13:22:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:22:41 +0000 Subject: Change in libosmocore[master]: dtx: add decoding for AMR-DTX frames In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17095 ) Change subject: dtx: add decoding for AMR-DTX frames ...................................................................... Patch Set 12: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2bbdb39ea20461ca08b2e6f1a33532cb55cd5195 Gerrit-Change-Number: 17095 Gerrit-PatchSet: 12 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 13:22: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 Apr 14 13:22:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:22:44 +0000 Subject: Change in libosmocore[master]: dtx: add decoding for AMR-DTX frames In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17095 ) Change subject: dtx: add decoding for AMR-DTX frames ...................................................................... dtx: add decoding for AMR-DTX frames gsm0503_coding contains AMR decoder functions for HR and FR. Those can only decode AMR payload frames but not amr DTX frames. Lets add functionality to detect DTX frames. Also lets add decoding for SID_UPDATE frames as well as error checking for the SID frame recognition patterns. Related: OS#2978 Change-Id: I2bbdb39ea20461ca08b2e6f1a33532cb55cd5195 --- M include/Makefile.am A include/osmocom/coding/gsm0503_amr_dtx.h M include/osmocom/coding/gsm0503_coding.h M src/coding/Makefile.am A src/coding/gsm0503_amr_dtx.c M src/coding/gsm0503_coding.c M src/coding/libosmocoding.map M tests/Makefile.am A tests/dtx/dtx_gsm0503_test.c A tests/dtx/dtx_gsm0503_test.ok M tests/testsuite.at 11 files changed, 702 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/Makefile.am b/include/Makefile.am index b341ee3..572c880 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -90,6 +90,7 @@ osmocom/coding/gsm0503_mapping.h \ osmocom/coding/gsm0503_interleaving.h \ osmocom/coding/gsm0503_coding.h \ + osmocom/coding/gsm0503_amr_dtx.h \ osmocom/gsm/gsm0808.h \ osmocom/gsm/gsm29205.h \ osmocom/gsm/gsm0808_utils.h \ diff --git a/include/osmocom/coding/gsm0503_amr_dtx.h b/include/osmocom/coding/gsm0503_amr_dtx.h new file mode 100644 index 0000000..f048a6e --- /dev/null +++ b/include/osmocom/coding/gsm0503_amr_dtx.h @@ -0,0 +1,40 @@ +/*! \file gsm0503_amr_dtx.h + * GSM TS 05.03 coding + */ + +#pragma once + +#include + +#include +#include + +/*! \addtogroup coding + * @{ + * \file gsm0503_amr_dtx.h */ + +enum gsm0503_amr_dtx_frames { + AMR_OTHER, + AFS_SID_FIRST, + AFS_SID_UPDATE, + AFS_SID_UPDATE_CN, + AFS_ONSET, + AHS_SID_UPDATE, + AHS_SID_UPDATE_CN, + AHS_SID_FIRST_P1, + AHS_SID_FIRST_P2, + AHS_ONSET, + AHS_SID_FIRST_INH, + AHS_SID_UPDATE_INH, +}; + +extern const struct value_string gsm0503_amr_dtx_frame_names[]; +static inline const char *gsm0503_amr_dtx_frame_name(enum gsm0503_amr_dtx_frames frame) +{ + return get_value_string(gsm0503_amr_dtx_frame_names, frame); +} + +enum gsm0503_amr_dtx_frames gsm0503_detect_afs_dtx_frame(int *n_errors, int *n_bits_total, const ubit_t *ubits); +enum gsm0503_amr_dtx_frames gsm0503_detect_ahs_dtx_frame(int *n_errors, int *n_bits_total, const ubit_t *ubits); + +/*! @} */ diff --git a/include/osmocom/coding/gsm0503_coding.h b/include/osmocom/coding/gsm0503_coding.h index 98038f8..2afa049 100644 --- a/include/osmocom/coding/gsm0503_coding.h +++ b/include/osmocom/coding/gsm0503_coding.h @@ -58,12 +58,18 @@ int gsm0503_tch_afs_decode(uint8_t *tch_data, const sbit_t *bursts, int codec_mode_req, uint8_t *codec, int codecs, uint8_t *ft, uint8_t *cmr, int *n_errors, int *n_bits_total); +int gsm0503_tch_afs_decode_dtx(uint8_t *tch_data, const sbit_t *bursts, + int codec_mode_req, uint8_t *codec, int codecs, uint8_t *ft, + uint8_t *cmr, int *n_errors, int *n_bits_total, uint8_t *dtx); int gsm0503_tch_ahs_encode(ubit_t *bursts, const uint8_t *tch_data, int len, int codec_mode_req, uint8_t *codec, int codecs, uint8_t ft, uint8_t cmr); int gsm0503_tch_ahs_decode(uint8_t *tch_data, const sbit_t *bursts, int odd, int codec_mode_req, uint8_t *codec, int codecs, uint8_t *ft, uint8_t *cmr, int *n_errors, int *n_bits_total); +int gsm0503_tch_ahs_decode_dtx(uint8_t *tch_data, const sbit_t *bursts, int odd, + int codec_mode_req, uint8_t *codec, int codecs, uint8_t *ft, + uint8_t *cmr, int *n_errors, int *n_bits_total, uint8_t *dtx); int gsm0503_rach_ext_encode(ubit_t *burst, uint16_t ra, uint8_t bsic, bool is_11bit); int gsm0503_rach_encode(ubit_t *burst, const uint8_t *ra, uint8_t bsic) OSMO_DEPRECATED("Use gsm0503_rach_ext_encode() instead"); diff --git a/src/coding/Makefile.am b/src/coding/Makefile.am index f47fe45..b023668 100644 --- a/src/coding/Makefile.am +++ b/src/coding/Makefile.am @@ -20,7 +20,8 @@ gsm0503_mapping.c \ gsm0503_tables.c \ gsm0503_parity.c \ - gsm0503_coding.c + gsm0503_coding.c \ + gsm0503_amr_dtx.c libosmocoding_la_LDFLAGS = \ $(LTLDFLAGS_OSMOCODING) \ -version-info \ diff --git a/src/coding/gsm0503_amr_dtx.c b/src/coding/gsm0503_amr_dtx.c new file mode 100644 index 0000000..724cf09 --- /dev/null +++ b/src/coding/gsm0503_amr_dtx.c @@ -0,0 +1,314 @@ +/* + * (C) 2020 by sysmocom - s.f.m.c. GmbH, Author: Philipp Maier + * 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, see . + * + */ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +/* See also: 3GPP TS 05.03, chapter 3.10.1.3, 3.10.5.2 Identification marker */ +static const ubit_t id_marker_1[] = { 1, 0, 1, 1, 0, 0, 0, 0, 1 }; + +/* See also: 3GPP TS 05.03, chapter 3.9.1.3, 3.10.2.2, 3.10.2.2 Identification marker */ +static const ubit_t id_marker_0[] = { 0, 1, 0, 0, 1, 1, 1, 1, 0 }; + +/* See also: 3GPP TS 05.03, chapter 3.9 Adaptive multi rate speech channel at full rate (TCH/AFS) */ +static const ubit_t codec_mode_1_sid[] = { 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0 }; +static const ubit_t codec_mode_2_sid[] = { 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0 }; +static const ubit_t codec_mode_3_sid[] = { 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1 }; +static const ubit_t codec_mode_4_sid[] = { 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1 }; + +const struct value_string gsm0503_amr_dtx_frame_names[] = { + { AFS_SID_FIRST, "AFS_SID_FIRST" }, + { AFS_SID_UPDATE, "AFS_SID_UPDATE" }, + { AFS_ONSET, "AFS_ONSET" }, + { AHS_SID_UPDATE, "AHS_SID_UPDATE" }, + { AHS_SID_FIRST_P1, "AHS_SID_FIRST_P1" }, + { AHS_SID_FIRST_P2, "AHS_SID_FIRST_P2" }, + { AHS_ONSET, "AHS_ONSET" }, + { AHS_SID_FIRST_INH, "AHS_SID_FIRST_INH" }, + { AHS_SID_UPDATE_INH, "AHS_SID_UPDATE_INH" }, + { AMR_OTHER, "NON DTX FRAME (OTHER)" }, + { 0, NULL } +}; + +static bool detect_afs_id_marker(int *n_errors, int *n_bits_total, const ubit_t * ubits, uint8_t offset, uint8_t count, + const ubit_t * id_marker, uint8_t id_marker_len) +{ + unsigned int i, k; + unsigned int id_bit_nr = 0; + int errors = 0; + int bits = 0; + + /* Override coded in-band data */ + ubits += offset; + + /* Check for identification marker bits */ + for (i = 0; i < count; i++) { + for (k = 0; k < 4; k++) { + if (id_marker[id_bit_nr % id_marker_len] != *ubits) + errors++; + id_bit_nr++; + ubits++; + bits++; + } + + /* Jump to the next block of 4 bits */ + ubits += 4; + } + + *n_errors = errors; + *n_bits_total = bits; + + /* Tolerate up to 1/8 errornous bits */ + return *n_errors < *n_bits_total / 8; +} + +static bool detect_ahs_id_marker(int *n_errors, int *n_bits_total, const ubit_t * ubits, const ubit_t * id_marker) +{ + unsigned int i, k; + int errors = 0; + int bits = 0; + + /* Override coded in-band data */ + ubits += 16; + + /* Check first identification marker bits (23*9 bits) */ + for (i = 0; i < 23; i++) { + for (k = 0; k < 9; k++) { + if (id_marker[k] != *ubits) + errors++; + ubits++; + bits++; + } + } + + /* Check remaining identification marker bits (5 bits) */ + for (k = 0; k < 5; k++) { + if (id_marker[k] != *ubits) + errors++; + ubits++; + bits++; + } + + *n_errors = errors; + *n_bits_total = bits; + + /* Tolerate up to 1/8 errornous bits */ + return *n_errors < *n_bits_total / 8; +} + +static bool detect_interleaved_ahs_id_marker(int *n_errors, int *n_bits_total, const ubit_t * ubits, uint8_t offset, + uint8_t n_bits, const ubit_t * id_marker, uint8_t id_marker_len) +{ + unsigned int i, k; + int errors = 0; + int bits = 0; + uint8_t full_rounds = n_bits / id_marker_len; + uint8_t remainder = n_bits % id_marker_len; + + /* Override coded in-band data */ + ubits += offset; + + /* Check first identification marker bits (23*9 bits) */ + for (i = 0; i < full_rounds; i++) { + for (k = 0; k < id_marker_len; k++) { + if (id_marker[k] != *ubits) + errors++; + ubits += 2; + bits++; + } + } + + /* Check remaining identification marker bits (5 bits) */ + for (k = 0; k < remainder; k++) { + if (id_marker[k] != *ubits) + errors++; + ubits += 2; + bits++; + } + + *n_errors = errors; + *n_bits_total = bits; + + /* Tolerate up to 1/8 errornous bits */ + return *n_errors < *n_bits_total / 8; +} + +/* Detect a an FR AMR SID_FIRST frame by its identifcation marker */ +static bool detect_afs_sid_first(int *n_errors, int *n_bits_total, const ubit_t * ubits) +{ + return detect_afs_id_marker(n_errors, n_bits_total, ubits, 32, 53, id_marker_0, 9); +} + +/* Detect an FR AMR SID_FIRST frame by its identification marker */ +static bool detect_afs_sid_update(int *n_errors, int *n_bits_total, const ubit_t * ubits) +{ + return detect_afs_id_marker(n_errors, n_bits_total, ubits, 36, 53, id_marker_0, 9); +} + +/* Detect an FR AMR SID_FIRST frame by its repeating coded inband data */ +static bool detect_afs_onset(int *n_errors, int *n_bits_total, const ubit_t * ubits) +{ + bool rc; + + rc = detect_afs_id_marker(n_errors, n_bits_total, ubits, 4, 57, codec_mode_1_sid, 16); + if (rc) + return true; + + rc = detect_afs_id_marker(n_errors, n_bits_total, ubits, 4, 57, codec_mode_2_sid, 16); + if (rc) + return true; + + rc = detect_afs_id_marker(n_errors, n_bits_total, ubits, 4, 57, codec_mode_3_sid, 16); + if (rc) + return true; + + rc = detect_afs_id_marker(n_errors, n_bits_total, ubits, 4, 57, codec_mode_4_sid, 16); + if (rc) + return true; + + return false; +} + +/* Detect an HR AMR SID UPDATE frame by its identification marker */ +static bool detect_ahs_sid_update(int *n_errors, int *n_bits_total, const ubit_t * ubits) +{ + return detect_ahs_id_marker(n_errors, n_bits_total, ubits, id_marker_1); +} + +/* Detect an HR AMR SID FIRST (part 1) frame by its identification marker */ +static bool detect_ahs_sid_first_p1(int *n_errors, int *n_bits_total, const ubit_t * ubits) +{ + return detect_ahs_id_marker(n_errors, n_bits_total, ubits, id_marker_0); +} + +/* Detect an HR AMR SID FIRST (part 2) frame by its repeating coded inband data */ +static bool detect_ahs_sid_first_p2(int *n_errors, int *n_bits_total, const ubit_t * ubits) +{ + bool rc; + + rc = detect_interleaved_ahs_id_marker(n_errors, n_bits_total, ubits, 0, 114, codec_mode_1_sid, 16); + if (rc) + return true; + + rc = detect_interleaved_ahs_id_marker(n_errors, n_bits_total, ubits, 0, 114, codec_mode_2_sid, 16); + if (rc) + return true; + + rc = detect_interleaved_ahs_id_marker(n_errors, n_bits_total, ubits, 0, 114, codec_mode_3_sid, 16); + if (rc) + return true; + + rc = detect_interleaved_ahs_id_marker(n_errors, n_bits_total, ubits, 0, 114, codec_mode_4_sid, 16); + if (rc) + return true; + + return false; +} + +/* Detect an HR AMR ONSET frame by its repeating coded inband data */ +static bool detect_ahs_onset(int *n_errors, int *n_bits_total, const ubit_t * ubits) +{ + bool rc; + + rc = detect_interleaved_ahs_id_marker(n_errors, n_bits_total, ubits, 1, 114, codec_mode_1_sid, 16); + if (rc) + return true; + + rc = detect_interleaved_ahs_id_marker(n_errors, n_bits_total, ubits, 1, 114, codec_mode_2_sid, 16); + if (rc) + return true; + + rc = detect_interleaved_ahs_id_marker(n_errors, n_bits_total, ubits, 1, 114, codec_mode_3_sid, 16); + if (rc) + return true; + + rc = detect_interleaved_ahs_id_marker(n_errors, n_bits_total, ubits, 1, 114, codec_mode_4_sid, 16); + if (rc) + return true; + + return false; +} + +/* Detect an HR AMR SID FIRST INHIBIT frame by its identification marker */ +static bool detect_ahs_sid_first_inh(int *n_errors, int *n_bits_total, const ubit_t * ubits) +{ + return detect_interleaved_ahs_id_marker(n_errors, n_bits_total, ubits, 33, 212, id_marker_1, 9); +} + +/* Detect an HR AMR SID UPDATE INHIBIT frame by its identification marker */ +static bool detect_ahs_sid_update_inh(int *n_errors, int *n_bits_total, const ubit_t * ubits) +{ + return detect_interleaved_ahs_id_marker(n_errors, n_bits_total, ubits, 33, 212, id_marker_0, 9); +} + +/*! Detect FR AMR DTX frame in unmapped, deinterleaved frame bits. + * \param[in] ubits input bits (456 bit). + * \param[out] n_errors number of errornous bits. + * \param[out] n_bits_total number of checked bits. + * \returns dtx frame type. */ +enum gsm0503_amr_dtx_frames gsm0503_detect_afs_dtx_frame(int *n_errors, int *n_bits_total, const ubit_t * ubits) +{ + if (detect_afs_sid_first(n_errors, n_bits_total, ubits)) + return AFS_SID_FIRST; + if (detect_afs_sid_update(n_errors, n_bits_total, ubits)) + return AFS_SID_UPDATE; + if (detect_afs_onset(n_errors, n_bits_total, ubits)) + return AFS_ONSET; + + *n_errors = 0; + *n_bits_total = 0; + return AMR_OTHER; +} + +/*! Detect HR AMR DTX frame in unmapped, deinterleaved frame bits. + * \param[in] ubits input bits (456 bit). + * \param[out] n_errors number of errornous bits. + * \param[out] n_bits_total number of checked bits. + * \returns dtx frame type, */ +enum gsm0503_amr_dtx_frames gsm0503_detect_ahs_dtx_frame(int *n_errors, int *n_bits_total, const ubit_t * ubits) +{ + if (detect_ahs_sid_update(n_errors, n_bits_total, ubits)) + return AHS_SID_UPDATE; + if (detect_ahs_sid_first_inh(n_errors, n_bits_total, ubits)) + return AHS_SID_FIRST_INH; + if (detect_ahs_sid_update_inh(n_errors, n_bits_total, ubits)) + return AHS_SID_UPDATE_INH; + if (detect_ahs_sid_first_p1(n_errors, n_bits_total, ubits)) + return AHS_SID_FIRST_P1; + if (detect_ahs_sid_first_p2(n_errors, n_bits_total, ubits)) + return AHS_SID_FIRST_P2; + if (detect_ahs_onset(n_errors, n_bits_total, ubits)) + return AHS_ONSET; + + *n_errors = 0; + *n_bits_total = 0; + return AMR_OTHER; +} diff --git a/src/coding/gsm0503_coding.c b/src/coding/gsm0503_coding.c index 5592433..1bec56e 100644 --- a/src/coding/gsm0503_coding.c +++ b/src/coding/gsm0503_coding.c @@ -47,6 +47,7 @@ #include #include #include +#include /*! \mainpage libosmocoding Documentation * @@ -1635,6 +1636,39 @@ d_bits[i] = (tch_data[j >> 3] >> (7 - (j & 7))) & 1; } +/* Append STI and MI bits to the SID_UPDATE frame, see also + * 3GPP TS 26.101, chapter 4.2.3 AMR Core Frame with comfort noise bits */ +static void tch_amr_sid_update_append(ubit_t *sid_update, uint8_t sti, uint8_t mi) +{ + /* Zero out the space that had been used by the CRC14 */ + memset(sid_update + 35, 0, 14); + + /* Append STI and MI parameters */ + sid_update[35] = sti & 1; + sid_update[36] = mi & 1; + sid_update[37] = mi >> 1 & 1; + sid_update[38] = mi >> 2 & 1; +} + +/* Extract a SID UPDATE fram the sbits of an FR AMR frame */ +static void extract_afs_sid_update(sbit_t *sid_update, const sbit_t *sbits) +{ + + unsigned int i; + + sbits += 32; + + for (i = 0; i < 53; i++) { + sid_update[0] = sbits[0]; + sid_update[1] = sbits[1]; + sid_update[2] = sbits[2]; + sid_update[3] = sbits[3]; + sid_update += 4; + sbits += 8; + } + +} + /* re-arrange according to TS 05.03 Table 2 (receiver) */ static void tch_fr_d_to_b(ubit_t *b_bits, const ubit_t *d_bits) { @@ -2101,10 +2135,37 @@ int codec_mode_req, uint8_t *codec, int codecs, uint8_t *ft, uint8_t *cmr, int *n_errors, int *n_bits_total) { + return gsm0503_tch_afs_decode_dtx(tch_data, bursts, codec_mode_req, + codec, codecs, ft, cmr, n_errors, + n_bits_total, NULL); +} + +/*! Perform channel decoding of a TCH/AFS channel according TS 05.03 + * \param[out] tch_data Codec frame in RTP payload format + * \param[in] bursts buffer containing the symbols of 8 bursts + * \param[in] codec_mode_req is this CMR (1) or CMC (0) + * \param[in] codec array of active codecs (active codec set) + * \param[in] codecs number of codecs in \a codec + * \param ft Frame Type; Input if \a codec_mode_req = 1, Output * otherwise + * \param[out] cmr Output in \a codec_mode_req = 1 + * \param[out] n_errors Number of detected bit errors + * \param[out] n_bits_total Total number of bits + * \param[inout] dtx DTX frame type output, previous DTX frame type input + * \returns (>=4) length of bytes used in \a tch_data output buffer; ([0,3]) + * codec out of range; negative on error + */ +int gsm0503_tch_afs_decode_dtx(uint8_t *tch_data, const sbit_t *bursts, + int codec_mode_req, uint8_t *codec, int codecs, uint8_t *ft, + uint8_t *cmr, int *n_errors, int *n_bits_total, uint8_t *dtx) +{ sbit_t iB[912], cB[456], h; ubit_t d[244], p[6], conv[250]; int i, j, k, best = 0, rv, len, steal = 0, id = 0; + ubit_t cBd[456]; *n_errors = 0; *n_bits_total = 0; + static ubit_t sid_first_dummy[64] = { 0 }; + sbit_t sid_update_enc[256]; + uint8_t dtx_prev; for (i=0; i<8; i++) { gsm0503_tch_burst_unmap(&iB[i * 114], &bursts[i * 116], &h, i >> 2); @@ -2123,6 +2184,50 @@ return GSM_MACBLOCK_LEN; } + /* Determine the DTX frame type (SID_UPDATE, ONSET etc...) */ + if (dtx) { + osmo_sbit2ubit(cBd, cB, 456); + dtx_prev = *dtx; + *dtx = gsm0503_detect_afs_dtx_frame(n_errors, n_bits_total, cBd); + + if (dtx_prev == AFS_SID_UPDATE && *dtx == AMR_OTHER) { + /* NOTE: The AFS_SID_UPDATE frame is splitted into + * two half rate frames. If the id marker frame + * (AFS_SID_UPDATE) is detected the following frame + * contains the actual comfort noised data part of + * (AFS_SID_UPDATE_CN). */ + *dtx = AFS_SID_UPDATE_CN; + + extract_afs_sid_update(sid_update_enc, cB); + osmo_conv_decode_ber(&gsm0503_tch_axs_sid_update, + sid_update_enc, conv, n_errors, + n_bits_total); + rv = osmo_crc16gen_check_bits(&gsm0503_amr_crc14, conv, + 35, conv + 35); + if (rv != 0) { + /* Error checking CRC14 for an AMR SID_UPDATE frame */ + return -1; + } + + tch_amr_sid_update_append(conv, 1, + (codec_mode_req) ? codec[*ft] + : codec[id]); + tch_amr_reassemble(tch_data, conv, 39); + len = 5; + goto out; + } else if (*dtx == AFS_SID_FIRST) { + tch_amr_sid_update_append(sid_first_dummy, 0, + (codec_mode_req) ? codec[*ft] + : codec[id]); + tch_amr_reassemble(tch_data, conv, 39); + len = 5; + goto out; + } else if (*dtx == AFS_ONSET) { + len = 0; + goto out; + } + } + for (i = 0; i < 4; i++) { for (j = 0, k = 0; j < 8; j++) k += abs(((int)gsm0503_afs_ic_sbit[i][j]) - ((int)cB[j])); @@ -2283,6 +2388,7 @@ return -1; } +out: /* Change codec request / indication, if frame is valid */ if (codec_mode_req) *cmr = id; @@ -2480,9 +2586,36 @@ int codec_mode_req, uint8_t *codec, int codecs, uint8_t *ft, uint8_t *cmr, int *n_errors, int *n_bits_total) { + return gsm0503_tch_ahs_decode_dtx(tch_data, bursts, odd, codec_mode_req, + codec, codecs, ft, cmr, n_errors, + n_bits_total, NULL); +} + +/*! Perform channel decoding of a TCH/AFS channel according TS 05.03 + * \param[out] tch_data Codec frame in RTP payload format + * \param[in] bursts buffer containing the symbols of 8 bursts + * \param[in] odd Is this an odd (1) or even (0) frame number? + * \param[in] codec_mode_req is this CMR (1) or CMC (0) + * \param[in] codec array of active codecs (active codec set) + * \param[in] codecs number of codecs in \a codec + * \param ft Frame Type; Input if \a codec_mode_req = 1, Output * otherwise + * \param[out] cmr Output in \a codec_mode_req = 1 + * \param[out] n_errors Number of detected bit errors + * \param[out] n_bits_total Total number of bits + * \param[inout] dtx DTX frame type output, previous DTX frame type input + * \returns (>=4) length of bytes used in \a tch_data output buffer; ([0,3]) + * codec out of range; negative on error + */ +int gsm0503_tch_ahs_decode_dtx(uint8_t *tch_data, const sbit_t *bursts, int odd, + int codec_mode_req, uint8_t *codec, int codecs, uint8_t *ft, + uint8_t *cmr, int *n_errors, int *n_bits_total, uint8_t *dtx) +{ sbit_t iB[912], cB[456], h; ubit_t d[244], p[6], conv[135]; int i, j, k, best = 0, rv, len, steal = 0, id = 0; + ubit_t cBd[456]; + static ubit_t sid_first_dummy[64] = { 0 }; + uint8_t dtx_prev; /* only unmap the stealing bits */ if (!odd) { @@ -2526,6 +2659,52 @@ gsm0503_tch_hr_deinterleave(cB, iB); + /* Determine the DTX frame type (SID_UPDATE, ONSET etc...) */ + if (dtx) { + osmo_sbit2ubit(cBd, cB, 456); + dtx_prev = *dtx; + *dtx = gsm0503_detect_ahs_dtx_frame(n_errors, n_bits_total, cBd); + + if (dtx_prev == AHS_SID_UPDATE && *dtx == AMR_OTHER) { + /* NOTE: The AHS_SID_UPDATE frame is splitted into + * two half rate frames. If the id marker frame + * (AHS_SID_UPDATE) is detected the following frame + * contains the actual comfort noised data part of + * (AHS_SID_UPDATE_CN). */ + *dtx = AHS_SID_UPDATE_CN; + + osmo_conv_decode_ber(&gsm0503_tch_axs_sid_update, + cB + 16, conv, n_errors, + n_bits_total); + rv = osmo_crc16gen_check_bits(&gsm0503_amr_crc14, conv, + 35, conv + 35); + if (rv != 0) { + /* Error checking CRC14 for an AMR SID_UPDATE frame */ + return -1; + } + + tch_amr_sid_update_append(conv, 1, + (codec_mode_req) ? codec[*ft] + : codec[id]); + tch_amr_reassemble(tch_data, conv, 39); + len = 5; + goto out; + } else if (*dtx == AHS_SID_FIRST_P2) { + tch_amr_sid_update_append(sid_first_dummy, 0, + (codec_mode_req) ? codec[*ft] + : codec[id]); + tch_amr_reassemble(tch_data, sid_first_dummy, 39); + len = 5; + goto out; + } else if (*dtx == AHS_SID_UPDATE || *dtx == AHS_ONSET + || *dtx == AHS_SID_FIRST_INH + || *dtx == AHS_SID_UPDATE_INH + || *dtx == AHS_SID_FIRST_P1) { + len = 0; + goto out; + } + } + for (i = 0; i < 4; i++) { for (j = 0, k = 0; j < 4; j++) k += abs(((int)gsm0503_ahs_ic_sbit[i][j]) - ((int)cB[j])); @@ -2670,6 +2849,7 @@ return -1; } +out: /* Change codec request / indication, if frame is valid */ if (codec_mode_req) *cmr = id; diff --git a/src/coding/libosmocoding.map b/src/coding/libosmocoding.map index 7f88111..325b6d8 100644 --- a/src/coding/libosmocoding.map +++ b/src/coding/libosmocoding.map @@ -107,8 +107,10 @@ gsm0503_tch_hr_decode; gsm0503_tch_afs_encode; gsm0503_tch_afs_decode; +gsm0503_tch_afs_decode_dtx; gsm0503_tch_ahs_encode; gsm0503_tch_ahs_decode; +gsm0503_tch_ahs_decode_dtx; gsm0503_rach_ext_encode; gsm0503_rach_ext_decode; gsm0503_rach_ext_decode_ber; @@ -117,6 +119,10 @@ gsm0503_rach_decode_ber; gsm0503_sch_encode; gsm0503_sch_decode; +gsm0503_amr_dtx_frame_names; +gsm0503_amr_dtx_frame_name; +gsm0503_detect_afs_dtx_frame; +gsm0503_detect_ahs_dtx_frame; local: *; }; diff --git a/tests/Makefile.am b/tests/Makefile.am index bf7017b..0d0327a 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -34,6 +34,7 @@ use_count/use_count_test \ context/context_test \ gsm0502/gsm0502_test \ + dtx/dtx_gsm0503_test \ $(NULL) if ENABLE_MSGFILE @@ -114,6 +115,10 @@ gsm0502_gsm0502_test_SOURCES = gsm0502/gsm0502_test.c gsm0502_gsm0502_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la +dtx_dtx_gsm0503_test_SOURCES = dtx/dtx_gsm0503_test.c +dtx_dtx_gsm0503_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la \ + $(top_builddir)/src/coding/libosmocoding.la + conv_conv_gsm0503_test_SOURCES = conv/conv_gsm0503_test.c conv/conv.c conv/gsm0503_test_vectors.c conv_conv_gsm0503_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libgsmint.la conv_conv_gsm0503_test_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/tests/conv @@ -339,6 +344,7 @@ use_count/use_count_test.ok use_count/use_count_test.err \ context/context_test.ok \ gsm0502/gsm0502_test.ok \ + dtx/dtx_gsm0503_test.ok \ exec/exec_test.ok exec/exec_test.err \ $(NULL) diff --git a/tests/dtx/dtx_gsm0503_test.c b/tests/dtx/dtx_gsm0503_test.c new file mode 100644 index 0000000..f300313 --- /dev/null +++ b/tests/dtx/dtx_gsm0503_test.c @@ -0,0 +1,130 @@ +/* + * (C) 2019 by sysmocom s.f.m.c. GmbH + * Author: Philipp Maier + * 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 +#include + +char sample_afs_sid_frame[] = + { +"111111110000000011001100101010100100010011111111001000100111011110011001001100111100110010011001111011100100010011111111001000100111011110011001001100111100110010011001111011100100010011111111001000100111011110011001001100111100110010011001111011100100010011111111001000100111011110011001001100111100110010011001111011100100010011111111001000100111011110011001001100111100110010011001111011100100010011111111001000100111011110011001001100111100110010011001" +}; + +char sample_afs_sid_update_frame[] = + { +"111111110000000011001100101010100000010000001111111100101011011110001001000000110111110000001001011111101111010011001111100000101000011111001001111100110111110011111001001111101100010001001111000000100100011100111001100000111000110000111001010011101111010011111111010000101100011100111001111100110111110011111001110011101000010010001111110000100000011111001001011100110011110010111001101111100011010001111111001100100100011111111001000000110000110000001001" +}; + +char sample_afs_onset_frame[] = + { +"111111110000000011001100101010100000111100000000111111000100101000111111100000000111110010001010001111110100000011111100111110100100111111000000110011001011101001001111011100001011110000001010010011111100000000111100111110101000111110110000111111000000101011111111010000001100110000111010111111111000000010111100000010100100111100110000100011001000101000111111101100001011110000111010011111110011000010111100101110101100111111000000010011001111101000001111" +}; + +char sample_ahs_sid_update_frame[] = + { +"111100001100101010110000110110000110110000110110000110110000110110000110110000110110000110110000110110000110110000110110000110110000110110000110110000110110000110110000110110000110110000110110000110110000110110000110110000110110100011001000011010000000000000001111010010000000000001000000000010110000000011001000000000000000100000101000000000000000001010100000010010000000000010000111110001110110110011001101000000000100100011001000001010000100100000000011" +}; + +char sample_ahs_sid_first_p1_frame[] = + { +"111100001100101001001111001001111001001111001001111001001111001001111001001111001001111001001111001001111001001111001001111001001111001001111001001111001001111001001111001001111001001111001001111001001111001001111001001111001001001011010110001101100101001110001111001110100110010000111101110110110000100100011111001001110000011110110001010010101100001010100000111101110110001010000111110001110110110011001101001111000011101001010011100011000111010110000011" +}; + +char sample_ahs_sid_first_p2_frame[] = + { +"111110100100000010100000110111001110101100000100101001011101100011101010010000001010010010001100101010100100010111110101110011011110101000010100111000001001110111101110010101001110000010001101101011110000000011100100110110011111100011001000001101100101001110001111001110100110010000111101110110110000100100011111001001110000011110110001010010101100001010100000111101110110001010000111110001110110110011001101001111000011101001010011100011000111010110000011" +}; + +char sample_ahs_onset_frame[] = + { +"111101011000101001010000111001000111011110000000011110001110010011011111100000101101101001101110011111010000000001010010110001101101110100000010011110101100010001011101101010000111100011101100111101011010100011110010110001001111100011001000011010000000000000001010010010000000000001000000000000100000000011001000000000000000100000101000000000000000010010000101010010000000000010101100111110101000110110011001000000000100100011001000001010000100100000001100" +}; + +char sample_sid_first_inh_frame[] = + { +"xBxBxBxBxBxBxBxBxBxBxBxBxBxBxBxBx1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0x0x0x0x1x1x0x1x1x0" +}; + +char sample_sid_update_inh_frame[] = + { +"xBxBxBxBxBxBxBxBxBxBxBxBxBxBxBxBx0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1x1x1x1x0x0x1x0x0x1" +}; + +unsigned int string_to_ubit(ubit_t * ubits, char *string) +{ + unsigned int len; + unsigned int i; + + len = strlen(string); + + for (i = 0; i < len; i++) { + ubits[i] = string[i] & 1; + } + + return len; +} + +void test_gsm0503_detect_afs_dtx_frame(char *string) +{ + ubit_t ubits[512]; + uint8_t dtx_frame_type; + int n_errors; + int n_bits_total; + + string_to_ubit(ubits, string); + dtx_frame_type = gsm0503_detect_afs_dtx_frame(&n_errors, &n_bits_total, ubits); + printf(" ==> %s, n_errors=%i, n_bits_total=%i\n", gsm0503_amr_dtx_frame_name(dtx_frame_type), + n_errors, n_bits_total); +} + +void test_gsm0503_detect_ahs_dtx_frame(char *string) +{ + ubit_t ubits[512]; + uint8_t dtx_frame_type; + int n_errors; + int n_bits_total; + + string_to_ubit(ubits, string); + dtx_frame_type = gsm0503_detect_ahs_dtx_frame(&n_errors, &n_bits_total, ubits); + printf(" ==> %s, n_errors=%i, n_bits_total=%i\n", gsm0503_amr_dtx_frame_name(dtx_frame_type), + n_errors, n_bits_total); +} + +int main(int argc, char **argv) +{ + printf("FR AMR DTX FRAMES:\n"); + test_gsm0503_detect_afs_dtx_frame(sample_afs_sid_frame); + test_gsm0503_detect_afs_dtx_frame(sample_afs_sid_update_frame); + test_gsm0503_detect_afs_dtx_frame(sample_afs_onset_frame); + printf("HR AMR DTX FRAMES:\n"); + test_gsm0503_detect_ahs_dtx_frame(sample_ahs_sid_update_frame); + test_gsm0503_detect_ahs_dtx_frame(sample_ahs_sid_first_p1_frame); + test_gsm0503_detect_ahs_dtx_frame(sample_ahs_sid_first_p2_frame); + test_gsm0503_detect_ahs_dtx_frame(sample_ahs_onset_frame); + test_gsm0503_detect_ahs_dtx_frame(sample_sid_first_inh_frame); + test_gsm0503_detect_ahs_dtx_frame(sample_sid_update_inh_frame); + + return EXIT_SUCCESS; +} diff --git a/tests/dtx/dtx_gsm0503_test.ok b/tests/dtx/dtx_gsm0503_test.ok new file mode 100644 index 0000000..a95a18b --- /dev/null +++ b/tests/dtx/dtx_gsm0503_test.ok @@ -0,0 +1,11 @@ +FR AMR DTX FRAMES: + ==> AFS_SID_FIRST, n_errors=0, n_bits_total=212 + ==> AFS_SID_UPDATE, n_errors=0, n_bits_total=212 + ==> AFS_ONSET, n_errors=0, n_bits_total=228 +HR AMR DTX FRAMES: + ==> AHS_SID_UPDATE, n_errors=0, n_bits_total=212 + ==> AHS_SID_FIRST_P1, n_errors=0, n_bits_total=212 + ==> AHS_SID_FIRST_P2, n_errors=0, n_bits_total=114 + ==> AHS_ONSET, n_errors=0, n_bits_total=114 + ==> AHS_SID_FIRST_INH, n_errors=0, n_bits_total=212 + ==> AHS_SID_UPDATE_INH, n_errors=0, n_bits_total=212 diff --git a/tests/testsuite.at b/tests/testsuite.at index cb83ab9..bab5730 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -132,6 +132,12 @@ AT_CHECK([$abs_top_builddir/tests/gsm0502/gsm0502_test], [0], [expout], [ignore]) AT_CLEANUP +AT_SETUP([dtx]) +AT_KEYWORDS([dtx]) +cat $abs_srcdir/dtx/dtx_gsm0503_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/dtx/dtx_gsm0503_test], [0], [expout], [ignore]) +AT_CLEANUP + AT_SETUP([gsm0808]) AT_KEYWORDS([gsm0808]) cat $abs_srcdir/gsm0808/gsm0808_test.ok > expout -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2bbdb39ea20461ca08b2e6f1a33532cb55cd5195 Gerrit-Change-Number: 17095 Gerrit-PatchSet: 13 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 Tue Apr 14 13:25:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:25:37 +0000 Subject: Change in osmo-trx[master]: doc: apply an rssi-offset of 28 by default. In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#4) to the change originally created by dexter. ( https://gerrit.osmocom.org/c/osmo-trx/+/17596 ) Change subject: doc: apply an rssi-offset of 28 by default. ...................................................................... doc: apply an rssi-offset of 28 by default. Set an rssi offset of 28 in the example configs to make sure that the power control loop gets RSSI values that match at least half way the reality when the 1800 Mhz band is used. For other bands the value will be different (See also related osmocom ticket) Change-Id: I62725fe454f54e2c7cb7550dadb1e6fc94337d78 Related: OS#4468 --- M doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/96/17596/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I62725fe454f54e2c7cb7550dadb1e6fc94337d78 Gerrit-Change-Number: 17596 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge 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 Apr 14 13:25:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 13:25:46 +0000 Subject: Change in osmo-trx[master]: doc: apply an rssi-offset of 28 by default. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17596 ) Change subject: doc: apply an rssi-offset of 28 by default. ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I62725fe454f54e2c7cb7550dadb1e6fc94337d78 Gerrit-Change-Number: 17596 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 13:25: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 Apr 14 14:43:03 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 14 Apr 2020 14:43:03 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17808 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 2: > Description set to "I'm not sure why there is a case with failing > build, as the software build and runs fine in the LC 1.5." Hi Juba, If you follow the jenkins link to the build, you can see which build failed, there you can access the entire log for the build. There, at least, we can see: lc15bts.c:126:7: error: ?Litecell15_PrimId_SetMaxCellSizeReq? undeclared (first use in this function) That certainly looks wrong. As I already flagged this might come up, I'd verify the LC15 headers being used for the build on jenkins. There's also a whole bunch of other warnings there that should probably be cleaned up? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17808 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id41bba798440b00a3b11441b64b2e8094a946bf2 Gerrit-Change-Number: 17808 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-CC: keith Gerrit-Comment-Date: Tue, 14 Apr 2020 14:43: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 Tue Apr 14 15:01:42 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 14 Apr 2020 15:01:42 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17808 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 2: (1 comment) > > Description set to "I'm not sure why there is a case with failing > > build, as the software build and runs fine in the LC 1.5." > l1_if.c:1714:36: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types] fl1h->hw_alive.dsp_alive_timer.cb = dsp_alive_timer_cb; https://gerrit.osmocom.org/c/osmo-bts/+/17808/2/src/osmo-bts-litecell15/oml.c File src/osmo-bts-litecell15/oml.c: https://gerrit.osmocom.org/c/osmo-bts/+/17808/2/src/osmo-bts-litecell15/oml.c at 1805 PS2, Line 1805: TLVP_LEN(new_attr, NM_ATT_TSC) >= 1 && why? please see https://git.osmocom.org/libosmocore/tree/include/osmocom/gsm/tlv.h#n470 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17808 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id41bba798440b00a3b11441b64b2e8094a946bf2 Gerrit-Change-Number: 17808 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-CC: keith Gerrit-Comment-Date: Tue, 14 Apr 2020 15:01: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 Tue Apr 14 15:26:09 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 14 Apr 2020 15:26:09 +0000 Subject: Change in osmo-trx[master]: doc: apply an rssi-offset of 28 by default. In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17596 ) Change subject: doc: apply an rssi-offset of 28 by default. ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I62725fe454f54e2c7cb7550dadb1e6fc94337d78 Gerrit-Change-Number: 17596 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 15: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 Tue Apr 14 15:28:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 14 Apr 2020 15:28:40 +0000 Subject: Change in libosmocore[master]: tests/coding: Test decoding of DL EGPRS data packet In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17750 ) Change subject: tests/coding: Test decoding of DL EGPRS data packet ...................................................................... Patch Set 2: Neither of my comments was addressed in the new patch set... -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17750 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ide23a484b980995f24092d1cfbf062aed58fdf61 Gerrit-Change-Number: 17750 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 14 Apr 2020 15:28: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 Tue Apr 14 15:29:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 14 Apr 2020 15:29:08 +0000 Subject: Change in osmo-ggsn[master]: netdev_addaddr6: Use prefixlen arg References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17811 ) Change subject: netdev_addaddr6: Use prefixlen arg ...................................................................... netdev_addaddr6: Use prefixlen arg The parameter was simply unused until this change was made. An Ipv6 can have a prefix length between 48 and 64 bits. Change-Id: I4b1512d5a4d7bbc2516221ea6808565eac0eb18f --- M lib/netdev.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/11/17811/1 diff --git a/lib/netdev.c b/lib/netdev.c index 0011588..19c5c62 100644 --- a/lib/netdev.c +++ b/lib/netdev.c @@ -433,7 +433,7 @@ req.n.nlmsg_flags = NLM_F_REQUEST | NLM_F_CREATE; req.n.nlmsg_type = RTM_NEWADDR; req.i.ifa_family = AF_INET6; - req.i.ifa_prefixlen = 64; /* 64 FOR IPv6 */ + req.i.ifa_prefixlen = prefixlen; /* 64 FOR IPv6 */ req.i.ifa_flags = 0; req.i.ifa_scope = RT_SCOPE_HOST; /* TODO or 0 */ req.i.ifa_index = if_nametoindex(devname); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17811 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I4b1512d5a4d7bbc2516221ea6808565eac0eb18f Gerrit-Change-Number: 17811 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 Apr 14 15:30:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 14 Apr 2020 15:30:15 +0000 Subject: Change in libosmocore[master]: tests/coding: Test decoding of DL EGPRS data packet In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17750 ) Change subject: tests/coding: Test decoding of DL EGPRS data packet ...................................................................... Patch Set 2: @fixeria please check next patch and you will see why I didn't apply it in this patch but in next one. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17750 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ide23a484b980995f24092d1cfbf062aed58fdf61 Gerrit-Change-Number: 17750 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 14 Apr 2020 15:30: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 Tue Apr 14 15:43:38 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 14 Apr 2020 15:43:38 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: enable time / date logging for fake_trx.py In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17761 ) Change subject: ttcn3-bts-test: enable time / date logging for fake_trx.py ...................................................................... Patch Set 1: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7f82e4f573db8f72256718c04bb1ace23788ba38 Gerrit-Change-Number: 17761 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 15:43:38 +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 Apr 14 15:45:59 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 14 Apr 2020 15:45:59 +0000 Subject: Change in osmo-msc[master]: msc/gsm_data.h: fix and clarify GSM 03.40 TP-UD Length In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/13484 ) Change subject: msc/gsm_data.h: fix and clarify GSM 03.40 TP-UD Length ...................................................................... Abandoned We're going to get rid of the SMSC related code anyway... -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2a49f9d24cd075234190b3b92999256bce01ca77 Gerrit-Change-Number: 13484 Gerrit-PatchSet: 9 Gerrit-Owner: fixeria Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Apr 14 15:46:09 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 14 Apr 2020 15:46:09 +0000 Subject: Change in osmo-msc[master]: WIP: store SM-TP-UDL in the database In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/13632 ) Change subject: WIP: store SM-TP-UDL in the database ...................................................................... Abandoned We're going to get rid of the SMSC related code anyway... -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I747a795ca486f3fcfa7583c5ab8aa2aee07a8ec2 Gerrit-Change-Number: 13632 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Apr 14 15:50:06 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 14 Apr 2020 15:50:06 +0000 Subject: Change in osmo-bsc[master]: vty: clarify EGPRS Packet Channel Request message support In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17730 ) Change subject: vty: clarify EGPRS Packet Channel Request message support ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ied5bd10a806aeeac65ef32339d4ab0e3700e5da9 Gerrit-Change-Number: 17730 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 15:50: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 Apr 14 15:50:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 14 Apr 2020 15:50:10 +0000 Subject: Change in osmo-bsc[master]: vty: clarify EGPRS Packet Channel Request message support In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17730 ) Change subject: vty: clarify EGPRS Packet Channel Request message support ...................................................................... vty: clarify EGPRS Packet Channel Request message support According to 3GPP TS 44.060, section 12.24, GPRS Cell Options IE contains two parameters related to 11 bit Access Burst support: - ACCESS_BURST_TYPE - whether the 8 or 11 bit format shall be used in the PACKET CHANNEL REQUEST message, the PTCCH/U block, PACKET CONTROL ACKNOWLEDGMENT and the PS HANDOVER ACCESS messages on the PRACH (if present). - EGPRS_PACKET_CHANNEL_REQUEST - whether EGPRS capable MSs shall use EGPRS PACKET CHANNEL REQUEST message for Uplink TBF establishment on the RACH or on the PRACH (if present). The VTY option 'gprs 11bit_rach_support_for_egprs' actually controls the second parameter - EGPRS_PACKET_CHANNEL_REQUEST, though it may be hard to understand this from its name and description. This patch is actually a group of tightly related changes: - deprecate 'gprs 11bit_rach_support_for_egprs (0|1)': - update its description to avoid any possible confusion, - print a warning if it's used in non-EGPRS mode, - print a warning if it's still used; - introduce '[no] gprs egprs-packet-channel-request': - ensure that it can only set / printed in the EGPRS mode; - take a chance to clean-up / rename the related struct members: - 'supports_egprs_11bit_rach' -> bool 'egprs_pkt_chan_request', - remove 'supports_egprs_11bit_rach' from 'gprs_cell_options' because we already have 'ext_info.use_egprs_p_ch_req' there. Change-Id: Ied5bd10a806aeeac65ef32339d4ab0e3700e5da9 --- M doc/manuals/vty/bsc_vty_reference.xml M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/rest_octets.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/rest_octets.c M src/osmo-bsc/system_information.c 6 files changed, 76 insertions(+), 26 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/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index f2266e4..dac4ec5 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -3370,12 +3370,17 @@ - + + + + + + + + - - - + diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 2595174..9a1db07 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1150,7 +1150,6 @@ /* Not entirely sure how ip.access specific this is */ struct { - uint8_t supports_egprs_11bit_rach; enum bts_gprs_mode mode; struct { struct gsm_abis_mo mo; @@ -1167,6 +1166,7 @@ uint8_t rac; uint8_t net_ctrl_ord; bool ctrl_ack_type_use_block; + bool egprs_pkt_chan_request; } gprs; /* threshold (in percent) when BTS shall send CCCH LOAD IND */ diff --git a/include/osmocom/bsc/rest_octets.h b/include/osmocom/bsc/rest_octets.h index 2c1b162..7df66f7 100644 --- a/include/osmocom/bsc/rest_octets.h +++ b/include/osmocom/bsc/rest_octets.h @@ -82,7 +82,6 @@ uint32_t t3192; /* in milliseconds */ uint32_t drx_timer_max;/* in seconds */ uint32_t bs_cv_max; - uint8_t supports_egprs_11bit_rach; bool ctrl_ack_type_use_block; /* use PACKET CONTROL ACKNOWLEDGMENT */ uint8_t ext_info_present; diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index d3908be..f8bcee9 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -736,9 +736,6 @@ if (bts->gprs.mode == BTS_GPRS_NONE) return; - vty_out(vty, " gprs 11bit_rach_support_for_egprs %u%s", - bts->gprs.supports_egprs_11bit_rach, VTY_NEWLINE); - vty_out(vty, " gprs routing area %u%s", bts->gprs.rac, VTY_NEWLINE); vty_out(vty, " gprs network-control-order nc%u%s", @@ -772,6 +769,12 @@ vty_out(vty, " gprs nsvc %u remote ip %s%s", i, inet_ntoa(ia), VTY_NEWLINE); } + + /* EGPRS specific parameters */ + if (bts->gprs.mode == BTS_GPRS_EGPRS) { + if (bts->gprs.egprs_pkt_chan_request) + vty_out(vty, " gprs egprs-packet-channel-request%s", VTY_NEWLINE); + } } /* Write the model data if there is one */ @@ -3126,22 +3129,65 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_gprs_11bit_rach_support_for_egprs, +DEFUN_DEPRECATED(cfg_bts_gprs_11bit_rach_support_for_egprs, cfg_bts_gprs_11bit_rach_support_for_egprs_cmd, "gprs 11bit_rach_support_for_egprs (0|1)", - GPRS_TEXT "11 bit RACH options\n" - "Disable 11 bit RACH for EGPRS\n" - "Enable 11 bit RACH for EGPRS\n") + GPRS_TEXT "EGPRS Packet Channel Request support\n" + "Disable EGPRS Packet Channel Request support\n" + "Enable EGPRS Packet Channel Request support\n") { struct gsm_bts *bts = vty->index; - bts->gprs.supports_egprs_11bit_rach = atoi(argv[0]); + vty_out(vty, "%% 'gprs 11bit_rach_support_for_egprs' is now deprecated: " + "use '[no] gprs egprs-packet-channel-request' instead%s", VTY_NEWLINE); - if (bts->gprs.mode == BTS_GPRS_NONE && bts->gprs.supports_egprs_11bit_rach) { + bts->gprs.egprs_pkt_chan_request = (argv[0][0] == '1'); + + if (bts->gprs.mode == BTS_GPRS_NONE && bts->gprs.egprs_pkt_chan_request) { vty_out(vty, "%% (E)GPRS is not enabled (see 'gprs mode')%s", VTY_NEWLINE); return CMD_WARNING; } + if (bts->gprs.mode != BTS_GPRS_EGPRS) { + vty_out(vty, "%% EGPRS Packet Channel Request support requires " + "EGPRS mode to be enabled (see 'gprs mode')%s", VTY_NEWLINE); + /* Do not return here, keep the old behaviour. */ + } + + return CMD_SUCCESS; +} + +DEFUN(cfg_bts_gprs_egprs_pkt_chan_req, + cfg_bts_gprs_egprs_pkt_chan_req_cmd, + "gprs egprs-packet-channel-request", + GPRS_TEXT "EGPRS Packet Channel Request support") +{ + struct gsm_bts *bts = vty->index; + + if (bts->gprs.mode != BTS_GPRS_EGPRS) { + vty_out(vty, "%% EGPRS Packet Channel Request support requires " + "EGPRS mode to be enabled (see 'gprs mode')%s", VTY_NEWLINE); + return CMD_WARNING; + } + + bts->gprs.egprs_pkt_chan_request = true; + return CMD_SUCCESS; +} + +DEFUN(cfg_bts_no_gprs_egprs_pkt_chan_req, + cfg_bts_no_gprs_egprs_pkt_chan_req_cmd, + "no gprs egprs-packet-channel-request", + NO_STR GPRS_TEXT "EGPRS Packet Channel Request support") +{ + struct gsm_bts *bts = vty->index; + + if (bts->gprs.mode != BTS_GPRS_EGPRS) { + vty_out(vty, "%% EGPRS Packet Channel Request support requires " + "EGPRS mode to be enabled (see 'gprs mode')%s", VTY_NEWLINE); + return CMD_WARNING; + } + + bts->gprs.egprs_pkt_chan_request = false; return CMD_SUCCESS; } @@ -5406,6 +5452,8 @@ install_element(BTS_NODE, &cfg_bts_radio_link_timeout_inf_cmd); install_element(BTS_NODE, &cfg_bts_gprs_mode_cmd); install_element(BTS_NODE, &cfg_bts_gprs_11bit_rach_support_for_egprs_cmd); + install_element(BTS_NODE, &cfg_bts_no_gprs_egprs_pkt_chan_req_cmd); + install_element(BTS_NODE, &cfg_bts_gprs_egprs_pkt_chan_req_cmd); install_element(BTS_NODE, &cfg_bts_gprs_ns_timer_cmd); install_element(BTS_NODE, &cfg_bts_gprs_rac_cmd); install_element(BTS_NODE, &cfg_bts_gprs_net_ctrl_ord_cmd); diff --git a/src/osmo-bsc/rest_octets.c b/src/osmo-bsc/rest_octets.c index 1d2279b..2238b08 100644 --- a/src/osmo-bsc/rest_octets.c +++ b/src/osmo-bsc/rest_octets.c @@ -822,13 +822,8 @@ /* EGPRS supported in the cell */ bitvec_set_bit(bv, 1); - /* 1bit EGPRS PACKET CHANNEL REQUEST */ - if (gco->supports_egprs_11bit_rach == 0) { - bitvec_set_bit(bv, - gco->ext_info.use_egprs_p_ch_req); - } else { - bitvec_set_bit(bv, 0); - } + /* 1bit EGPRS PACKET CHANNEL REQUEST (inverted logic) */ + bitvec_set_bit(bv, !gco->ext_info.use_egprs_p_ch_req); /* 4bit BEP PERIOD */ bitvec_set_uint(bv, gco->ext_info.bep_period, 4); diff --git a/src/osmo-bsc/system_information.c b/src/osmo-bsc/system_information.c index 6e58419..d5be3f2 100644 --- a/src/osmo-bsc/system_information.c +++ b/src/osmo-bsc/system_information.c @@ -1151,11 +1151,10 @@ .bs_cv_max = 15, .ctrl_ack_type_use_block = true, .ext_info_present = 0, - .supports_egprs_11bit_rach = 0, .ext_info = { /* The values below are just guesses ! */ .egprs_supported = 0, - .use_egprs_p_ch_req = 1, + .use_egprs_p_ch_req = 0, .bep_period = 5, .pfc_supported = 0, .dtm_supported = 0, @@ -1197,8 +1196,12 @@ /* Information about the other SIs */ si13_default.bcch_change_mark = bts->bcch_change_mark; - si13_default.cell_opts.supports_egprs_11bit_rach = - bts->gprs.supports_egprs_11bit_rach; + + /* Whether EGPRS capable MSs shall use EGPRS PACKET CHANNEL REQUEST */ + if (bts->gprs.egprs_pkt_chan_request) + si13_default.cell_opts.ext_info.use_egprs_p_ch_req = 1; + else + si13_default.cell_opts.ext_info.use_egprs_p_ch_req = 0; ret = rest_octets_si13(si13->rest_octets, &si13_default); if (ret < 0) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ied5bd10a806aeeac65ef32339d4ab0e3700e5da9 Gerrit-Change-Number: 17730 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 Apr 14 15:53:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 14 Apr 2020 15:53:17 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17808 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/17808/2/src/osmo-bts-litecell15/l1_if.c File src/osmo-bts-litecell15/l1_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/17808/2/src/osmo-bts-litecell15/l1_if.c at 1268 PS2, Line 1268: if( coding style: missing space https://gerrit.osmocom.org/c/osmo-bts/+/17808/2/src/osmo-bts-litecell15/l1_if.c at 1281 PS2, Line 1281: if( coding style: missing space -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17808 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id41bba798440b00a3b11441b64b2e8094a946bf2 Gerrit-Change-Number: 17808 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: keith Gerrit-Comment-Date: Tue, 14 Apr 2020 15:53: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 Tue Apr 14 16:16:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 14 Apr 2020 16:16:35 +0000 Subject: Change in osmo-iuh[master]: tests/hnb-test-rua: fix implicit declaration of function 'ranap_cn_rx... In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17748 ) Change subject: tests/hnb-test-rua: fix implicit declaration of function 'ranap_cn_rx_co' ...................................................................... Abandoned No idea how to fix this. -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17748 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I7c4be5309e64ef3ed82a66ccdb07de6a9e286490 Gerrit-Change-Number: 17748 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Apr 14 16:40:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 14 Apr 2020 16:40:27 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Avoid adding extra autogenerated local link ipv6 addr to tun... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17812 ) Change subject: sgsnemu: Avoid adding extra autogenerated local link ipv6 addr to tun iface ...................................................................... sgsnemu: Avoid adding extra autogenerated local link ipv6 addr to tun iface It's not needed because a link-local address will be added as a result of Create Pdp Context Response. Morevoer, it fools sgsnemu ip addr verifications since it gets used on some scenarios by applications. Change-Id: I1d51f3ca91edbb3b788939982ab63264182ec2ce --- M sgsnemu/sgsnemu.c 1 file changed, 47 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/12/17812/1 diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 22be2fe..f00275e 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -46,6 +46,10 @@ #include #include +#if defined(__linux__) +#include +#endif + #include "config.h" #include "../lib/tun.h" #include "../lib/ippool.h" @@ -999,6 +1003,37 @@ return proc_read(path); } +/* write a single value to a /proc file */ +static int proc_write(const char *path, const char *value) +{ + int ret; + FILE *f; + + f = fopen(path, "w"); + if (!f) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "fopen(%s) failed!\n", path); + return -1; + } + + if ((ret = fputs(value, f)) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "proc_write(%s, %s) failed!\n", path, value); + } else { + ret = 0; + } + fclose(f); + return ret; +} + +/* Write value of to /proc/sys/net/ipv6/conf file for given device. + * Memory is dynamically allocated, caller must free it later. */ +static int proc_ipv6_conf_write(const char *dev, const char *file, const char *value) +{ + const char *fmt = "/proc/sys/net/ipv6/conf/%s/%s"; + char path[strlen(fmt) + strlen(dev) + strlen(file)+1]; + snprintf(path, sizeof(path), fmt, dev, file); + return proc_write(path, value); +} + static char *print_ipprot(int t) { struct protoent *pe = getprotobynumber(t); @@ -1604,6 +1639,7 @@ struct timeval tv; int diff; #if defined(__linux__) + char buf[10]; sigset_t oldmask; #endif @@ -1668,6 +1704,17 @@ "Failed to create tun"); exit(1); } + +#if defined(__linux__) + /* Avoid tunnel setting its own link-local addr automatically, we don't need it. */ + snprintf(buf, sizeof(buf), "%u", IN6_ADDR_GEN_MODE_NONE); + if (proc_ipv6_conf_write(options.tun_dev_name, "addr_gen_mode", buf) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, errno, + "Failed to disable addr_gen_mode on %s\n", options.tun_dev_name); + exit(1); + } +#endif + tun_set_cb_ind(tun, cb_tun_ind); if (tun->fd > maxfd) maxfd = tun->fd; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I1d51f3ca91edbb3b788939982ab63264182ec2ce Gerrit-Change-Number: 17812 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 Apr 14 17:13:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 17:13:58 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Avoid adding extra autogenerated local link ipv6 addr to tun... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17812 ) Change subject: sgsnemu: Avoid adding extra autogenerated local link ipv6 addr to tun iface ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I1d51f3ca91edbb3b788939982ab63264182ec2ce Gerrit-Change-Number: 17812 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 17:13: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 Apr 14 17:14:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 17:14:12 +0000 Subject: Change in osmo-ggsn[master]: lib/netns: OSMO_ASSERT() if user doesn't call init_netns() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17803 ) Change subject: lib/netns: OSMO_ASSERT() if user doesn't call init_netns() ...................................................................... lib/netns: OSMO_ASSERT() if user doesn't call init_netns() It is vital that init_netns() is called first in order to initialize default_nsfd. Change-Id: Ic16646fa7d60c578056b17351c5fe2090a81dff0 --- M lib/netns.c 1 file changed, 13 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/lib/netns.c b/lib/netns.c index 1e77a04..6e0e179 100644 --- a/lib/netns.c +++ b/lib/netns.c @@ -40,12 +40,14 @@ #include #include +#include + #include "netns.h" #define NETNS_PATH "/var/run/netns" /*! default namespace of the GGSN process */ -static int default_nsfd; +static int default_nsfd = -1; /*! switch to a (non-default) namespace, store existing signal mask in oldmask. * \param[in] nsfd file descriptor representing the namespace to whch we shall switch @@ -56,6 +58,8 @@ sigset_t intmask; int rc; + OSMO_ASSERT(default_nsfd >= 0); + if (sigfillset(&intmask) < 0) return -errno; if ((rc = sigprocmask(SIG_BLOCK, &intmask, oldmask)) != 0) @@ -71,6 +75,8 @@ * \returns 0 on successs; negative errno value in case of error */ int restore_ns(sigset_t *oldmask) { + OSMO_ASSERT(default_nsfd >= 0); + int rc; if (setns(default_nsfd, CLONE_NEWNET) < 0) return -errno; @@ -87,6 +93,8 @@ int fd; int rc; + OSMO_ASSERT(default_nsfd >= 0); + /* mask off all signals, store old signal mask */ if (sigfillset(&intmask) < 0) return -errno; @@ -127,6 +135,8 @@ int sk; int rc; + OSMO_ASSERT(default_nsfd >= 0); + /* mask off all signals, store old signal mask */ if (sigfillset(&intmask) < 0) return -errno; @@ -177,6 +187,8 @@ sigset_t intmask, oldmask; char path[MAXPATHLEN] = NETNS_PATH; + OSMO_ASSERT(default_nsfd >= 0); + /* create /var/run/netns, if it doesn't exist already */ rc = mkdir(path, S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); if (rc < 0 && errno != EEXIST) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17803 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ic16646fa7d60c578056b17351c5fe2090a81dff0 Gerrit-Change-Number: 17803 Gerrit-PatchSet: 3 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 Tue Apr 14 17:14:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 17:14:36 +0000 Subject: Change in osmo-ci[master]: ansible: The network:osmocom:nightly key has changed *again* :( In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17777 ) Change subject: ansible: The network:osmocom:nightly key has changed *again* :( ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1ddc792c23d7c7d6db9aea694ac615c1f5449782 Gerrit-Change-Number: 17777 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 17:14: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 Apr 14 17:14:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 17:14:38 +0000 Subject: Change in osmo-ci[master]: ansible: The network:osmocom:nightly key has changed *again* :( In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17777 ) Change subject: ansible: The network:osmocom:nightly key has changed *again* :( ...................................................................... ansible: The network:osmocom:nightly key has changed *again* :( Change-Id: I1ddc792c23d7c7d6db9aea694ac615c1f5449782 --- M ansible/roles/gsm-tester-bts/files/Release.key 1 file changed, 9 insertions(+), 9 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ansible/roles/gsm-tester-bts/files/Release.key b/ansible/roles/gsm-tester-bts/files/Release.key index a737316..4257562 100644 --- a/ansible/roles/gsm-tester-bts/files/Release.key +++ b/ansible/roles/gsm-tester-bts/files/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 -pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH -/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY -VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi -K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa -X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW -XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig -7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXoL5 +awIbAwUJEF/xbwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fBFkH +/Ry9IT3WkpyrKLi6wlTKBZTDGz58xDEd6i4fKr1sepgfexzmu/t1125A4Jyuy5Qp +wolWdVIxmo8Mo9/u16ssGV/Iiy4y+3v+yfOExUeaM5XS4eW5cWcySBi+y3PGL17o +Qf/iZDnzJtx16kMgD+lybTFSRDhRg4BV1egMMtOV/XIhC7mp0Gt6oOU72fGuWFKs +3prY+XmL20x8+FfI35sXRAQu2L7OBDnUJoHHuHIT1s5no5JSYubctY/KNT/9YGme +DSspyOxXJTo6YgOJStyMQZ3DaE4XxSnGpzPV27OnfMWjRf+KLvgFjx9n/zPIzBTh +Q9gL7GfQUOkJ5L0GrOvVxBiIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=/Tek +=zwAO -----END PGP PUBLIC KEY BLOCK----- -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1ddc792c23d7c7d6db9aea694ac615c1f5449782 Gerrit-Change-Number: 17777 Gerrit-PatchSet: 2 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 Tue Apr 14 17:15:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 17:15:12 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: enable time / date logging for fake_trx.py In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17761 ) Change subject: ttcn3-bts-test: enable time / date logging for fake_trx.py ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7f82e4f573db8f72256718c04bb1ace23788ba38 Gerrit-Change-Number: 17761 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 17:15: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 Apr 14 17:15:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 17:15:32 +0000 Subject: Change in osmo-ggsn[master]: netdev_addaddr6: Use prefixlen arg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17811 ) Change subject: netdev_addaddr6: Use prefixlen arg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17811 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I4b1512d5a4d7bbc2516221ea6808565eac0eb18f Gerrit-Change-Number: 17811 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 14 Apr 2020 17: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 Tue Apr 14 17:15:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 17:15:35 +0000 Subject: Change in osmo-ggsn[master]: netdev_addaddr6: Use prefixlen arg In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17811 ) Change subject: netdev_addaddr6: Use prefixlen arg ...................................................................... netdev_addaddr6: Use prefixlen arg The parameter was simply unused until this change was made. An Ipv6 can have a prefix length between 48 and 64 bits. Change-Id: I4b1512d5a4d7bbc2516221ea6808565eac0eb18f --- M lib/netdev.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/lib/netdev.c b/lib/netdev.c index 0011588..19c5c62 100644 --- a/lib/netdev.c +++ b/lib/netdev.c @@ -433,7 +433,7 @@ req.n.nlmsg_flags = NLM_F_REQUEST | NLM_F_CREATE; req.n.nlmsg_type = RTM_NEWADDR; req.i.ifa_family = AF_INET6; - req.i.ifa_prefixlen = 64; /* 64 FOR IPv6 */ + req.i.ifa_prefixlen = prefixlen; /* 64 FOR IPv6 */ req.i.ifa_flags = 0; req.i.ifa_scope = RT_SCOPE_HOST; /* TODO or 0 */ req.i.ifa_index = if_nametoindex(devname); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17811 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I4b1512d5a4d7bbc2516221ea6808565eac0eb18f Gerrit-Change-Number: 17811 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 Tue Apr 14 17:15:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 17:15:52 +0000 Subject: Change in osmo-ggsn[master]: lib/netns: Fix up error paths In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17802 ) Change subject: lib/netns: Fix up error paths ...................................................................... lib/netns: Fix up error paths The error handling in the code was doing exactly what one would not expect. If we switch to a netns and then encounter an error, we obviously have to switch back to the original netns before returning. Likewise, if we temporarily change the signal mask, we need to switch back to the original one before returning. Change-Id: I9ff5ae7bffc5bd7629dae0af1b72cfea548f9039 --- M lib/netns.c 1 file changed, 54 insertions(+), 20 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/lib/netns.c b/lib/netns.c index 6e0e179..b16a42b 100644 --- a/lib/netns.c +++ b/lib/netns.c @@ -1,5 +1,6 @@ /* * Copyright (C) 2014-2017, Travelping GmbH + * Copyright (C) 2020, Harald Welte * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as @@ -65,8 +66,11 @@ if ((rc = sigprocmask(SIG_BLOCK, &intmask, oldmask)) != 0) return -rc; - if (setns(nsfd, CLONE_NEWNET) < 0) + if (setns(nsfd, CLONE_NEWNET) < 0) { + /* restore old mask if we couldn't switch the netns */ + sigprocmask(SIG_SETMASK, oldmask, NULL); return -errno; + } return 0; } @@ -90,7 +94,8 @@ int open_ns(int nsfd, const char *pathname, int flags) { sigset_t intmask, oldmask; - int fd; + int ret; + int fd = -1; int rc; OSMO_ASSERT(default_nsfd >= 0); @@ -102,23 +107,34 @@ return -rc; /* associate the calling thread with namespace file descriptor */ - if (setns(nsfd, CLONE_NEWNET) < 0) - return -errno; + if (setns(nsfd, CLONE_NEWNET) < 0) { + ret = -errno; + goto restore_sigmask; + } /* open the requested file/path */ - if ((fd = open(pathname, flags)) < 0) - return -errno; + if ((fd = open(pathname, flags)) < 0) { + ret = -errno; + goto restore_defaultns; + } + ret = fd; + +restore_defaultns: /* return back to default namespace */ if (setns(default_nsfd, CLONE_NEWNET) < 0) { - close(fd); + if (fd >= 0) + close(fd); return -errno; } + +restore_sigmask: /* restore process mask */ if ((rc = sigprocmask(SIG_SETMASK, &oldmask, NULL)) != 0) { - close(fd); + if (fd >= 0) + close(fd); return -rc; } - return fd; + return ret; } /*! create a socket in another namespace. @@ -132,7 +148,8 @@ int socket_ns(int nsfd, int domain, int type, int protocol) { sigset_t intmask, oldmask; - int sk; + int ret; + int sk = -1; int rc; OSMO_ASSERT(default_nsfd >= 0); @@ -144,25 +161,34 @@ return -rc; /* associate the calling thread with namespace file descriptor */ - if (setns(nsfd, CLONE_NEWNET) < 0) - return -errno; + if (setns(nsfd, CLONE_NEWNET) < 0) { + ret = -errno; + goto restore_sigmask; + } /* create socket of requested domain/type/proto */ - if ((sk = socket(domain, type, protocol)) < 0) - return -errno; + if ((sk = socket(domain, type, protocol)) < 0) { + ret = -errno; + goto restore_defaultns; + } + ret = sk; +restore_defaultns: /* return back to default namespace */ if (setns(default_nsfd, CLONE_NEWNET) < 0) { - close(sk); + if (sk >= 0) + close(sk); return -errno; } +restore_sigmask: /* restore process mask */ if ((rc = sigprocmask(SIG_SETMASK, &oldmask, NULL)) != 0) { - close(sk); + if (sk >= 0) + close(sk); return -rc; } - return sk; + return ret; } /*! initialize this network namespace helper module. @@ -182,6 +208,7 @@ * \returns File descriptor of network namespace; negative errno in case of error */ int get_nsfd(const char *name) { + int ret = 0; int rc; int fd; sigset_t intmask, oldmask; @@ -215,19 +242,26 @@ return -rc; /* create a new network namespace */ - if (unshare(CLONE_NEWNET) < 0) - return -errno; + if (unshare(CLONE_NEWNET) < 0) { + ret = -errno; + goto restore_sigmask; + } if (mount("/proc/self/ns/net", path, "none", MS_BIND, NULL) < 0) - return -errno; + ret = -errno; /* switch back to default namespace */ if (setns(default_nsfd, CLONE_NEWNET) < 0) return -errno; +restore_sigmask: /* restore process mask */ if ((rc = sigprocmask(SIG_SETMASK, &oldmask, NULL)) != 0) return -rc; + /* might have been set above in case mount fails */ + if (ret < 0) + return ret; + /* finally, open the created namespace file descriptor from default ns */ if ((fd = open(path, O_RDONLY)) < 0) return -errno; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I9ff5ae7bffc5bd7629dae0af1b72cfea548f9039 Gerrit-Change-Number: 17802 Gerrit-PatchSet: 3 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 Tue Apr 14 17:16:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 17:16:23 +0000 Subject: Change in osmo-trx[master]: doc: apply an rssi-offset of 28 by default. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17596 ) Change subject: doc: apply an rssi-offset of 28 by default. ...................................................................... doc: apply an rssi-offset of 28 by default. Set an rssi offset of 28 in the example configs to make sure that the power control loop gets RSSI values that match at least half way the reality when the 1800 Mhz band is used. For other bands the value will be different (See also related osmocom ticket) Change-Id: I62725fe454f54e2c7cb7550dadb1e6fc94337d78 Related: OS#4468 --- M doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg 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/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg b/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg index b851211..2905ed7 100644 --- a/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg +++ b/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg @@ -13,6 +13,9 @@ bind-ip 127.0.0.1 remote-ip 127.0.0.1 egprs disable + ! 28 dB offset below is valid only for the B2xx in 1800 MHz band, see + ! https://osmocom.org/issues/4468 for more details + rssi-offset 28.000000 tx-sps 4 rx-sps 4 clock-ref external -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I62725fe454f54e2c7cb7550dadb1e6fc94337d78 Gerrit-Change-Number: 17596 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: 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 Apr 14 17:16:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 17:16:35 +0000 Subject: Change in osmo-ggsn[master]: doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17601 ) Change subject: doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip. ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I513ab64896dee47fd92dbc5ef495fe1c6e734ec3 Gerrit-Change-Number: 17601 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 17:16: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 Apr 14 17:16:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 14 Apr 2020 17:16:58 +0000 Subject: Change in osmo-ggsn[master]: doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17601 ) Change subject: doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip. ...................................................................... doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip. The example config for osmo-sgsn suggests to use 127.0.0.6 as bind ip. (the ip-address where the SGSN tries to connect) Lets use 127.0.0.2 instead to match the default config of osmo-sgsn. Change-Id: I513ab64896dee47fd92dbc5ef495fe1c6e734ec3 --- M doc/examples/osmo-ggsn.cfg 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/doc/examples/osmo-ggsn.cfg b/doc/examples/osmo-ggsn.cfg index 2bc7668..e79fdfa 100644 --- a/doc/examples/osmo-ggsn.cfg +++ b/doc/examples/osmo-ggsn.cfg @@ -37,7 +37,7 @@ ! ggsn ggsn0 gtp state-dir /tmp - gtp bind-ip 127.0.0.6 + gtp bind-ip 127.0.0.2 apn internet gtpu-mode tun tun-device tun4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I513ab64896dee47fd92dbc5ef495fe1c6e734ec3 Gerrit-Change-Number: 17601 Gerrit-PatchSet: 4 Gerrit-Owner: dexter 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 Apr 14 18:00:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 14 Apr 2020 18:00:10 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: enable time / date logging for fake_trx.py In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17761 ) Change subject: ttcn3-bts-test: enable time / date logging for fake_trx.py ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7f82e4f573db8f72256718c04bb1ace23788ba38 Gerrit-Change-Number: 17761 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 18:00: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 Tue Apr 14 18:00:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 14 Apr 2020 18:00:16 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: enable time / date logging for fake_trx.py In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17761 ) Change subject: ttcn3-bts-test: enable time / date logging for fake_trx.py ...................................................................... ttcn3-bts-test: enable time / date logging for fake_trx.py Depends: Ie5d14a261e17af554f7132b03d58549a4831dcdb Change-Id: I7f82e4f573db8f72256718c04bb1ace23788ba38 --- M ttcn3-bts-test/jenkins.sh 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Verified diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 325e564..cc401e7 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -48,6 +48,7 @@ /tmp/osmocom-bb/src/target/trx_toolkit/fake_trx.py \ --log-file-name /data/fake_trx.log \ --log-file-level DEBUG \ + --log-file-time \ --log-level INFO \ -R 172.18.9.20 -r 172.18.9.22 } -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7f82e4f573db8f72256718c04bb1ace23788ba38 Gerrit-Change-Number: 17761 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria 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 Apr 14 18:46:26 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 14 Apr 2020 18:46:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: derive f_pcuif_rx_imm_ass() from f_establish_tbf() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17705 ) Change subject: PCU: derive f_pcuif_rx_imm_ass() from f_establish_tbf() ...................................................................... PCU: derive f_pcuif_rx_imm_ass() from f_establish_tbf() Change-Id: I3b49927d0db49555e0bf2bb453449f614c7b9323 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 27 insertions(+), 22 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 3f18400..8e1d349 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -236,29 +236,13 @@ desc.final_ack := final_ack; } -/* FIXME: properly encode RA (see TS 24.060, table 11.2.5.2) */ -private function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, - uint16_t ra := oct2int('3A'O), uint8_t is_11bit := 0, - PCUIF_BurstType burst_type := BURST_TYPE_0, - TimingAdvance ta := 0) +private function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, + template GsmRrMessage t_imm_ass := ?, + uint8_t bts_nr := 0) runs on RAW_PCU_Test_CT return boolean { var PCUIF_Message pcu_msg; - var GsmRrMessage rr_msg; - var uint32_t fn; timer T; - /* FIXME: ask the BTS component to give us the current TDMA fn */ - fn := 1337 + ta; - - /* Send RACH.ind */ - log("Sending RACH.ind on fn=", fn, " with RA=", ra, ", TA=", ta); - BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, - ra := ra, is_11bit := is_11bit, - burst_type := burst_type, - fn := fn, arfcn := 871, - qta := ta * 4)); - - /* Expect Immediate (TBF) Assignment on TS0/AGCH */ T.start(2.0); alt { [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, @@ -267,9 +251,7 @@ rr_imm_ass := dec_GsmRrMessage(pcu_msg.u.data_req.data); log("Rx Immediate Assignment: ", rr_imm_ass); - /* Make sure this assignment is for us - * TODO: Uplink or Downlink TBF? */ - if (match(rr_imm_ass, tr_IMM_TBF_ASS(?, ra, fn))) { + if (match(rr_imm_ass, t_imm_ass)) { setverdict(pass); return true; } @@ -286,6 +268,29 @@ return false; } +/* FIXME: properly encode RA (see TS 24.060, table 11.2.5.2) */ +private function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, + uint16_t ra := oct2int('3A'O), uint8_t is_11bit := 0, + PCUIF_BurstType burst_type := BURST_TYPE_0, + TimingAdvance ta := 0) +runs on RAW_PCU_Test_CT return boolean { + var uint32_t fn; + + /* FIXME: ask the BTS component to give us the current TDMA fn */ + fn := 1337 + ta; + + /* Send RACH.ind */ + log("Sending RACH.ind on fn=", fn, " with RA=", ra, ", TA=", ta); + BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, + ra := ra, is_11bit := is_11bit, + burst_type := burst_type, + fn := fn, arfcn := 871, + qta := ta * 4)); + + /* Expect Immediate (TBF) Assignment on TS0/AGCH */ + return f_pcuif_rx_imm_ass(rr_imm_ass, tr_IMM_TBF_ASS(?, ra, fn), bts_nr); +} + private function f_imm_ass_verify_ul_tbf_ass(GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) runs on RAW_PCU_Test_CT return boolean { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17705 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: I3b49927d0db49555e0bf2bb453449f614c7b9323 Gerrit-Change-Number: 17705 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 Apr 14 18:46:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 14 Apr 2020 18:46:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704 ) Change subject: library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704 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: I762b932ed67d9e67a5e13290209cc9017dd650a7 Gerrit-Change-Number: 17704 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 18:46: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 Tue Apr 14 18:58:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 14 Apr 2020 18:58:00 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl threads In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17805 ) Change subject: transceiver: get rid of the ctrl threads ...................................................................... Patch Set 5: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-trx/+/17805/5/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/17805/5/Transceiver52M/Transceiver.cpp at 812 PS5, Line 812: sizeof(cmd_received.data) It should be sizeof(x) - 1, because we need to fit '\0' (see line #821). https://gerrit.osmocom.org/c/osmo-trx/+/17805/5/Transceiver52M/Transceiver.cpp at 815 PS5, Line 815: return -EIO; We should return bool here! -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 18:58:00 +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 Apr 14 19:00:29 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 14 Apr 2020 19:00:29 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl threads In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17805 ) Change subject: transceiver: get rid of the ctrl threads ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/17805/5/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/17805/5/Transceiver52M/Transceiver.cpp at 817 PS5, Line 817: if (msgLen < 0 && errno == EAGAIN) On line #813 we already check if msgLen <= 0. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 19:00: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 Apr 14 19:05:02 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 14 Apr 2020 19:05:02 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl threads In-Reply-To: References: Message-ID: Hello fixeria, pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 to look at the new patch set (#6). Change subject: transceiver: get rid of the ctrl threads ...................................................................... transceiver: get rid of the ctrl threads There is no need to have n threads handle n ctrl sockets, since they all will immediately respond to commands, so handle them from the existing main osmo select loop. Care must be taken to ensure that calls from within the command handler do not block, or at least don't block too long, which currently is the case. Change-Id: I642a34451e1825eafecf71a902df916ccee7944c --- M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h M Transceiver52M/osmo-trx.cpp 3 files changed, 123 insertions(+), 75 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/05/17805/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 6 Gerrit-Owner: Hoernchen Gerrit-Reviewer: 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 Tue Apr 14 19:07:19 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 14 Apr 2020 19:07:19 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl threads In-Reply-To: References: Message-ID: Hello fixeria, pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 to look at the new patch set (#7). Change subject: transceiver: get rid of the ctrl threads ...................................................................... transceiver: get rid of the ctrl threads There is no need to have n threads handle n ctrl sockets, since they all will immediately respond to commands, so handle them from the existing main osmo select loop. Care must be taken to ensure that calls from within the command handler do not block, or at least don't block too long, which currently is the case. Change-Id: I642a34451e1825eafecf71a902df916ccee7944c --- M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h M Transceiver52M/osmo-trx.cpp 3 files changed, 124 insertions(+), 75 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/05/17805/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: 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 Tue Apr 14 19:09:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 14 Apr 2020 19:09:35 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl threads In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17805 ) Change subject: transceiver: get rid of the ctrl threads ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 19:09: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 Apr 14 20:27:33 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 14 Apr 2020 20:27:33 +0000 Subject: Change in osmo-gsm-tester[master]: enb_amarisoft: fix enb conf template name References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17813 ) Change subject: enb_amarisoft: fix enb conf template name ...................................................................... enb_amarisoft: fix enb conf template name issue has been introduced during refactor of enb class names Change-Id: Ib3ad6451c3979440be28d8811f51ce5d1c103518 --- M src/osmo_gsm_tester/obj/enb_amarisoft.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/13/17813/1 diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index 70f8d47..1772173 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -49,7 +49,7 @@ REMOTE_DIR = '/osmo-gsm-tester-amarisoftenb' BINFILE = 'lteenb' - CFGFILE = 'enb_amarisoft.cfg' + CFGFILE = 'amarisoft_enb.cfg' CFGFILE_SIB1 = 'amarisoft_sib1.asn' CFGFILE_SIB23 = 'amarisoft_sib23.asn' CFGFILE_RF = 'amarisoft_rf_driver.cfg' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17813 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: Ib3ad6451c3979440be28d8811f51ce5d1c103518 Gerrit-Change-Number: 17813 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 Apr 14 20:27:33 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 14 Apr 2020 20:27:33 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add optional bind_addr paramter to enb class References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17814 ) Change subject: enb: add optional bind_addr paramter to enb class ...................................................................... enb: add optional bind_addr paramter to enb class this allows to optionally specify a bind_addr for a enb object in the resources.conf this address is then used for binding the listening socket for gtpu/s1c which, in turn, allows to run the enb and epc on the same host. when bind_addr is not specified, addr is used by default Change-Id: I4fe38f31401428ed3e74e1d0b64960f0af122d37 --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/srsenb.conf.tmpl 4 files changed, 9 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/14/17814/1 diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index bb5053f..777d745 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -32,6 +32,9 @@ self._addr = conf.get('addr', None) if self._addr is None: raise log.Error('addr not set') + self._bind_addr = conf.get('bind_addr', None) + if self._bind_addr is None: + self._bind_addr = self._addr self.set_name('%s_%s' % (name, self._addr)) self._txmode = 0 self._num_prb = 0 @@ -52,6 +55,7 @@ config.overlay(values, dict(enb={ 'num_ports': self.num_ports() })) assert self._epc is not None config.overlay(values, dict(enb={ 'mme_addr': self._epc.addr() })) + config.overlay(values, dict(enb={ 'bind_addr': self._bind_addr })) return values def num_ports(self): diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 61f2b11..33d67d6 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -88,6 +88,7 @@ 'enb[].type': schema.STR, 'enb[].remote_user': schema.STR, 'enb[].addr': schema.IPV4, + 'enb[].bind_addr': schema.IPV4, 'enb[].num_prb': schema.UINT, 'enb[].transmission_mode': schema.LTE_TRANSMISSION_MODE, 'enb[].num_cells': schema.UINT, diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index d87e66a..8b8cb8e 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -34,7 +34,7 @@ log_filename: "${enb.log_filename}", /* Enable remote API and Web interface */ - com_addr: "${enb.addr}:9001", + com_addr: "${enb.bind_addr}:9001", /* RF driver configuration */ include "amarisoft_rf_driver.cfg", @@ -48,7 +48,7 @@ ], /* GTP bind address (=address of the ethernet interface connected to the MME). Must be modified if the MME runs on a different host. */ - gtp_addr: "${enb.addr}", + gtp_addr: "${enb.bind_addr}", /* high 20 bits of SIB1.cellIdentifier */ enb_id: 0x19B, diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index 954b63f..1380c2a 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -23,8 +23,8 @@ mcc = ${enb.mcc} mnc = ${enb.mnc} mme_addr = ${enb.mme_addr} -gtp_bind_addr = ${enb.addr} -s1c_bind_addr = ${enb.addr} +gtp_bind_addr = ${enb.bind_addr} +s1c_bind_addr = ${enb.bind_addr} n_prb = ${enb.num_prb} tm = ${enb.transmission_mode} nof_ports = ${enb.num_ports} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17814 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: I4fe38f31401428ed3e74e1d0b64960f0af122d37 Gerrit-Change-Number: 17814 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 Apr 14 21:20:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 14 Apr 2020 21:20:14 +0000 Subject: Change in osmo-gsm-tester[master]: enb_amarisoft: fix enb conf template name In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17813 ) Change subject: enb_amarisoft: fix enb conf template name ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17813 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: Ib3ad6451c3979440be28d8811f51ce5d1c103518 Gerrit-Change-Number: 17813 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 21:20: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 Apr 14 21:20:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 14 Apr 2020 21:20:54 +0000 Subject: Change in osmo-gsm-tester[master]: enb_amarisoft: fix enb conf template name In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17813 ) Change subject: enb_amarisoft: fix enb conf template name ...................................................................... enb_amarisoft: fix enb conf template name issue has been introduced during refactor of enb class names Change-Id: Ib3ad6451c3979440be28d8811f51ce5d1c103518 --- M src/osmo_gsm_tester/obj/enb_amarisoft.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/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index 70f8d47..1772173 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -49,7 +49,7 @@ REMOTE_DIR = '/osmo-gsm-tester-amarisoftenb' BINFILE = 'lteenb' - CFGFILE = 'enb_amarisoft.cfg' + CFGFILE = 'amarisoft_enb.cfg' CFGFILE_SIB1 = 'amarisoft_sib1.asn' CFGFILE_SIB23 = 'amarisoft_sib23.asn' CFGFILE_RF = 'amarisoft_rf_driver.cfg' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17813 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: Ib3ad6451c3979440be28d8811f51ce5d1c103518 Gerrit-Change-Number: 17813 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 Apr 14 21:36:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 14 Apr 2020 21:36:04 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add optional bind_addr paramter to enb class In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17814 ) Change subject: enb: add optional bind_addr paramter to enb class ...................................................................... Patch Set 1: Code-Review-1 I don't think this is needed, I prefer keeping in general 1 IP address per object unless it's really required to have more. If you want to be able to run GTP on the same machine, the way I'd recommend is setting 2 IP addresses on the slave machine running them and then set up ENB to use addres A and the run node to run the EPC use address B. This way we keep classes and number of attributes simpler and it's simply a matter of being smart when setting the addresses in the machine and resources.conf. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17814 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: I4fe38f31401428ed3e74e1d0b64960f0af122d37 Gerrit-Change-Number: 17814 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 14 Apr 2020 21:36:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Apr 14 22:21:03 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:21:03 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e963756fa8_3fc92ad0c116460010956be@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-gsm-manuals failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals Last lines of build log: [ 88s] [396/426] installing texlive-latex-base-2020.20200329-2 [ 89s] Processing triggers for man-db (2.9.1-1) ... [ 89s] Processing triggers for tex-common (6.13) ... [ 89s] Running mktexlsr. This may take some time... done. [ 89s] Running updmap-sys. This may take some time... done. [ 89s] Running mktexlsr /var/lib/texmf ... done. [ 89s] Building format(s) --all. [ 95s] This may take some time... done. [ 95s] [397/426] installing texlive-luatex-2020.20200329-2 [ 95s] Processing triggers for tex-common (6.13) ... [ 96s] Running mktexlsr. This may take some time... done. [ 96s] Building format(s) --all. [ 101s] This may take some time... [ 101s] fmtutil failed. Output has been stored in [ 101s] /tmp/fmtutil.xs3Bdl0b [ 101s] Please include this file if you report a bug. [ 101s] dpkg: error processing package tex-common (--install): [ 101s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 101s] Processing triggers for man-db (2.9.1-1) ... [ 101s] Errors were encountered while processing: [ 101s] tex-common [ 101s] exit ... [ 101s] ### VM INTERACTION START ### [ 104s] [ 94.910981] sysrq: SysRq : Power Off [ 104s] [ 94.912298] reboot: Power down [ 104s] ### VM INTERACTION END ### [ 104s] [ 104s] build80 failed "build osmo-gsm-manuals-dev_0.3.0.dsc" at Tue Apr 14 22:20:57 UTC 2020. [ 104s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:23:55 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:23:55 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gsm-manuals in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e96380919630_3fc92ad0c116460010957d3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gsm-manuals/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-gsm-manuals failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gsm-manuals Last lines of build log: [ 208s] [396/426] installing texlive-latex-base-2020.20200329-2 [ 208s] Processing triggers for man-db (2.9.1-1) ... [ 209s] Processing triggers for tex-common (6.13) ... [ 209s] Running mktexlsr. This may take some time... done. [ 210s] Running updmap-sys. This may take some time... done. [ 210s] Running mktexlsr /var/lib/texmf ... done. [ 210s] Building format(s) --all. [ 220s] This may take some time... done. [ 220s] [397/426] installing texlive-luatex-2020.20200329-2 [ 222s] Processing triggers for tex-common (6.13) ... [ 222s] Running mktexlsr. This may take some time... done. [ 222s] Building format(s) --all. [ 232s] This may take some time... [ 232s] fmtutil failed. Output has been stored in [ 232s] /tmp/fmtutil.qunbsXSW [ 232s] Please include this file if you report a bug. [ 232s] dpkg: error processing package tex-common (--install): [ 232s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 232s] Processing triggers for man-db (2.9.1-1) ... [ 234s] Errors were encountered while processing: [ 234s] tex-common [ 234s] exit ... [ 234s] ### VM INTERACTION START ### [ 237s] [ 220.634336] sysrq: SysRq : Power Off [ 237s] [ 220.639988] reboot: Power down [ 237s] ### VM INTERACTION END ### [ 237s] [ 237s] lamb62 failed "build osmo-gsm-manuals-dev_0.3.0.7.fef7.dsc" at Tue Apr 14 22:23:50 UTC 2020. [ 237s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:27:55 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:27:55 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e9638fab20f5_3fc92ad0c116460010961ed@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-ggsn failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: [ 107s] [416/447] installing texlive-latex-base-2020.20200329-2 [ 107s] Processing triggers for man-db (2.9.1-1) ... [ 108s] Processing triggers for tex-common (6.13) ... [ 108s] Running mktexlsr. This may take some time... done. [ 108s] Running updmap-sys. This may take some time... done. [ 108s] Running mktexlsr /var/lib/texmf ... done. [ 108s] Building format(s) --all. [ 114s] This may take some time... done. [ 114s] [417/447] installing texlive-luatex-2020.20200329-2 [ 115s] Processing triggers for tex-common (6.13) ... [ 115s] Running mktexlsr. This may take some time... done. [ 115s] Building format(s) --all. [ 120s] This may take some time... [ 120s] fmtutil failed. Output has been stored in [ 120s] /tmp/fmtutil.PAgStgqW [ 120s] Please include this file if you report a bug. [ 120s] dpkg: error processing package tex-common (--install): [ 120s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 120s] Processing triggers for man-db (2.9.1-1) ... [ 121s] Errors were encountered while processing: [ 121s] tex-common [ 121s] exit ... [ 121s] ### VM INTERACTION START ### [ 124s] [ 111.368911] sysrq: SysRq : Power Off [ 124s] [ 111.370607] reboot: Power down [ 124s] ### VM INTERACTION END ### [ 124s] [ 124s] build79 failed "build osmo-ggsn_1.5.0.6.90d1.dsc" at Tue Apr 14 22:27:39 UTC 2020. [ 124s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:28:12 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:28:12 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e96391b3bf8_3fc92ad0c116460010964d0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 119s] [568/619] installing texlive-latex-base-2020.20200329-2 [ 120s] Processing triggers for man-db (2.9.1-1) ... [ 120s] Processing triggers for tex-common (6.13) ... [ 120s] Running mktexlsr. This may take some time... done. [ 120s] Running updmap-sys. This may take some time... done. [ 120s] Running mktexlsr /var/lib/texmf ... done. [ 120s] Building format(s) --all. [ 126s] This may take some time... done. [ 126s] [569/619] installing texlive-luatex-2020.20200329-2 [ 127s] Processing triggers for tex-common (6.13) ... [ 127s] Running mktexlsr. This may take some time... done. [ 127s] Building format(s) --all. [ 132s] This may take some time... [ 132s] fmtutil failed. Output has been stored in [ 132s] /tmp/fmtutil.nDTHkj2V [ 132s] Please include this file if you report a bug. [ 132s] dpkg: error processing package tex-common (--install): [ 132s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 132s] Processing triggers for man-db (2.9.1-1) ... [ 133s] Errors were encountered while processing: [ 133s] tex-common [ 133s] exit ... [ 133s] ### VM INTERACTION START ### [ 136s] [ 124.420931] sysrq: SysRq : Power Off [ 136s] [ 124.422110] reboot: Power down [ 136s] ### VM INTERACTION END ### [ 136s] [ 136s] build74 failed "build osmo-trx_1.2.0.24.cc97.dsc" at Tue Apr 14 22:27:58 UTC 2020. [ 136s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:29:03 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:29:03 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e9639376fe85_3fc92ad0c116460010970b3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-sip-connector failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 178s] [435/469] installing texlive-latex-base-2020.20200329-2 [ 178s] Processing triggers for man-db (2.9.1-1) ... [ 179s] Processing triggers for tex-common (6.13) ... [ 179s] Running mktexlsr. This may take some time... done. [ 179s] Running updmap-sys. This may take some time... done. [ 179s] Running mktexlsr /var/lib/texmf ... done. [ 180s] Building format(s) --all. [ 188s] This may take some time... done. [ 189s] [436/469] installing texlive-luatex-2020.20200329-2 [ 190s] Processing triggers for tex-common (6.13) ... [ 190s] Running mktexlsr. This may take some time... done. [ 190s] Building format(s) --all. [ 199s] This may take some time... [ 199s] fmtutil failed. Output has been stored in [ 199s] /tmp/fmtutil.dKhOYJpB [ 199s] Please include this file if you report a bug. [ 199s] dpkg: error processing package tex-common (--install): [ 199s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 199s] Processing triggers for man-db (2.9.1-1) ... [ 199s] Errors were encountered while processing: [ 199s] tex-common [ 199s] exit ... [ 199s] ### VM INTERACTION START ### [ 203s] [ 187.100335] sysrq: SysRq : Power Off [ 203s] [ 187.107138] reboot: Power down [ 203s] ### VM INTERACTION END ### [ 203s] [ 203s] lamb08 failed "build osmo-sip-connector_1.4.0.dsc" at Tue Apr 14 22:28:58 UTC 2020. [ 203s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:29:38 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:29:38 +0000 Subject: Build failure of network:osmocom:latest/osmo-ggsn in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e963971c33b5_3fc92ad0c11646001097425@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-ggsn/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-ggsn failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-ggsn Last lines of build log: [ 182s] [415/446] installing texlive-latex-base-2020.20200329-2 [ 183s] Processing triggers for man-db (2.9.1-1) ... [ 183s] Processing triggers for tex-common (6.13) ... [ 184s] Running mktexlsr. This may take some time... done. [ 184s] Running updmap-sys. This may take some time... done. [ 184s] Running mktexlsr /var/lib/texmf ... done. [ 184s] Building format(s) --all. [ 193s] This may take some time... done. [ 193s] [416/446] installing texlive-luatex-2020.20200329-2 [ 194s] Processing triggers for tex-common (6.13) ... [ 194s] Running mktexlsr. This may take some time... done. [ 194s] Building format(s) --all. [ 203s] This may take some time... [ 203s] fmtutil failed. Output has been stored in [ 203s] /tmp/fmtutil.h5N2duD1 [ 203s] Please include this file if you report a bug. [ 203s] dpkg: error processing package tex-common (--install): [ 203s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 203s] Processing triggers for man-db (2.9.1-1) ... [ 204s] Errors were encountered while processing: [ 204s] tex-common [ 204s] exit ... [ 204s] ### VM INTERACTION START ### [ 207s] [ 190.924446] sysrq: SysRq : Power Off [ 207s] [ 190.932436] reboot: Power down [ 207s] ### VM INTERACTION END ### [ 207s] [ 207s] lamb57 failed "build osmo-ggsn_1.5.0.dsc" at Tue Apr 14 22:29:34 UTC 2020. [ 207s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:29:55 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:29:55 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e963973dcb6d_3fc92ad0c1164600109784c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 210s] [568/619] installing texlive-latex-base-2020.20200329-2 [ 211s] Processing triggers for man-db (2.9.1-1) ... [ 211s] Processing triggers for tex-common (6.13) ... [ 211s] Running mktexlsr. This may take some time... done. [ 212s] Running updmap-sys. This may take some time... done. [ 212s] Running mktexlsr /var/lib/texmf ... done. [ 212s] Building format(s) --all. [ 221s] This may take some time... done. [ 221s] [569/619] installing texlive-luatex-2020.20200329-2 [ 222s] Processing triggers for tex-common (6.13) ... [ 222s] Running mktexlsr. This may take some time... done. [ 222s] Building format(s) --all. [ 231s] This may take some time... [ 231s] fmtutil failed. Output has been stored in [ 231s] /tmp/fmtutil.n27KPDDw [ 231s] Please include this file if you report a bug. [ 231s] dpkg: error processing package tex-common (--install): [ 231s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 231s] Processing triggers for man-db (2.9.1-1) ... [ 232s] Errors were encountered while processing: [ 232s] tex-common [ 232s] exit ... [ 232s] ### VM INTERACTION START ### [ 235s] [ 218.021990] sysrq: SysRq : Power Off [ 235s] [ 218.029028] reboot: Power down [ 235s] ### VM INTERACTION END ### [ 235s] [ 235s] lamb68 failed "build osmo-trx_1.2.0.dsc" at Tue Apr 14 22:29:41 UTC 2020. [ 235s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:29:55 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:29:55 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e96397475add_3fc92ad0c11646001097945@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-pcu failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 184s] [414/445] installing texlive-latex-base-2020.20200329-2 [ 185s] Processing triggers for man-db (2.9.1-1) ... [ 185s] Processing triggers for tex-common (6.13) ... [ 185s] Running mktexlsr. This may take some time... done. [ 186s] Running updmap-sys. This may take some time... done. [ 186s] Running mktexlsr /var/lib/texmf ... done. [ 186s] Building format(s) --all. [ 197s] This may take some time... done. [ 197s] [415/445] installing texlive-luatex-2020.20200329-2 [ 198s] Processing triggers for tex-common (6.13) ... [ 198s] Running mktexlsr. This may take some time... done. [ 198s] Building format(s) --all. [ 209s] This may take some time... [ 209s] fmtutil failed. Output has been stored in [ 209s] /tmp/fmtutil.dirNQaMV [ 209s] Please include this file if you report a bug. [ 209s] dpkg: error processing package tex-common (--install): [ 209s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 209s] Processing triggers for man-db (2.9.1-1) ... [ 209s] Errors were encountered while processing: [ 209s] tex-common [ 209s] exit ... [ 209s] ### VM INTERACTION START ### [ 212s] [ 183.847368] sysrq: SysRq : Power Off [ 212s] [ 183.852921] reboot: Power down [ 213s] ### VM INTERACTION END ### [ 213s] [ 213s] cloud134 failed "build osmo-pcu_0.8.0.111.b30f.dsc" at Tue Apr 14 22:29:42 UTC 2020. [ 213s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:30:29 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:30:29 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e96398f7d75_3fc92ad0c11646001098122@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-pcu failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 266s] [413/444] installing texlive-latex-base-2020.20200329-2 [ 266s] Processing triggers for man-db (2.9.1-1) ... [ 267s] Processing triggers for tex-common (6.13) ... [ 267s] Running mktexlsr. This may take some time... done. [ 268s] Running updmap-sys. This may take some time... done. [ 268s] Running mktexlsr /var/lib/texmf ... done. [ 268s] Building format(s) --all. [ 277s] This may take some time... done. [ 277s] [414/444] installing texlive-luatex-2020.20200329-2 [ 279s] Processing triggers for tex-common (6.13) ... [ 279s] Running mktexlsr. This may take some time... done. [ 279s] Building format(s) --all. [ 289s] This may take some time... [ 289s] fmtutil failed. Output has been stored in [ 289s] /tmp/fmtutil.i2JUYgQN [ 289s] Please include this file if you report a bug. [ 289s] dpkg: error processing package tex-common (--install): [ 289s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 289s] Processing triggers for man-db (2.9.1-1) ... [ 290s] Errors were encountered while processing: [ 290s] tex-common [ 290s] exit ... [ 290s] ### VM INTERACTION START ### [ 293s] [ 275.917473] sysrq: SysRq : Power Off [ 293s] [ 275.926818] reboot: Power down [ 293s] ### VM INTERACTION END ### [ 293s] [ 293s] lamb62 failed "build osmo-pcu_0.8.0.dsc" at Tue Apr 14 22:30:26 UTC 2020. [ 293s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:31:03 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:31:03 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sip-connector in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e9639ae953fd_3fc92ad0c1164600109826@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sip-connector/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-sip-connector failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sip-connector Last lines of build log: [ 286s] [436/470] installing texlive-latex-base-2020.20200329-2 [ 287s] Processing triggers for man-db (2.9.1-1) ... [ 287s] Processing triggers for tex-common (6.13) ... [ 288s] Running mktexlsr. This may take some time... done. [ 288s] Running updmap-sys. This may take some time... done. [ 288s] Running mktexlsr /var/lib/texmf ... done. [ 288s] Building format(s) --all. [ 299s] This may take some time... done. [ 299s] [437/470] installing texlive-luatex-2020.20200329-2 [ 300s] Processing triggers for tex-common (6.13) ... [ 300s] Running mktexlsr. This may take some time... done. [ 300s] Building format(s) --all. [ 310s] This may take some time... [ 310s] fmtutil failed. Output has been stored in [ 310s] /tmp/fmtutil.NGyhCZkz [ 310s] Please include this file if you report a bug. [ 310s] dpkg: error processing package tex-common (--install): [ 310s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 310s] Processing triggers for man-db (2.9.1-1) ... [ 311s] Errors were encountered while processing: [ 311s] tex-common [ 311s] exit ... [ 311s] ### VM INTERACTION START ### [ 314s] [ 296.980285] sysrq: SysRq : Power Off [ 314s] [ 296.983891] reboot: Power down [ 314s] ### VM INTERACTION END ### [ 314s] [ 314s] lamb23 failed "build osmo-sip-connector_1.4.0.dsc" at Tue Apr 14 22:31:01 UTC 2020. [ 314s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:31:20 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:31:20 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e9639cd21b5c_3fc92ad0c116460010983ce@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-bts failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 178s] [424/455] installing texlive-latex-base-2020.20200329-2 [ 179s] Processing triggers for man-db (2.9.1-1) ... [ 179s] Processing triggers for tex-common (6.13) ... [ 180s] Running mktexlsr. This may take some time... done. [ 180s] Running updmap-sys. This may take some time... done. [ 180s] Running mktexlsr /var/lib/texmf ... done. [ 180s] Building format(s) --all. [ 192s] This may take some time... done. [ 192s] [425/455] installing texlive-luatex-2020.20200329-2 [ 193s] Processing triggers for tex-common (6.13) ... [ 194s] Running mktexlsr. This may take some time... done. [ 194s] Building format(s) --all. [ 205s] This may take some time... [ 205s] fmtutil failed. Output has been stored in [ 205s] /tmp/fmtutil.hl8GwBX4 [ 205s] Please include this file if you report a bug. [ 205s] dpkg: error processing package tex-common (--install): [ 205s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 205s] Processing triggers for man-db (2.9.1-1) ... [ 206s] Errors were encountered while processing: [ 206s] tex-common [ 206s] exit ... [ 206s] ### VM INTERACTION START ### [ 209s] [ 191.591873] sysrq: SysRq : Power Off [ 209s] [ 191.606835] reboot: Power down [ 209s] ### VM INTERACTION END ### [ 209s] [ 209s] cloud132 failed "build osmo-bts_1.2.0.dsc" at Tue Apr 14 22:31:07 UTC 2020. [ 209s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:31:20 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:31:20 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e9639cd5fb86_3fc92ad0c116460010984a2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-remsim failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 174s] [458/493] installing texlive-latex-base-2020.20200329-2 [ 174s] Processing triggers for man-db (2.9.1-1) ... [ 175s] Processing triggers for tex-common (6.13) ... [ 175s] Running mktexlsr. This may take some time... done. [ 175s] Running updmap-sys. This may take some time... done. [ 175s] Running mktexlsr /var/lib/texmf ... done. [ 176s] Building format(s) --all. [ 186s] This may take some time... done. [ 186s] [459/493] installing texlive-luatex-2020.20200329-2 [ 187s] Processing triggers for tex-common (6.13) ... [ 188s] Running mktexlsr. This may take some time... done. [ 188s] Building format(s) --all. [ 199s] This may take some time... [ 199s] fmtutil failed. Output has been stored in [ 199s] /tmp/fmtutil.IZu0q2NS [ 199s] Please include this file if you report a bug. [ 199s] dpkg: error processing package tex-common (--install): [ 199s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 199s] Processing triggers for man-db (2.9.1-1) ... [ 199s] Errors were encountered while processing: [ 199s] tex-common [ 199s] exit ... [ 199s] ### VM INTERACTION START ### [ 202s] [ 181.449351] sysrq: SysRq : Power Off [ 202s] [ 181.452464] reboot: Power down [ 202s] ### VM INTERACTION END ### [ 202s] [ 202s] cloud127 failed "build osmo-remsim_0.2.3.dsc" at Tue Apr 14 22:31:07 UTC 2020. [ 202s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:31:38 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:31:38 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e9639cedd029_3fc92ad0c116460010987a4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-bts failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 90s] [425/456] installing texlive-latex-base-2020.20200329-2 [ 90s] Processing triggers for man-db (2.9.1-1) ... [ 90s] Processing triggers for tex-common (6.13) ... [ 90s] Running mktexlsr. This may take some time... done. [ 90s] Running updmap-sys. This may take some time... done. [ 90s] Running mktexlsr /var/lib/texmf ... done. [ 91s] Building format(s) --all. [ 96s] This may take some time... done. [ 96s] [426/456] installing texlive-luatex-2020.20200329-2 [ 97s] Processing triggers for tex-common (6.13) ... [ 97s] Running mktexlsr. This may take some time... done. [ 97s] Building format(s) --all. [ 102s] This may take some time... [ 102s] fmtutil failed. Output has been stored in [ 102s] /tmp/fmtutil.IIobUr2e [ 102s] Please include this file if you report a bug. [ 102s] dpkg: error processing package tex-common (--install): [ 102s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 102s] Processing triggers for man-db (2.9.1-1) ... [ 102s] Errors were encountered while processing: [ 102s] tex-common [ 102s] exit ... [ 102s] ### VM INTERACTION START ### [ 105s] [ 95.478650] sysrq: SysRq : Power Off [ 105s] [ 95.480767] reboot: Power down [ 105s] ### VM INTERACTION END ### [ 105s] [ 105s] build70 failed "build osmo-bts_1.2.0.34.7f18.dsc" at Tue Apr 14 22:31:25 UTC 2020. [ 105s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:32:29 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:32:29 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e963a0799e96_3fc92ad0c11646001098881@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-hlr failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 90s] [425/456] installing texlive-latex-base-2020.20200329-2 [ 90s] Processing triggers for man-db (2.9.1-1) ... [ 90s] Processing triggers for tex-common (6.13) ... [ 90s] Running mktexlsr. This may take some time... done. [ 91s] Running updmap-sys. This may take some time... done. [ 91s] Running mktexlsr /var/lib/texmf ... done. [ 91s] Building format(s) --all. [ 96s] This may take some time... done. [ 96s] [426/456] installing texlive-luatex-2020.20200329-2 [ 97s] Processing triggers for tex-common (6.13) ... [ 97s] Running mktexlsr. This may take some time... done. [ 97s] Building format(s) --all. [ 102s] This may take some time... [ 102s] fmtutil failed. Output has been stored in [ 102s] /tmp/fmtutil.jHeAtPkd [ 102s] Please include this file if you report a bug. [ 102s] dpkg: error processing package tex-common (--install): [ 102s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 102s] Processing triggers for man-db (2.9.1-1) ... [ 103s] Errors were encountered while processing: [ 103s] tex-common [ 103s] exit ... [ 103s] ### VM INTERACTION START ### [ 106s] [ 95.839945] sysrq: SysRq : Power Off [ 106s] [ 95.841265] reboot: Power down [ 106s] ### VM INTERACTION END ### [ 106s] [ 106s] build73 failed "build osmo-hlr_1.2.0.dsc" at Tue Apr 14 22:32:16 UTC 2020. [ 106s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:34:12 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:34:12 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e963a8265ab_3fc92ad0c116460010993bf@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 179s] [460/495] installing texlive-latex-base-2020.20200329-2 [ 180s] Processing triggers for man-db (2.9.1-1) ... [ 180s] Processing triggers for tex-common (6.13) ... [ 181s] Running mktexlsr. This may take some time... done. [ 181s] Running updmap-sys. This may take some time... done. [ 181s] Running mktexlsr /var/lib/texmf ... done. [ 181s] Building format(s) --all. [ 191s] This may take some time... done. [ 191s] [461/495] installing texlive-luatex-2020.20200329-2 [ 192s] Processing triggers for tex-common (6.13) ... [ 192s] Running mktexlsr. This may take some time... done. [ 192s] Building format(s) --all. [ 201s] This may take some time... [ 201s] fmtutil failed. Output has been stored in [ 201s] /tmp/fmtutil.dAN4uzhg [ 201s] Please include this file if you report a bug. [ 201s] dpkg: error processing package tex-common (--install): [ 201s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 201s] Processing triggers for man-db (2.9.1-1) ... [ 202s] Errors were encountered while processing: [ 202s] tex-common [ 202s] exit ... [ 202s] ### VM INTERACTION START ### [ 205s] [ 189.311896] sysrq: SysRq : Power Off [ 205s] [ 189.317980] reboot: Power down [ 205s] ### VM INTERACTION END ### [ 205s] [ 205s] lamb16 failed "build osmo-remsim_0.2.2.85.a3ab.dsc" at Tue Apr 14 22:34:02 UTC 2020. [ 205s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:34:29 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:34:29 +0000 Subject: Build failure of network:osmocom:latest/libosmo-sccp in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e963a82a624f_3fc92ad0c11646001099447@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmo-sccp/Debian_Unstable/x86_64 Package network:osmocom:latest/libosmo-sccp failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest libosmo-sccp Last lines of build log: [ 192s] [424/455] installing texlive-latex-base-2020.20200329-2 [ 192s] Processing triggers for man-db (2.9.1-1) ... [ 193s] Processing triggers for tex-common (6.13) ... [ 193s] Running mktexlsr. This may take some time... done. [ 194s] Running updmap-sys. This may take some time... done. [ 194s] Running mktexlsr /var/lib/texmf ... done. [ 194s] Building format(s) --all. [ 203s] This may take some time... done. [ 203s] [425/455] installing texlive-luatex-2020.20200329-2 [ 204s] Processing triggers for tex-common (6.13) ... [ 204s] Running mktexlsr. This may take some time... done. [ 204s] Building format(s) --all. [ 214s] This may take some time... [ 214s] fmtutil failed. Output has been stored in [ 214s] /tmp/fmtutil.JmihR5bM [ 214s] Please include this file if you report a bug. [ 214s] dpkg: error processing package tex-common (--install): [ 214s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 214s] Processing triggers for man-db (2.9.1-1) ... [ 215s] Errors were encountered while processing: [ 215s] tex-common [ 215s] exit ... [ 215s] ### VM INTERACTION START ### [ 218s] [ 203.066976] sysrq: SysRq : Power Off [ 218s] [ 203.071755] reboot: Power down [ 218s] ### VM INTERACTION END ### [ 218s] [ 218s] lamb22 failed "build libosmo-sccp_1.2.0.dsc" at Tue Apr 14 22:34:12 UTC 2020. [ 218s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:34:29 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:34:29 +0000 Subject: Build failure of network:osmocom:latest/osmo-mgw in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e963a8340636_3fc92ad0c11646001099599@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-mgw/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-mgw failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-mgw Last lines of build log: [ 170s] [414/445] installing texlive-latex-base-2020.20200329-2 [ 170s] Processing triggers for man-db (2.9.1-1) ... [ 171s] Processing triggers for tex-common (6.13) ... [ 171s] Running mktexlsr. This may take some time... done. [ 172s] Running updmap-sys. This may take some time... done. [ 172s] Running mktexlsr /var/lib/texmf ... done. [ 172s] Building format(s) --all. [ 182s] This may take some time... done. [ 182s] [415/445] installing texlive-luatex-2020.20200329-2 [ 183s] Processing triggers for tex-common (6.13) ... [ 183s] Running mktexlsr. This may take some time... done. [ 183s] Building format(s) --all. [ 193s] This may take some time... [ 193s] fmtutil failed. Output has been stored in [ 193s] /tmp/fmtutil.AHclk5TJ [ 193s] Please include this file if you report a bug. [ 193s] dpkg: error processing package tex-common (--install): [ 193s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 193s] Processing triggers for man-db (2.9.1-1) ... [ 193s] Errors were encountered while processing: [ 193s] tex-common [ 193s] exit ... [ 193s] ### VM INTERACTION START ### [ 196s] [ 182.022180] sysrq: SysRq : Power Off [ 196s] [ 182.028724] reboot: Power down [ 196s] ### VM INTERACTION END ### [ 196s] [ 196s] lamb61 failed "build osmo-mgw_1.7.0.dsc" at Tue Apr 14 22:34:20 UTC 2020. [ 196s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:35:03 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:35:03 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e963a9e536bd_3fc92ad0c11646001099641@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/Debian_Unstable/x86_64 Package network:osmocom:nightly/libosmo-sccp failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 111s] [425/456] installing texlive-latex-base-2020.20200329-2 [ 111s] Processing triggers for man-db (2.9.1-1) ... [ 111s] Processing triggers for tex-common (6.13) ... [ 111s] Running mktexlsr. This may take some time... done. [ 112s] Running updmap-sys. This may take some time... done. [ 112s] Running mktexlsr /var/lib/texmf ... done. [ 112s] Building format(s) --all. [ 117s] This may take some time... done. [ 117s] [426/456] installing texlive-luatex-2020.20200329-2 [ 118s] Processing triggers for tex-common (6.13) ... [ 118s] Running mktexlsr. This may take some time... done. [ 118s] Building format(s) --all. [ 125s] This may take some time... [ 125s] fmtutil failed. Output has been stored in [ 125s] /tmp/fmtutil.Rch5qdDZ [ 125s] Please include this file if you report a bug. [ 125s] dpkg: error processing package tex-common (--install): [ 125s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 125s] Processing triggers for man-db (2.9.1-1) ... [ 125s] Errors were encountered while processing: [ 125s] tex-common [ 125s] exit ... [ 125s] ### VM INTERACTION START ### [ 128s] [ 118.795578] sysrq: SysRq : Power Off [ 128s] [ 118.806583] reboot: Power down [ 128s] ### VM INTERACTION END ### [ 128s] [ 128s] goat13 failed "build libosmo-sccp_1.2.0.33.ed2d.dsc" at Tue Apr 14 22:34:54 UTC 2020. [ 128s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:36:46 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:36:46 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e963b176bc42_3fc92ad0c116460010998cd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-hlr failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 188s] [426/457] installing texlive-latex-base-2020.20200329-2 [ 189s] Processing triggers for man-db (2.9.1-1) ... [ 189s] Processing triggers for tex-common (6.13) ... [ 190s] Running mktexlsr. This may take some time... done. [ 190s] Running updmap-sys. This may take some time... done. [ 190s] Running mktexlsr /var/lib/texmf ... done. [ 190s] Building format(s) --all. [ 201s] This may take some time... done. [ 201s] [427/457] installing texlive-luatex-2020.20200329-2 [ 202s] Processing triggers for tex-common (6.13) ... [ 202s] Running mktexlsr. This may take some time... done. [ 202s] Building format(s) --all. [ 212s] This may take some time... [ 212s] fmtutil failed. Output has been stored in [ 212s] /tmp/fmtutil.QV9Rb8k7 [ 212s] Please include this file if you report a bug. [ 212s] dpkg: error processing package tex-common (--install): [ 212s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 212s] Processing triggers for man-db (2.9.1-1) ... [ 213s] Errors were encountered while processing: [ 213s] tex-common [ 213s] exit ... [ 213s] ### VM INTERACTION START ### [ 216s] [ 200.788240] sysrq: SysRq : Power Off [ 216s] [ 200.793178] reboot: Power down [ 216s] ### VM INTERACTION END ### [ 216s] [ 216s] lamb70 failed "build osmo-hlr_1.2.0.23.5424.dsc" at Tue Apr 14 22:36:39 UTC 2020. [ 216s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:38:12 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:38:12 +0000 Subject: Build failure of network:osmocom:latest/osmo-bsc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e963b7079d89_3fc92ad0c116460011000ec@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bsc/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-bsc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-bsc Last lines of build log: [ 173s] [429/461] installing texlive-latex-base-2020.20200329-2 [ 174s] Processing triggers for man-db (2.9.1-1) ... [ 174s] Processing triggers for tex-common (6.13) ... [ 175s] Running mktexlsr. This may take some time... done. [ 175s] Running updmap-sys. This may take some time... done. [ 175s] Running mktexlsr /var/lib/texmf ... done. [ 175s] Building format(s) --all. [ 184s] This may take some time... done. [ 184s] [430/461] installing texlive-luatex-2020.20200329-2 [ 185s] Processing triggers for tex-common (6.13) ... [ 185s] Running mktexlsr. This may take some time... done. [ 185s] Building format(s) --all. [ 194s] This may take some time... [ 194s] fmtutil failed. Output has been stored in [ 194s] /tmp/fmtutil.PUuKhW01 [ 194s] Please include this file if you report a bug. [ 194s] dpkg: error processing package tex-common (--install): [ 194s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 194s] Processing triggers for man-db (2.9.1-1) ... [ 195s] Errors were encountered while processing: [ 195s] tex-common [ 195s] exit ... [ 195s] ### VM INTERACTION START ### [ 198s] [ 183.161522] sysrq: SysRq : Power Off [ 198s] [ 183.167510] reboot: Power down [ 198s] ### VM INTERACTION END ### [ 198s] [ 198s] lamb68 failed "build osmo-bsc_1.6.0.dsc" at Tue Apr 14 22:38:06 UTC 2020. [ 198s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:42:46 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:42:46 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e963c7c4592a_3fc92ad0c116460011007b4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 530s] [415/446] installing texlive-latex-base-2020.20200329-2 [ 531s] Processing triggers for man-db (2.9.1-1) ... [ 534s] Processing triggers for tex-common (6.13) ... [ 535s] Running mktexlsr. This may take some time... done. [ 536s] Running updmap-sys. This may take some time... done. [ 536s] Running mktexlsr /var/lib/texmf ... done. [ 536s] Building format(s) --all. [ 555s] This may take some time... done. [ 555s] [416/446] installing texlive-luatex-2020.20200329-2 [ 559s] Processing triggers for tex-common (6.13) ... [ 559s] Running mktexlsr. This may take some time... done. [ 559s] Building format(s) --all. [ 580s] This may take some time... [ 580s] fmtutil failed. Output has been stored in [ 580s] /tmp/fmtutil.SfYVJ0TI [ 580s] Please include this file if you report a bug. [ 580s] dpkg: error processing package tex-common (--install): [ 580s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 580s] Processing triggers for man-db (2.9.1-1) ... [ 584s] Errors were encountered while processing: [ 584s] tex-common [ 584s] exit ... [ 584s] ### VM INTERACTION START ### [ 587s] [ 569.175293] sysrq: SysRq : Power Off [ 587s] [ 569.194146] reboot: Power down [ 588s] ### VM INTERACTION END ### [ 588s] [ 588s] lamb01 failed "build osmo-mgw_1.7.0.6.173d.dsc" at Tue Apr 14 22:42:43 UTC 2020. [ 588s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:43:20 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:43:20 +0000 Subject: Build failure of network:osmocom:latest/osmo-msc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e963c9c87042_3fc92ad0c116460011008ab@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-msc/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-msc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-msc Last lines of build log: [ 201s] [438/470] installing texlive-latex-base-2020.20200329-2 [ 201s] Processing triggers for man-db (2.9.1-1) ... [ 202s] Processing triggers for tex-common (6.13) ... [ 202s] Running mktexlsr. This may take some time... done. [ 203s] Running updmap-sys. This may take some time... done. [ 203s] Running mktexlsr /var/lib/texmf ... done. [ 203s] Building format(s) --all. [ 212s] This may take some time... done. [ 212s] [439/470] installing texlive-luatex-2020.20200329-2 [ 213s] Processing triggers for tex-common (6.13) ... [ 214s] Running mktexlsr. This may take some time... done. [ 214s] Building format(s) --all. [ 223s] This may take some time... [ 223s] fmtutil failed. Output has been stored in [ 223s] /tmp/fmtutil.ECuxP2aL [ 223s] Please include this file if you report a bug. [ 223s] dpkg: error processing package tex-common (--install): [ 223s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 223s] Processing triggers for man-db (2.9.1-1) ... [ 224s] Errors were encountered while processing: [ 224s] tex-common [ 224s] exit ... [ 224s] ### VM INTERACTION START ### [ 227s] [ 210.616970] sysrq: SysRq : Power Off [ 227s] [ 210.624485] reboot: Power down [ 227s] ### VM INTERACTION END ### [ 227s] [ 227s] lamb26 failed "build osmo-msc_1.6.1.dsc" at Tue Apr 14 22:43:13 UTC 2020. [ 227s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:44:12 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:44:12 +0000 Subject: Build failure of network:osmocom:latest/osmo-sgsn in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e963cd6df860_3fc92ad0c11646001101032@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sgsn/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-sgsn failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sgsn Last lines of build log: [ 250s] [435/467] installing texlive-latex-base-2020.20200329-2 [ 251s] Processing triggers for man-db (2.9.1-1) ... [ 251s] Processing triggers for tex-common (6.13) ... [ 251s] Running mktexlsr. This may take some time... done. [ 252s] Running updmap-sys. This may take some time... done. [ 252s] Running mktexlsr /var/lib/texmf ... done. [ 252s] Building format(s) --all. [ 263s] This may take some time... done. [ 263s] [436/467] installing texlive-luatex-2020.20200329-2 [ 264s] Processing triggers for tex-common (6.13) ... [ 265s] Running mktexlsr. This may take some time... done. [ 265s] Building format(s) --all. [ 276s] This may take some time... [ 276s] fmtutil failed. Output has been stored in [ 276s] /tmp/fmtutil.JU3oW0rl [ 276s] Please include this file if you report a bug. [ 276s] dpkg: error processing package tex-common (--install): [ 276s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 276s] Processing triggers for man-db (2.9.1-1) ... [ 277s] Errors were encountered while processing: [ 277s] tex-common [ 277s] exit ... [ 277s] ### VM INTERACTION START ### [ 280s] [ 262.963340] sysrq: SysRq : Power Off [ 280s] [ 262.967046] reboot: Power down [ 280s] ### VM INTERACTION END ### [ 280s] [ 280s] lamb25 failed "build osmo-sgsn_1.6.0.dsc" at Tue Apr 14 22:44:05 UTC 2020. [ 280s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:46:29 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:46:29 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e963d516a918_3fc92ad0c116460011017b2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-sgsn failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 112s] [436/468] installing texlive-latex-base-2020.20200329-2 [ 112s] Processing triggers for man-db (2.9.1-1) ... [ 112s] Processing triggers for tex-common (6.13) ... [ 113s] Running mktexlsr. This may take some time... done. [ 113s] Running updmap-sys. This may take some time... done. [ 113s] Running mktexlsr /var/lib/texmf ... done. [ 113s] Building format(s) --all. [ 119s] This may take some time... done. [ 119s] [437/468] installing texlive-luatex-2020.20200329-2 [ 120s] Processing triggers for tex-common (6.13) ... [ 120s] Running mktexlsr. This may take some time... done. [ 120s] Building format(s) --all. [ 126s] This may take some time... [ 126s] fmtutil failed. Output has been stored in [ 126s] /tmp/fmtutil.MwtADDNi [ 126s] Please include this file if you report a bug. [ 126s] dpkg: error processing package tex-common (--install): [ 126s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 126s] Processing triggers for man-db (2.9.1-1) ... [ 127s] Errors were encountered while processing: [ 127s] tex-common [ 127s] exit ... [ 127s] ### VM INTERACTION START ### [ 130s] [ 120.050572] sysrq: SysRq : Power Off [ 130s] [ 120.053274] reboot: Power down [ 130s] ### VM INTERACTION END ### [ 130s] [ 130s] build76 failed "build osmo-sgsn_1.6.0.3.6e4cd.dsc" at Tue Apr 14 22:46:13 UTC 2020. [ 130s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:47:03 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:47:03 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e963d716a77e_3fc92ad0c116460011018b9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 182s] [430/462] installing texlive-latex-base-2020.20200329-2 [ 182s] Processing triggers for man-db (2.9.1-1) ... [ 183s] Processing triggers for tex-common (6.13) ... [ 183s] Running mktexlsr. This may take some time... done. [ 184s] Running updmap-sys. This may take some time... done. [ 184s] Running mktexlsr /var/lib/texmf ... done. [ 184s] Building format(s) --all. [ 195s] This may take some time... done. [ 195s] [431/462] installing texlive-luatex-2020.20200329-2 [ 196s] Processing triggers for tex-common (6.13) ... [ 196s] Running mktexlsr. This may take some time... done. [ 196s] Building format(s) --all. [ 207s] This may take some time... [ 207s] fmtutil failed. Output has been stored in [ 207s] /tmp/fmtutil.aE0sQiMB [ 207s] Please include this file if you report a bug. [ 207s] dpkg: error processing package tex-common (--install): [ 207s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 207s] Processing triggers for man-db (2.9.1-1) ... [ 207s] Errors were encountered while processing: [ 207s] tex-common [ 207s] exit ... [ 207s] ### VM INTERACTION START ### [ 210s] [ 192.849594] sysrq: SysRq : Power Off [ 210s] [ 192.855041] reboot: Power down [ 210s] ### VM INTERACTION END ### [ 210s] [ 210s] cloud136 failed "build osmo-bsc_1.6.0.27.b623.dsc" at Tue Apr 14 22:46:48 UTC 2020. [ 210s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Apr 14 22:47:55 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 14 Apr 2020 22:47:55 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e963daadae4e_3fc92ad0c1164600110207@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 183s] [439/471] installing texlive-latex-base-2020.20200329-2 [ 184s] Processing triggers for man-db (2.9.1-1) ... [ 184s] Processing triggers for tex-common (6.13) ... [ 185s] Running mktexlsr. This may take some time... done. [ 185s] Running updmap-sys. This may take some time... done. [ 185s] Running mktexlsr /var/lib/texmf ... done. [ 185s] Building format(s) --all. [ 198s] This may take some time... done. [ 198s] [440/471] installing texlive-luatex-2020.20200329-2 [ 199s] Processing triggers for tex-common (6.13) ... [ 200s] Running mktexlsr. This may take some time... done. [ 200s] Building format(s) --all. [ 211s] This may take some time... [ 211s] fmtutil failed. Output has been stored in [ 211s] /tmp/fmtutil.ryFrkZUx [ 211s] Please include this file if you report a bug. [ 211s] dpkg: error processing package tex-common (--install): [ 211s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 211s] Processing triggers for man-db (2.9.1-1) ... [ 212s] Errors were encountered while processing: [ 212s] tex-common [ 212s] exit ... [ 212s] ### VM INTERACTION START ### [ 215s] [ 199.906828] sysrq: SysRq : Power Off [ 215s] [ 199.912854] reboot: Power down [ 215s] ### VM INTERACTION END ### [ 215s] [ 215s] lamb10 failed "build osmo-msc_1.6.1.22.d233.dsc" at Tue Apr 14 22:47:42 UTC 2020. [ 215s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Apr 15 02:50:26 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 15 Apr 2020 02:50:26 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gsm-manuals in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e96768c97cf0_3fc92ad0c116460011483fc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gsm-manuals/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-gsm-manuals failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gsm-manuals Last lines of build log: [ 621s] [396/426] installing texlive-latex-base-2020.20200329-2 [ 622s] Processing triggers for man-db (2.9.1-1) ... [ 624s] Processing triggers for tex-common (6.13) ... [ 624s] Running mktexlsr. This may take some time... done. [ 625s] Running updmap-sys. This may take some time... done. [ 625s] Running mktexlsr /var/lib/texmf ... done. [ 625s] Building format(s) --all. [ 637s] This may take some time... done. [ 637s] [397/426] installing texlive-luatex-2020.20200329-2 [ 640s] Processing triggers for tex-common (6.13) ... [ 640s] Running mktexlsr. This may take some time... done. [ 640s] Building format(s) --all. [ 653s] This may take some time... [ 653s] fmtutil failed. Output has been stored in [ 653s] /tmp/fmtutil.1briKpVt [ 653s] Please include this file if you report a bug. [ 653s] dpkg: error processing package tex-common (--install): [ 653s] installed tex-common package post-installation script subprocess returned error exit status 1 [ 653s] Processing triggers for man-db (2.9.1-1) ... [ 655s] Errors were encountered while processing: [ 655s] tex-common [ 655s] exit ... [ 655s] ### VM INTERACTION START ### [ 658s] [ 632.888586] sysrq: SysRq : Power Off [ 658s] [ 632.911948] reboot: Power down [ 659s] ### VM INTERACTION END ### [ 659s] [ 659s] lamb59 failed "build osmo-gsm-manuals-dev_0.3.0.7.fef7.dsc" at Wed Apr 15 02:50:16 UTC 2020. [ 659s] -- 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 Apr 15 07:17:17 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 15 Apr 2020 07:17:17 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add optional bind_addr paramter to enb class In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17814 to look at the new patch set (#2). Change subject: enb: add optional bind_addr paramter to enb class ...................................................................... enb: add optional bind_addr paramter to enb class this allows to optionally specify a bind_addr for a enb object in the resources.conf this address is then used for binding the listening socket for gtpu/s1c which, in turn, allows to run the enb and epc on the same host. when bind_addr is not specified, addr is used by default this is especially useful if eNB and EPC run on the same host and ZMQ is used for RF between eNB and UE. Two eNB addresses are needed in this case, one bind address and one "remote-accessable" address for the UEs ZMQ radio to connect to Change-Id: I4fe38f31401428ed3e74e1d0b64960f0af122d37 --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/srsenb.conf.tmpl 4 files changed, 9 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/14/17814/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17814 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: I4fe38f31401428ed3e74e1d0b64960f0af122d37 Gerrit-Change-Number: 17814 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 Apr 15 07:20:17 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 15 Apr 2020 07:20:17 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add optional bind_addr paramter to enb class In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17814 ) Change subject: enb: add optional bind_addr paramter to enb class ...................................................................... Patch Set 2: > Patch Set 1: Code-Review-1 > > I don't think this is needed, I prefer keeping in general 1 IP address per object unless it's really required to have more. If you want to be able to run GTP on the same machine, the way I'd recommend is setting 2 IP addresses on the slave machine running them and then set up ENB to use addres A and the run node to run the EPC use address B. This way we keep classes and number of attributes simpler and it's simply a matter of being smart when setting the addresses in the machine and resources.conf. What you suggest is possible when using UHD as RF between UE and eNB. But not if you are using ZMQ. The eNB needs to have two configurable addresses in this case. If I configure a localhost address as enb.addr, this address will be used by the UE's ZMQ driver to connect to. This is of course not possible. So IMHO, having a addr (for ZMQ radio) and a bind_addr is actually more clear. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17814 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: I4fe38f31401428ed3e74e1d0b64960f0af122d37 Gerrit-Change-Number: 17814 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 15 Apr 2020 07:20: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 Wed Apr 15 10:47:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 15 Apr 2020 10:47:06 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl threads In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17805 ) Change subject: transceiver: get rid of the ctrl threads ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 8 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 15 Apr 2020 10:47: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 Apr 15 10:58:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 15 Apr 2020 10:58:11 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add optional bind_addr paramter to enb class In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17814 ) Change subject: enb: add optional bind_addr paramter to enb class ...................................................................... Patch Set 2: The point is precisely to avoid localhost (127...) addresses to keep all your resources/slaves available and easily expand them if you add new run slaves. If you end up making your setup bigger you'll have same issues since you'll start to have more run_nodes, enbs, etc. If you using private network addresses your are done with all your issues. So I am not against merging the patch, but I'd prefer avoiding it to avoid adding more object attributes which are not really needed. As I said, simply add 2 IP addresses to the host (eg 10.42.42.2 and 10.42.42.3) and in resources.conf put the run_node to use one and the ENB to use the other one one. That's the traditional way of working for osmo-gsm-tester, simply assigning different IP addresses to each object to avoid collisions. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17814 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: I4fe38f31401428ed3e74e1d0b64960f0af122d37 Gerrit-Change-Number: 17814 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 15 Apr 2020 10:58: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 Wed Apr 15 12:39:00 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 15 Apr 2020 12:39:00 +0000 Subject: Change in osmo-hlr[master]: Cosmetic: mention OS#4491 in location cancel code References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/17815 ) Change subject: Cosmetic: mention OS#4491 in location cancel code ...................................................................... Cosmetic: mention OS#4491 in location cancel code Change-Id: Idce0816172b92699d86ba3574a4fded0b73333cf --- M src/hlr.c M src/luop.c 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/15/17815/1 diff --git a/src/hlr.c b/src/hlr.c index e66444d..61a1f7e 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -401,7 +401,7 @@ /* TODO: Set subscriber tracing = deactive in VLR/SGSN */ #if 0 - /* Cancel in old VLR/SGSN, if new VLR/SGSN differs from old */ + /* Cancel in old VLR/SGSN, if new VLR/SGSN differs from old (OS#4491) */ if (luop->is_ps == false && strcmp(subscr->vlr_number, vlr_number)) { lu_op_tx_cancel_old(luop); diff --git a/src/luop.c b/src/luop.c index 1a2f854..da12013 100644 --- a/src/luop.c +++ b/src/luop.c @@ -194,7 +194,7 @@ lu_op_free(luop); } -/*! Send Cancel Location to old VLR/SGSN */ +/*! Send Cancel Location to old VLR/SGSN (OS#4491) */ void lu_op_tx_cancel_old(struct lu_operation *luop) { struct osmo_gsup_message gsup; -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Idce0816172b92699d86ba3574a4fded0b73333cf Gerrit-Change-Number: 17815 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 Wed Apr 15 12:44:52 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 15 Apr 2020 12:44:52 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add optional bind_addr paramter to enb class In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17814 ) Change subject: enb: add optional bind_addr paramter to enb class ...................................................................... Patch Set 2: > Patch Set 2: > > The point is precisely to avoid localhost (127...) addresses to keep all your resources/slaves available and easily expand them if you add new run slaves. If you end up making your setup bigger you'll have same issues since you'll start to have more run_nodes, enbs, etc. If you using private network addresses your are done with all your issues. > > So I am not against merging the patch, but I'd prefer avoiding it to avoid adding more object attributes which are not really needed. As I said, simply add 2 IP addresses to the host (eg 10.42.42.2 and 10.42.42.3) and in resources.conf put the run_node to use one and the ENB to use the other one one. That's the traditional way of working for osmo-gsm-tester, simply assigning different IP addresses to each object to avoid collisions. It might be possible to avoid the problem by defining an alias address for the NIC. I haven't tried this. But I don't think it should be needed to modify the IP address configuration of your networking stack when all you want is to pass an argument to a config file of the eNB. The config parameter is there to specify it and I don't see it exposed which is annoying. So we'd really to expose it to give the user the possibility to use it. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17814 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: I4fe38f31401428ed3e74e1d0b64960f0af122d37 Gerrit-Change-Number: 17814 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 15 Apr 2020 12:44: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 Wed Apr 15 13:19:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 15 Apr 2020 13:19:58 +0000 Subject: Change in osmo-hlr[master]: Cosmetic: mention OS#4491 in location cancel code In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/17815 ) Change subject: Cosmetic: mention OS#4491 in location cancel code ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Idce0816172b92699d86ba3574a4fded0b73333cf Gerrit-Change-Number: 17815 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 15 Apr 2020 13:19: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 Wed Apr 15 13:49:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 15 Apr 2020 13:49:03 +0000 Subject: Change in osmo-hlr[master]: Cosmetic: mention OS#4491 in location cancel code In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/17815 ) Change subject: Cosmetic: mention OS#4491 in location cancel code ...................................................................... Patch Set 1: Sounds like you want to add a FIXME? or is it already fixed? -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Idce0816172b92699d86ba3574a4fded0b73333cf Gerrit-Change-Number: 17815 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 15 Apr 2020 13:49: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 Wed Apr 15 14:42:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 15 Apr 2020 14:42:23 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Avoid adding extra autogenerated local link ipv6 addr to tun... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17812 to look at the new patch set (#2). Change subject: sgsnemu: Avoid adding extra autogenerated local link ipv6 addr to tun iface ...................................................................... sgsnemu: Avoid adding extra autogenerated local link ipv6 addr to tun iface It's not needed because a link-local address will be added as a result of Create Pdp Context Response. Morevoer, it fools sgsnemu ip addr verifications since it gets used on some scenarios by applications. Change-Id: I1d51f3ca91edbb3b788939982ab63264182ec2ce --- M sgsnemu/sgsnemu.c 1 file changed, 47 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/12/17812/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I1d51f3ca91edbb3b788939982ab63264182ec2ce Gerrit-Change-Number: 17812 Gerrit-PatchSet: 2 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 Apr 15 14:42:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 15 Apr 2020 14:42:24 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Fix ping transmitted statistics output References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17817 ) Change subject: sgsnemu: Fix ping transmitted statistics output ...................................................................... sgsnemu: Fix ping transmitted statistics output Change-Id: I6e23e024ee30d6049c6b8b614c50d062d80a5260 --- M sgsnemu/sgsnemu.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/17/17817/1 diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 9d82145..66ca228 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -1197,7 +1197,7 @@ if (nreceived && tsum) printf("round-trip (ms) min/avg/max = %.3f/%.3f/%.3f\n\n", tmin / 1000.0, tsum / 1000.0 / nreceived, tmax / 1000.0); - printf("%d packets transmitted \n", ntreceived); + printf("%d packets transmitted \n", ntransmitted); ntransmitted = 0; return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I6e23e024ee30d6049c6b8b614c50d062d80a5260 Gerrit-Change-Number: 17817 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 Apr 15 14:42:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 15 Apr 2020 14:42:24 +0000 Subject: Change in osmo-ggsn[master]: cosmetic: icmpv6.c: fix typo in comment References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17818 ) Change subject: cosmetic: icmpv6.c: fix typo in comment ...................................................................... cosmetic: icmpv6.c: fix typo in comment Change-Id: I2217dfb0b0a1e6e029ac817902e80c771ed219c3 --- M lib/icmpv6.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/18/17818/1 diff --git a/lib/icmpv6.c b/lib/icmpv6.c index a6545fd..63acc0e 100644 --- a/lib/icmpv6.c +++ b/lib/icmpv6.c @@ -161,7 +161,7 @@ return msg; } -/* Walidate an ICMPv6 router solicitation according to RFC4861 6.1.1 */ +/* Validate an ICMPv6 router solicitation according to RFC4861 6.1.1 */ static bool icmpv6_validate_router_solicit(const uint8_t *pack, unsigned len) { const struct ip6_hdr *ip6h = (struct ip6_hdr *)pack; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17818 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2217dfb0b0a1e6e029ac817902e80c771ed219c3 Gerrit-Change-Number: 17818 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 Apr 15 14:42:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 15 Apr 2020 14:42:24 +0000 Subject: Change in osmo-ggsn[master]: icmpv6.c: Mark internal function as static References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17819 ) Change subject: icmpv6.c: Mark internal function as static ...................................................................... icmpv6.c: Mark internal function as static Change-Id: Ib38907c3a05c1651faa86ef57381ee22643e0d53 --- M lib/icmpv6.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/19/17819/1 diff --git a/lib/icmpv6.c b/lib/icmpv6.c index 63acc0e..804a212 100644 --- a/lib/icmpv6.c +++ b/lib/icmpv6.c @@ -97,7 +97,7 @@ * \param[in] daddr Destination IPv6 address for router advertisement IPv6 header * \param[in] prefix The single prefix to be advertised (/64 implied!) * \returns callee-allocated message buffer containing router advertisement */ -struct msgb *icmpv6_construct_ra(const struct in6_addr *saddr, +static struct msgb *icmpv6_construct_ra(const struct in6_addr *saddr, const struct in6_addr *daddr, const struct in6_addr *prefix) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17819 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ib38907c3a05c1651faa86ef57381ee22643e0d53 Gerrit-Change-Number: 17819 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 Apr 15 14:42:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 15 Apr 2020 14:42:25 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Get rid of duplicated options.destaddr References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17820 ) Change subject: sgsnemu: Get rid of duplicated options.destaddr ...................................................................... sgsnemu: Get rid of duplicated options.destaddr It's not really set by any cmdline arg, and it always contains same content as options.netaddr. Change-Id: I5a4e3c4b5ae43a89a7d0af62fb396311dcb6ebae --- M sgsnemu/sgsnemu.c 1 file changed, 3 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/20/17820/1 diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 66ca228..94c7e13 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -96,7 +96,7 @@ int createif; /* Create local network interface */ char *tun_dev_name; char *netns; - struct in46_addr netaddr, destaddr, net; /* Network interface */ + struct in46_addr netaddr, net; /* Network interface */ size_t prefixlen; char *ipup, *ipdown; /* Filename of scripts */ int defaultroute; /* Set up default route */ @@ -896,13 +896,11 @@ exit(1); } options.netaddr = options.net; - options.destaddr = options.net; } else { memset(&options.net, 0, sizeof(options.net)); options.prefixlen = 0; memset(&options.netaddr, 0, sizeof(options.netaddr)); - memset(&options.destaddr, 0, sizeof(options.destaddr)); } /* ipup */ @@ -1721,12 +1719,11 @@ } if ((options.createif) && (options.net.len)) { - /* printf("Setting up interface and routing\n"); */ - tun_addaddr(tun, &options.netaddr, &options.destaddr, options.prefixlen); + tun_addaddr(tun, &options.netaddr, NULL, options.prefixlen); if (options.defaultroute) { struct in_addr rm; rm.s_addr = 0; - netdev_addroute(&rm, &options.destaddr.v4, &rm); + netdev_addroute(&rm, &options.netaddr.v4, &rm); } if (options.ipup) tun_runscript(tun, options.ipup); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5a4e3c4b5ae43a89a7d0af62fb396311dcb6ebae Gerrit-Change-Number: 17820 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 Apr 15 14:42:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 15 Apr 2020 14:42:25 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Get rid of duplicated options.net References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17821 ) Change subject: sgsnemu: Get rid of duplicated options.net ...................................................................... sgsnemu: Get rid of duplicated options.net It's not really set by any cmdline arg, and it always contains same content as options.netaddr. Change-Id: Id3cdca0975bdd2893b4b83944c5ebf29b2994622 --- M sgsnemu/sgsnemu.c 1 file changed, 4 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/21/17821/1 diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 94c7e13..45f07f5 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -96,7 +96,7 @@ int createif; /* Create local network interface */ char *tun_dev_name; char *netns; - struct in46_addr netaddr, net; /* Network interface */ + struct in46_addr netaddr; /* Network interface */ size_t prefixlen; char *ipup, *ipdown; /* Filename of scripts */ int defaultroute; /* Set up default route */ @@ -889,16 +889,13 @@ /* Store net as in_addr net and mask */ if (args_info.net_arg) { if (ippool_aton - (&options.net, &options.prefixlen, args_info.net_arg, 0)) { + (&options.netaddr, &options.prefixlen, args_info.net_arg, 0)) { SYS_ERR(DSGSN, LOGL_ERROR, 0, "Invalid network address: %s!", args_info.net_arg); exit(1); } - options.netaddr = options.net; - } else { - memset(&options.net, 0, sizeof(options.net)); options.prefixlen = 0; memset(&options.netaddr, 0, sizeof(options.netaddr)); } @@ -1512,7 +1509,7 @@ break; } - if ((options.createif) && (!options.net.len)) { + if ((options.createif) && (!options.netaddr.len)) { size_t prefixlen = 32; if (addr[i].len == 16) prefixlen = 64; @@ -1718,7 +1715,7 @@ maxfd = tun->fd; } - if ((options.createif) && (options.net.len)) { + if ((options.createif) && (options.netaddr.len)) { tun_addaddr(tun, &options.netaddr, NULL, options.prefixlen); if (options.defaultroute) { struct in_addr rm; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Id3cdca0975bdd2893b4b83944c5ebf29b2994622 Gerrit-Change-Number: 17821 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 Apr 15 14:42:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 15 Apr 2020 14:42:25 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: tun_addaddr: Don't set local addr as dstaddr References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17822 ) Change subject: sgsnemu: tun_addaddr: Don't set local addr as dstaddr ...................................................................... sgsnemu: tun_addaddr: Don't set local addr as dstaddr That should be used for point-to-point destination address. Change-Id: Iead7e9c7570ba6a9de3089a164997b1db81dc59a --- M sgsnemu/sgsnemu.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/22/17822/1 diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 45f07f5..6b05ac5 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -1514,7 +1514,7 @@ if (addr[i].len == 16) prefixlen = 64; /* printf("Setting up interface and routing\n"); */ - tun_addaddr(tun, &addr[i], &addr[i], prefixlen); + tun_addaddr(tun, &addr[i], NULL, prefixlen); if (options.defaultroute) { struct in_addr rm; rm.s_addr = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iead7e9c7570ba6a9de3089a164997b1db81dc59a Gerrit-Change-Number: 17822 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 Apr 15 14:42:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 15 Apr 2020 14:42:26 +0000 Subject: Change in osmo-ggsn[master]: icmpv6.c: Move code generating ipv6 hdr to its own function References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17823 ) Change subject: icmpv6.c: Move code generating ipv6 hdr to its own function ...................................................................... icmpv6.c: Move code generating ipv6 hdr to its own function It will be re-used in next commits. Change-Id: I3c108efad6461cd4e82ef435290005174bc8b30e --- M lib/icmpv6.c 1 file changed, 25 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/23/17823/1 diff --git a/lib/icmpv6.c b/lib/icmpv6.c index 804a212..ae72b4c 100644 --- a/lib/icmpv6.c +++ b/lib/icmpv6.c @@ -90,6 +90,30 @@ uint32_t res2; uint8_t prefix[16]; } __attribute__ ((packed)); +/* Prepends the ipv6 header and returns checksum content */ +static uint16_t icmpv6_prepend_ip6hdr(struct msgb *msg, const struct in6_addr *saddr, + const struct in6_addr *daddr) +{ + uint32_t len; + uint16_t skb_csum; + struct ip6_hdr *i6h; + + /* checksum */ + skb_csum = csum_partial(msgb_data(msg), msgb_length(msg), 0); + len = msgb_length(msg); + skb_csum = csum_ipv6_magic(saddr, daddr, len, IPPROTO_ICMPV6, skb_csum); + + /* Push IPv6 header in front of ICMPv6 packet */ + i6h = (struct ip6_hdr *) msgb_push(msg, sizeof(*i6h)); + /* 4 bits version, 8 bits TC, 20 bits flow-ID */ + i6h->ip6_ctlun.ip6_un1.ip6_un1_flow = htonl(0x60000000); + i6h->ip6_ctlun.ip6_un1.ip6_un1_plen = htons(len); + i6h->ip6_ctlun.ip6_un1.ip6_un1_nxt = IPPROTO_ICMPV6; + i6h->ip6_ctlun.ip6_un1.ip6_un1_hlim = 255; + i6h->ip6_src = *saddr; + i6h->ip6_dst = *daddr; + return skb_csum; +} /*! construct a 3GPP 29.061 compliant router advertisement for a given prefix @@ -104,9 +128,6 @@ struct msgb *msg = msgb_alloc_headroom(512,128, "IPv6 RA"); struct icmpv6_radv_hdr *ra; struct icmpv6_opt_prefix *ra_opt_pref; - struct ip6_hdr *i6h; - uint32_t len; - uint16_t skb_csum; OSMO_ASSERT(msg); @@ -144,19 +165,7 @@ memcpy(ra_opt_pref->prefix, prefix, sizeof(ra_opt_pref->prefix)); /* checksum */ - skb_csum = csum_partial(msgb_data(msg), msgb_length(msg), 0); - len = msgb_length(msg); - ra->hdr.csum = csum_ipv6_magic(saddr, daddr, len, IPPROTO_ICMPV6, skb_csum); - - /* Push IPv6 header in front of ICMPv6 packet */ - i6h = (struct ip6_hdr *) msgb_push(msg, sizeof(*i6h)); - /* 4 bits version, 8 bits TC, 20 bits flow-ID */ - i6h->ip6_ctlun.ip6_un1.ip6_un1_flow = htonl(0x60000000); - i6h->ip6_ctlun.ip6_un1.ip6_un1_plen = htons(len); - i6h->ip6_ctlun.ip6_un1.ip6_un1_nxt = IPPROTO_ICMPV6; - i6h->ip6_ctlun.ip6_un1.ip6_un1_hlim = 255; - i6h->ip6_src = *saddr; - i6h->ip6_dst = *daddr; + ra->hdr.csum = icmpv6_prepend_ip6hdr(msg, saddr, daddr); return msg; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I3c108efad6461cd4e82ef435290005174bc8b30e Gerrit-Change-Number: 17823 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 Apr 15 14:42:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 15 Apr 2020 14:42:26 +0000 Subject: Change in osmo-ggsn[master]: Rename netdev_*route to end in route4 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17824 ) Change subject: Rename netdev_*route to end in route4 ...................................................................... Rename netdev_*route to end in route4 Functions for IPv6 will be added soon afterwards. Also take the chance to check for address length in sgsnemu and only apply the route if the address matches. Change-Id: Ic6c1b3c11c56f047e6e8c6f1040257fd62afea0f --- M lib/netdev.c M lib/netdev.h M lib/tun.c M sgsnemu/sgsnemu.c 4 files changed, 19 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/24/17824/1 diff --git a/lib/netdev.c b/lib/netdev.c index 19c5c62..4d171c9 100644 --- a/lib/netdev.c +++ b/lib/netdev.c @@ -176,7 +176,7 @@ /* On linux the route to the interface is set automatically on FreeBSD we have to do this manually */ #if defined(__FreeBSD__) || defined (__APPLE__) - netdev_addroute(dstaddr, addr, &this->netmask); + netdev_addroute4(dstaddr, addr, &this->netmask); #endif return 0; @@ -553,7 +553,7 @@ return 0; } -static int netdev_route(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask, int delete) +static int netdev_route4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask, int delete) { int fd; #if defined(__linux__) @@ -643,14 +643,14 @@ return 0; } -int netdev_addroute(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask) +int netdev_addroute4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask) { - return netdev_route(dst, gateway, mask, 0); + return netdev_route4(dst, gateway, mask, 0); } -int netdev_delroute(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask) +int netdev_delroute4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask) { - return netdev_route(dst, gateway, mask, 1); + return netdev_route4(dst, gateway, mask, 1); } #include diff --git a/lib/netdev.h b/lib/netdev.h index 74c42da..5dab27f 100644 --- a/lib/netdev.h +++ b/lib/netdev.h @@ -65,8 +65,8 @@ extern int netdev_addaddr6(const char *devname, struct in6_addr *addr, struct in6_addr *dstaddr, int prefixlen); -extern int netdev_addroute(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask); -extern int netdev_delroute(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask); +extern int netdev_addroute4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask); +extern int netdev_delroute4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask); extern int netdev_ip_local_get(const char *devname, struct in46_prefix *prefix_list, size_t prefix_size, int flags); diff --git a/lib/tun.c b/lib/tun.c index 1aeed55..c771b92 100644 --- a/lib/tun.c +++ b/lib/tun.c @@ -276,7 +276,7 @@ { if (tun->routes) { - netdev_delroute(&tun->dstaddr.v4, &tun->addr.v4, &tun->netmask); + netdev_delroute4(&tun->dstaddr.v4, &tun->addr.v4, &tun->netmask); } if (tun->fd >= 0) { diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 6b05ac5..c28df52 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -1516,9 +1516,11 @@ /* printf("Setting up interface and routing\n"); */ tun_addaddr(tun, &addr[i], NULL, prefixlen); if (options.defaultroute) { - struct in_addr rm; - rm.s_addr = 0; - netdev_addroute(&rm, &addr[i].v4, &rm); + if (in46a_is_v4(&addr[i])) { + struct in_addr rm; + rm.s_addr = 0; + netdev_addroute4(&rm, &addr[i].v4, &rm); + } } if (options.ipup) tun_runscript(tun, options.ipup); @@ -1718,9 +1720,11 @@ if ((options.createif) && (options.netaddr.len)) { tun_addaddr(tun, &options.netaddr, NULL, options.prefixlen); if (options.defaultroute) { - struct in_addr rm; - rm.s_addr = 0; - netdev_addroute(&rm, &options.netaddr.v4, &rm); + if (in46a_is_v4(&options.netaddr)) { + struct in_addr rm; + rm.s_addr = 0; + netdev_addroute4(&rm, &options.netaddr.v4, &rm); + } } if (options.ipup) tun_runscript(tun, options.ipup); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ic6c1b3c11c56f047e6e8c6f1040257fd62afea0f Gerrit-Change-Number: 17824 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 Apr 15 14:42:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 15 Apr 2020 14:42:26 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Handle IPv6 SLAAC in tun iface manually References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17825 ) Change subject: sgsnemu: Handle IPv6 SLAAC in tun iface manually ...................................................................... sgsnemu: Handle IPv6 SLAAC in tun iface manually Disable IPv6 automatic SLAAC by linux kernel and handle it manually. This allows us gaining control on local address acquisition and set addresses and routing properly. It will also allow us to run in ping mode without a tun iface. Related: OS#4434 Change-Id: Iae59cf6ffb181357e10b3080a5c751bd454f4a1f --- M ggsn/ggsn.c M lib/icmpv6.c M lib/icmpv6.h M lib/netdev.c M lib/netdev.h M sgsnemu/sgsnemu.c 6 files changed, 306 insertions(+), 117 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/25/17825/1 diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c index 3b10f70..159362f 100644 --- a/ggsn/ggsn.c +++ b/ggsn/ggsn.c @@ -636,11 +636,6 @@ return 0; } -/* RFC3307 link-local scope multicast address */ -static const struct in6_addr all_router_mcast_addr = { - .s6_addr = { 0xff,0x02,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,2 } -}; - /* MS-originated GTP1-U packet, needs to be sent via TUN device */ static int encaps_tun(struct pdp_t *pdp, void *pack, unsigned len) { diff --git a/lib/icmpv6.c b/lib/icmpv6.c index ae72b4c..1bddf65 100644 --- a/lib/icmpv6.c +++ b/lib/icmpv6.c @@ -27,6 +27,7 @@ #include "../gtp/pdp.h" #include "ippool.h" #include "syserr.h" +#include "icmpv6.h" #include "config.h" /* 29.061 11.2.1.3.4 IPv6 Router Configuration Variables in GGSN */ @@ -35,61 +36,11 @@ #define GGSN_AdvValidLifetime 0xffffffff /* infinite */ #define GGSN_AdvPreferredLifetime 0xffffffff /* infinite */ -struct icmpv6_hdr { - uint8_t type; - uint8_t code; - uint16_t csum; -} __attribute__ ((packed)); +/* RFC3307 link-local scope multicast address */ +const struct in6_addr all_router_mcast_addr = { + .s6_addr = { 0xff,0x02,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,2 } +}; -/* RFC4861 Section 4.2 */ -struct icmpv6_radv_hdr { - struct icmpv6_hdr hdr; - uint8_t cur_ho_limit; -#if BYTE_ORDER == LITTLE_ENDIAN - uint8_t res:6, - m:1, - o:1; -#elif BYTE_ORDER == BIG_ENDIAN - uint8_t m:1, - o:1, - res:6; -#else -# error "Please fix " -#endif - uint16_t router_lifetime; - uint32_t reachable_time; - uint32_t retrans_timer; - uint8_t options[0]; -} __attribute__ ((packed)); - -/* RFC4861 Section 4.6 */ -struct icmpv6_opt_hdr { - uint8_t type; - /* length in units of 8 octets, including type+len! */ - uint8_t len; - uint8_t data[0]; -} __attribute__ ((packed)); - -/* RFC4861 Section 4.6.2 */ -struct icmpv6_opt_prefix { - struct icmpv6_opt_hdr hdr; - uint8_t prefix_len; -#if BYTE_ORDER == LITTLE_ENDIAN - uint8_t res:6, - a:1, - l:1; -#elif BYTE_ORDER == BIG_ENDIAN - uint8_t l:1, - a:1, - res:6; -#else -# error "Please fix " -#endif - uint32_t valid_lifetime; - uint32_t preferred_lifetime; - uint32_t res2; - uint8_t prefix[16]; -} __attribute__ ((packed)); /* Prepends the ipv6 header and returns checksum content */ static uint16_t icmpv6_prepend_ip6hdr(struct msgb *msg, const struct in6_addr *saddr, const struct in6_addr *daddr) @@ -115,7 +66,26 @@ return skb_csum; } +/*! construct a RFC4861 compliant ICMPv6 router soliciation + * \param[in] saddr Source IPv6 address for router advertisement + * \param[in] daddr Destination IPv6 address for router advertisement IPv6 header + * \param[in] prefix The single prefix to be advertised (/64 implied!) + * \returns callee-allocated message buffer containing router advertisement */ +struct msgb *icmpv6_construct_rs(const struct in6_addr *saddr) +{ + struct msgb *msg = msgb_alloc_headroom(512,128, "IPv6 RS"); + struct icmpv6_rsol_hdr *rs; + OSMO_ASSERT(msg); + rs = (struct icmpv6_rsol_hdr *) msgb_put(msg, sizeof(*rs)); + rs->hdr.type = 133; /* see RFC4861 4.1 */ + rs->hdr.code = 0; /* see RFC4861 4.1 */ + rs->hdr.csum = 0; /* updated below */ + rs->reserved = 0; /* see RFC4861 4.1 */ + rs->hdr.csum = icmpv6_prepend_ip6hdr(msg, saddr, &all_router_mcast_addr); + + return msg; +} /*! construct a 3GPP 29.061 compliant router advertisement for a given prefix * \param[in] saddr Source IPv6 address for router advertisement * \param[in] daddr Destination IPv6 address for router advertisement IPv6 header @@ -188,6 +158,37 @@ return true; } +/* Validate an ICMPv6 router advertisement according to RFC4861 6.1.2. + Returns pointer packet header on success, NULL otherwise. */ +struct icmpv6_radv_hdr *icmpv6_validate_router_adv(const uint8_t *pack, unsigned len) +{ + const struct ip6_hdr *ip6h = (struct ip6_hdr *)pack; + const struct icmpv6_hdr *ic6h = (struct icmpv6_hdr *) (pack + sizeof(*ip6h)); + + /* ICMP length (derived from IP length) is 16 or more octets */ + if (len < sizeof(*ip6h) + 16) + return NULL; + + if (ic6h->type != 134) /* router advertismenet type */ + return NULL; + + /*Routers must use their link-local address */ + if (!IN6_IS_ADDR_LINKLOCAL(&ip6h->ip6_src)) + return NULL; + /* Hop limit field must have 255 */ + if (ip6h->ip6_ctlun.ip6_un1.ip6_un1_hlim != 255) + return NULL; + /* ICMP Code is 0 */ + if (ic6h->code != 0) + return NULL; + /* ICMP length (derived from IP length) is 16 or more octets */ + if (ip6h->ip6_ctlun.ip6_un1.ip6_un1_plen < 16) + return NULL; + /* FIXME: All included options have a length > 0 */ + /* FIXME: If IP source is unspecified, no source link-layer addr option */ + return (struct icmpv6_radv_hdr *)ic6h; +} + /* handle incoming packets to the all-routers multicast address */ int handle_router_mcast(struct gsn_t *gsn, struct pdp_t *pdp, const struct in6_addr *pdp_prefix, diff --git a/lib/icmpv6.h b/lib/icmpv6.h index bf91e27..44b9b73 100644 --- a/lib/icmpv6.h +++ b/lib/icmpv6.h @@ -1,9 +1,90 @@ #pragma once +#include + +#include +#include + #include "../gtp/gtp.h" #include "../gtp/pdp.h" +#define ICMPv6_OPT_TYPE_PREFIX_INFO 0x03 + +#define foreach_icmpv6_opt(icmpv6_pkt, icmpv6_len, opt_hdr) \ + for (opt_hdr = (struct icmpv6_opt_hdr *)(icmpv6_pkt)->options; \ + (uint8_t*)(opt_hdr) + sizeof(struct icmpv6_opt_hdr) <= (((uint8_t*)(icmpv6_pkt)) + (icmpv6_len)); \ + opt_hdr = (struct icmpv6_opt_hdr*)((uint8_t*)(opt_hdr) + (opt_hdr)->len) \ + ) + +struct icmpv6_hdr { + uint8_t type; + uint8_t code; + uint16_t csum; +} __attribute__ ((packed)); + +/* RFC4861 Section 4.1 */ +struct icmpv6_rsol_hdr { + struct icmpv6_hdr hdr; + uint32_t reserved; + uint8_t options[0]; +} __attribute__ ((packed)); + +/* RFC4861 Section 4.2 */ +struct icmpv6_radv_hdr { + struct icmpv6_hdr hdr; + uint8_t cur_ho_limit; +#if OSMO_IS_LITTLE_ENDIAN + uint8_t res:6, + m:1, + o:1; +#else + uint8_t m:1, + o:1, + res:6; +#endif + uint16_t router_lifetime; + uint32_t reachable_time; + uint32_t retrans_timer; + uint8_t options[0]; +} __attribute__ ((packed)); + + +/* RFC4861 Section 4.6 */ +struct icmpv6_opt_hdr { + uint8_t type; + /* length in units of 8 octets, including type+len! */ + uint8_t len; + uint8_t data[0]; +} __attribute__ ((packed)); + +/* RFC4861 Section 4.6.2 */ +struct icmpv6_opt_prefix { + struct icmpv6_opt_hdr hdr; + uint8_t prefix_len; +#if OSMO_IS_LITTLE_ENDIAN + uint8_t res:6, + a:1, + l:1; +#else + uint8_t l:1, + a:1, + res:6; +#endif + uint32_t valid_lifetime; + uint32_t preferred_lifetime; + uint32_t res2; + uint8_t prefix[16]; +} __attribute__ ((packed)); + +struct msgb *icmpv6_construct_rs(const struct in6_addr *saddr); + int handle_router_mcast(struct gsn_t *gsn, struct pdp_t *pdp, const struct in6_addr *pdp_prefix, const struct in6_addr *own_ll_addr, const uint8_t *pack, unsigned len); + +struct icmpv6_radv_hdr *icmpv6_validate_router_adv(const uint8_t *pack, unsigned len); + + +/* RFC3307 link-local scope multicast address */ +extern const struct in6_addr all_router_mcast_addr; diff --git a/lib/netdev.c b/lib/netdev.c index 4d171c9..fd3caff 100644 --- a/lib/netdev.c +++ b/lib/netdev.c @@ -643,6 +643,59 @@ return 0; } +static int netdev_route6(struct in6_addr *dst, struct in6_addr *gateway, int prefixlen, const char *gw_iface, int delete) +{ + int fd; +#if defined(__linux__) + struct in6_rtmsg r; + struct ifreq ifr; + + memset(&r, 0, sizeof(r)); + r.rtmsg_flags = RTF_UP | RTF_GATEWAY; /* RTF_HOST not set */ + r.rtmsg_metric = 1; + + /* Create a channel to the NET kernel. */ + if ((fd = socket(AF_INET6, SOCK_DGRAM, 0)) < 0) { + SYS_ERR(DTUN, LOGL_ERROR, errno, "socket() failed"); + return -1; + } + + if (gw_iface) { + strncpy(ifr.ifr_name, gw_iface, IFNAMSIZ); + ifr.ifr_name[IFNAMSIZ - 1] = 0; /* Make sure to terminate */ + if (ioctl(fd, SIOCGIFINDEX, &ifr) < 0) { + SYS_ERR(DTUN, LOGL_ERROR, errno, + "ioctl(SIOCGIFINDEX) failed"); + close(fd); + return -1; + } + r.rtmsg_ifindex = ifr.ifr_ifindex; + } + + memcpy(&r.rtmsg_dst, dst->s6_addr, sizeof(struct in6_addr)); + memcpy(&r.rtmsg_gateway, gateway->s6_addr, sizeof(struct in6_addr)); + r.rtmsg_dst_len = prefixlen; + + if (delete) { + if (ioctl(fd, SIOCDELRT, (void *)&r) < 0) { + SYS_ERR(DTUN, LOGL_ERROR, errno, + "ioctl(SIOCDELRT) failed"); + close(fd); + return -1; + } + } else { + if (ioctl(fd, SIOCADDRT, (void *)&r) < 0) { + SYS_ERR(DTUN, LOGL_ERROR, errno, + "ioctl(SIOCADDRT) failed"); + close(fd); + return -1; + } + } + close(fd); +#endif + return 0; +} + int netdev_addroute4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask) { return netdev_route4(dst, gateway, mask, 0); @@ -653,6 +706,18 @@ return netdev_route4(dst, gateway, mask, 1); } +int netdev_addroute6(struct in6_addr *dst, struct in6_addr *gateway, int prefixlen, const char *gw_iface) +{ + return netdev_route6(dst, gateway, prefixlen, gw_iface, 0); +} + +int netdev_delroute6(struct in6_addr *dst, struct in6_addr *gateway, int prefixlen, const char *gw_iface) +{ + return netdev_route6(dst, gateway, prefixlen, gw_iface, 1); +} + + + #include /*! Obtain the local address of a network device diff --git a/lib/netdev.h b/lib/netdev.h index 5dab27f..1bce814 100644 --- a/lib/netdev.h +++ b/lib/netdev.h @@ -67,6 +67,8 @@ extern int netdev_addroute4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask); extern int netdev_delroute4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask); +extern int netdev_addroute6(struct in6_addr *dst, struct in6_addr *gateway, int prefixlen, const char *gw_iface); +extern int netdev_delroute6(struct in6_addr *dst, struct in6_addr *gateway, int prefixlen, const char *gw_iface); extern int netdev_ip_local_get(const char *devname, struct in46_prefix *prefix_list, size_t prefix_size, int flags); diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index c28df52..f3bf848 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -55,6 +55,7 @@ #include "../lib/ippool.h" #include "../lib/syserr.h" #include "../lib/netns.h" +#include "../lib/icmpv6.h" #include "../gtp/pdp.h" #include "../gtp/gtp.h" #include "cmdline.h" @@ -963,41 +964,6 @@ } -/* read a single value from a /procc file, up to 255 bytes, callee-allocated */ -static char *proc_read(const char *path) -{ - char *ret = NULL; - FILE *f; - - f = fopen(path, "r"); - if (!f) - return NULL; - - ret = malloc(256); - if (!ret) - goto out; - - if (!fgets(ret, 256, f)) { - free(ret); - ret = NULL; - goto out; - } - -out: - fclose(f); - return ret; -} - -/* Read value of a /proc/sys/net/ipv6/conf file for given device. - * Memory is dynamically allocated, caller must free it later. */ -static char *proc_ipv6_conf_read(const char *dev, const char *file) -{ - const char *fmt = "/proc/sys/net/ipv6/conf/%s/%s"; - char path[strlen(fmt) + strlen(dev) + strlen(file)+1]; - snprintf(path, sizeof(path), fmt, dev, file); - return proc_read(path); -} - /* write a single value to a /proc file */ static int proc_write(const char *path, const char *value) { @@ -1519,8 +1485,10 @@ if (in46a_is_v4(&addr[i])) { struct in_addr rm; rm.s_addr = 0; - netdev_addroute4(&rm, &addr[i].v4, &rm); - } + if (netdev_addroute4(&rm, &addr[i].v4, &rm) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Failed adding default route to %s", in46a_ntoa(&addr[i])); + } + } /* else: route will be set up once we have a global link address (Router Advertisement) */ } if (options.ipup) tun_runscript(tun, options.ipup); @@ -1529,29 +1497,21 @@ ipset(iph, &addr[i]); } - /* now that ip-up has been executed, check if we are configured to - * accept router advertisements */ if (options.createif && options.pdp_type == PDP_EUA_TYPE_v6) { - char *accept_ra, *forwarding; - - accept_ra = proc_ipv6_conf_read(tun->devname, "accept_ra"); - forwarding = proc_ipv6_conf_read(tun->devname, "forwarding"); - if (!accept_ra || !forwarding) - printf("Could not open proc file for %s ?!?\n", tun->devname); - else { - if (!strcmp(accept_ra, "0")) { - printf("accept_ra=0, i.e. your tun device is not configured to accept " - "router advertisements; SLAAC will not succeed, please " - "fix your setup!\n"); - } - if (!strcmp(forwarding, "1") && !strcmp(accept_ra, "1")) { - printf("forwarding=1 and accept_ra=1, i.e. your tun device is not " - "configured to accept router advertisements; SLAAC will not " - "succeed, please fix your setup!\n"); - } + struct in6_addr *saddr6; + struct msgb *msg; + if (in46a_is_v6(&addr[0])) { + saddr6 = &addr[0].v6; + } else if (num_addr > 1 && in46a_is_v6(&addr[1])) { + saddr6 = &addr[1].v6; + } else { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Failed to find IPv6 EUA on IPv6 APN"); + return EOF; /* Not a valid IP address */ } - free(accept_ra); - free(forwarding); + SYS_ERR(DSGSN, LOGL_INFO, 0, "Sending ICMPv6 Router Soliciation to GGSN..."); + msg = icmpv6_construct_rs(saddr6); + gtp_data_req(gsn, iph->pdp, msgb_data(msg), msgb_length(msg)); + msgb_free(msg); } #if defined(__linux__) @@ -1615,8 +1575,83 @@ } } +static void handle_router_adv(struct ip6_hdr *ip6h, struct icmpv6_radv_hdr *ra, size_t ra_len) +{ + struct icmpv6_opt_hdr *opt_hdr; + struct icmpv6_opt_prefix *opt_prefix; + int rc; + sigset_t oldmask; + struct in6_addr rm; + char ip6strbuf[200]; + memset(&rm, 0, sizeof(rm)); + + SYS_ERR(DSGSN, LOGL_INFO, 0, "Received ICMPv6 Router Advertisement"); + + foreach_icmpv6_opt(ra, ra_len, opt_hdr) { + if (opt_hdr->type == ICMPv6_OPT_TYPE_PREFIX_INFO) { + opt_prefix = (struct icmpv6_opt_prefix *)opt_hdr; + size_t prefix_len_bytes = (opt_prefix->prefix_len + 7)/8; + SYS_ERR(DSGSN, LOGL_INFO, 0, "Parsing OPT Prefix info (prefix_len=%u): %s", + opt_prefix->prefix_len, + osmo_hexdump((const unsigned char *)opt_prefix->prefix, prefix_len_bytes)); + if ((options.createif) && (!options.netaddr.len)) { + struct in46_addr addr; + addr.len = 16; + memcpy(addr.v6.s6_addr, opt_prefix->prefix, prefix_len_bytes); + memset(&addr.v6.s6_addr[prefix_len_bytes], 0, 16 - prefix_len_bytes); + addr.v6.s6_addr[15] = 0x02; + SYS_ERR(DSGSN, LOGL_INFO, 0, "Adding addr %s to tun %s", + in46a_ntoa(&addr), tun->devname); + +#if defined(__linux__) + if ((options.netns)) { + if ((rc = switch_ns(netns, &oldmask)) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, + "Failed to switch to netns %s: %s", + options.netns, strerror(-rc)); + } + } +#endif + rc = tun_addaddr(tun, &addr, NULL, opt_prefix->prefix_len); + if (rc < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Failed to add addr %s to tun %s", + in46a_ntoa(&addr), tun->devname); + } + + struct in6_addr rm; + memset(&rm, 0, sizeof(rm)); + if (netdev_addroute6(&rm, &ip6h->ip6_src, 0, tun->devname) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Failed adding default route to %s", inet_ntop(AF_INET6, &ip6h->ip6_src, ip6strbuf, sizeof(ip6strbuf))); + } + +#if defined(__linux__) + if ((options.netns)) { + if ((rc = restore_ns(&oldmask)) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, + "Failed to switch to original netns: %s", + strerror(-rc)); + } + } +#endif + } + } + } +} + static int encaps_tun(struct pdp_t *pdp, void *pack, unsigned len) { + struct iphdr *iph = (struct iphdr *)pack; + struct icmpv6_radv_hdr *ra; + switch (iph->version) { + case 6: + if ((ra = icmpv6_validate_router_adv(pack, len))) { + size_t ra_len = (uint8_t*)ra - (uint8_t*)pack; + handle_router_adv((struct ip6_hdr *)pack, ra, ra_len); + return 0; + } + break; + } + /* printf("encaps_tun. Packet received: forwarding to tun\n"); */ return tun_encaps((struct tun_t *)pdp->ipif, pack, len); } @@ -1715,6 +1750,12 @@ tun_set_cb_ind(tun, cb_tun_ind); if (tun->fd > maxfd) maxfd = tun->fd; + + if (proc_ipv6_conf_write(options.tun_dev_name, "accept_ra", "0") < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, + "Failed to disable IPv6 SLAAC on %s\n", options.tun_dev_name); + exit(1); + } } if ((options.createif) && (options.netaddr.len)) { @@ -1724,6 +1765,10 @@ struct in_addr rm; rm.s_addr = 0; netdev_addroute4(&rm, &options.netaddr.v4, &rm); + } else { + struct in6_addr rm; + memset(&rm, 0, sizeof(rm)); + netdev_addroute6(&rm, &options.netaddr.v6, 0, tun->devname); } } if (options.ipup) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iae59cf6ffb181357e10b3080a5c751bd454f4a1f Gerrit-Change-Number: 17825 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 Apr 15 14:42:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 15 Apr 2020 14:42:26 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Implement ping on IPv6 APNs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17826 ) Change subject: sgsnemu: Implement ping on IPv6 APNs ...................................................................... sgsnemu: Implement ping on IPv6 APNs Related: OS#4434 Change-Id: If9ca7c37a1a397bbc3f8912d67bccdabc4968e0c --- M lib/icmpv6.c M lib/icmpv6.h M sgsnemu/sgsnemu.c 3 files changed, 234 insertions(+), 46 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/26/17826/1 diff --git a/lib/icmpv6.c b/lib/icmpv6.c index 1bddf65..ac1474d 100644 --- a/lib/icmpv6.c +++ b/lib/icmpv6.c @@ -42,7 +42,7 @@ }; /* Prepends the ipv6 header and returns checksum content */ -static uint16_t icmpv6_prepend_ip6hdr(struct msgb *msg, const struct in6_addr *saddr, +uint16_t icmpv6_prepend_ip6hdr(struct msgb *msg, const struct in6_addr *saddr, const struct in6_addr *daddr) { uint32_t len; diff --git a/lib/icmpv6.h b/lib/icmpv6.h index 44b9b73..4b4dc37 100644 --- a/lib/icmpv6.h +++ b/lib/icmpv6.h @@ -22,6 +22,13 @@ uint16_t csum; } __attribute__ ((packed)); +struct icmpv6_echo_hdr { + struct icmpv6_hdr hdr; + uint16_t ident; /* Identifier */ + uint16_t seq; /* Sequence number */ + uint8_t data[0]; /* Data */ +} __attribute__ ((packed)); + /* RFC4861 Section 4.1 */ struct icmpv6_rsol_hdr { struct icmpv6_hdr hdr; @@ -76,6 +83,9 @@ uint8_t prefix[16]; } __attribute__ ((packed)); +uint16_t icmpv6_prepend_ip6hdr(struct msgb *msg, const struct in6_addr *saddr, + const struct in6_addr *daddr); + struct msgb *icmpv6_construct_rs(const struct in6_addr *saddr); int handle_router_mcast(struct gsn_t *gsn, struct pdp_t *pdp, diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index f3bf848..779c887 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -101,7 +101,7 @@ size_t prefixlen; char *ipup, *ipdown; /* Filename of scripts */ int defaultroute; /* Set up default route */ - struct in_addr pinghost; /* Remote ping host */ + struct in46_addr pinghost; /* Remote ping host */ int pingrate; int pingsize; int pingcount; @@ -163,6 +163,11 @@ uint8_t data[CREATEPING_MAX]; /* Data */ } __attribute__ ((packed)); +struct ip6_ping { + struct icmpv6_echo_hdr hdr; + uint8_t data[CREATEPING_MAX]; /* Data */ +} __attribute__ ((packed)); + /* Statistical values for ping */ int nreceived = 0; int ntreceived = 0; @@ -913,20 +918,61 @@ /* defaultroute */ options.defaultroute = args_info.defaultroute_flag; + /* PDP Type */ + if (!strcmp(args_info.pdp_type_arg, "v6")) + options.pdp_type = PDP_EUA_TYPE_v6; + else if (!strcmp(args_info.pdp_type_arg, "v4")) + options.pdp_type = PDP_EUA_TYPE_v4; + else { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Unsupported/unknown PDP Type '%s'\n", + args_info.pdp_type_arg); + return -1; + } + /* pinghost */ /* Store ping host as in_addr */ if (args_info.pinghost_arg) { - if (!(host = gethostbyname(args_info.pinghost_arg))) { + struct addrinfo hints; + struct addrinfo *result; + memset(&hints, 0, sizeof(struct addrinfo)); + switch (options.pdp_type) { + case PDP_EUA_TYPE_v4: + hints.ai_family = AF_INET; + break; + case PDP_EUA_TYPE_v6: + hints.ai_family = AF_INET6; + break; + default: + SYS_ERR(DSGSN, LOGL_ERROR, 0, "lookup(AF_UNSPEC) %d", options.pdp_type); + hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */ + } + hints.ai_socktype = SOCK_DGRAM; + hints.ai_flags = 0; + hints.ai_protocol = 0; + hints.ai_canonname = NULL; + hints.ai_addr = NULL; + hints.ai_next = NULL; + if ((i = getaddrinfo(args_info.pinghost_arg, NULL, &hints, &result)) != 0) { SYS_ERR(DSGSN, LOGL_ERROR, 0, - "Invalid ping host: %s!", - args_info.pinghost_arg); + "Invalid ping host '%s': %s", + args_info.pinghost_arg, gai_strerror(i)); return -1; } else { - memcpy(&options.pinghost.s_addr, host->h_addr, - host->h_length); + switch (result->ai_family) { + case AF_INET: + options.pinghost.len = sizeof(struct in_addr); + options.pinghost.v4 = ((struct sockaddr_in*)result->ai_addr)->sin_addr; + SYS_ERR(DSGSN, LOGL_ERROR, 0, "AF_INET %d", options.pinghost.len); + break; + case AF_INET6: + options.pinghost.len = sizeof(struct in6_addr); + options.pinghost.v6 = ((struct sockaddr_in6*)result->ai_addr)->sin6_addr; + break; + } printf("Using ping host: %s (%s)\n", args_info.pinghost_arg, - inet_ntoa(options.pinghost)); + in46a_ntoa(&options.pinghost)); + freeaddrinfo(result); } } @@ -944,17 +990,6 @@ else options.tx_gpdu_seq = 1; - /* PDP Type */ - if (!strcmp(args_info.pdp_type_arg, "v6")) - options.pdp_type = PDP_EUA_TYPE_v6; - else if (!strcmp(args_info.pdp_type_arg, "v4")) - options.pdp_type = PDP_EUA_TYPE_v4; - else { - SYS_ERR(DSGSN, LOGL_ERROR, 0, "Unsupported/unknown PDP Type '%s'\n", - args_info.pdp_type_arg); - return -1; - } - if (options.pingcount && options.pdp_type != PDP_EUA_TYPE_v4) { SYS_ERR(DSGSN, LOGL_ERROR, 0, "built-in ping only works with IPv4, use tun-device"); return -1; @@ -1115,7 +1150,7 @@ struct timezone tz; struct timeval tv; int diff; - if ((options.pinghost.s_addr) && (2 == state) && + if ((options.pinghost.len) && (2 == state) && ((pingseq < options.pingcount) || (options.pingcount == 0))) { gettimeofday(&tv, &tz); diff = 1000000 / options.pingrate * pingseq - 1000000 * (tv.tv_sec - firstping.tv_sec) - (tv.tv_usec - firstping.tv_usec); /* Microseconds safe up to 500 sec */ @@ -1140,7 +1175,7 @@ gettimeofday(&tv, &tz); elapsed = 1000000 * (tv.tv_sec - firstping.tv_sec) + (tv.tv_usec - firstping.tv_usec); /* Microseconds */ printf("\n"); - printf("\n----%s PING Statistics----\n", inet_ntoa(options.pinghost)); + printf("\n----%s PING Statistics----\n", in46a_ntoa(&options.pinghost)); printf("%d packets transmitted in %.3f seconds, ", ntransmitted, elapsed / 1000000.0); printf("%d packets received, ", nreceived); @@ -1164,10 +1199,8 @@ return 0; } -/* Handle a received ping packet. Print out line and update statistics. */ -static int encaps_ping(struct pdp_t *pdp, void *pack, unsigned len) +static int encaps_ping4(struct pdp_t *pdp, void *pack, unsigned len) { - struct timezone tz; struct timeval tv; struct timeval *tp; struct ip_ping *pingpack = pack; @@ -1176,17 +1209,12 @@ src.s_addr = pingpack->src; - gettimeofday(&tv, &tz); - if (options.debug) - printf("%d.%6d ", (int)tv.tv_sec, (int)tv.tv_usec); - if (len < CREATEPING_IP + CREATEPING_ICMP) { printf("packet too short (%d bytes) from %s\n", len, inet_ntoa(src)); return 0; } - ntreceived++; if (pingpack->protocol != 1) { if (!options.pingquiet) printf("%d bytes from %s: ip_protocol=%d (%s)\n", @@ -1210,7 +1238,7 @@ inet_ntoa(src), ntohs(pingpack->seq)); if (len >= sizeof(struct timeval) + CREATEPING_IP + CREATEPING_ICMP) { - gettimeofday(&tv, &tz); + gettimeofday(&tv, NULL); tp = (struct timeval *)pingpack->data; if ((tv.tv_usec -= tp->tv_usec) < 0) { tv.tv_sec--; @@ -1233,15 +1261,106 @@ return 0; } -/* Create a new ping packet and send it off to peer. */ -static int create_ping(void *gsn, struct pdp_t *pdp, - struct in_addr *dst, int seq, unsigned int datasize) +static int encaps_ping6(struct pdp_t *pdp, struct ip6_hdr *ip6h, unsigned len) { + const struct icmpv6_echo_hdr *ic6h = (struct icmpv6_echo_hdr *) ((uint8_t*)ip6h + sizeof(*ip6h)); + struct timeval tv; + struct timeval tp; + int triptime; + char straddr[128]; + if (len < sizeof(struct ip6_hdr)) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Packet len too small to contain IPv6 header (%d)", len); + return 0; + } + + if (ip6h->ip6_ctlun.ip6_un1.ip6_un1_nxt != IPPROTO_ICMPV6) { + if (!options.pingquiet) + printf("%d bytes from %s: ip6_protocol=%d (%s)\n", len, + inet_ntop(AF_INET6, &ip6h->ip6_src, straddr, sizeof(straddr)), + ip6h->ip6_ctlun.ip6_un1.ip6_un1_nxt, + print_ipprot(ip6h->ip6_ctlun.ip6_un1.ip6_un1_nxt)); + return 0; + } + + if (len < sizeof(struct ip6_hdr) + sizeof(struct icmpv6_echo_hdr)) { + LOGP(DSGSN, LOGL_ERROR, "Packet len too small to contain ICMPv6 echo header (%d)\n", len); + return 0; + } + + if (ic6h->hdr.type != 129 || ic6h->hdr.code != 0) { + if (!options.pingquiet) + printf + ("%d bytes from %s: icmp_type=%d icmp_code=%d\n", len, + inet_ntop(AF_INET6, &ip6h->ip6_src, straddr, sizeof(straddr)), + ic6h->hdr.type, ic6h->hdr.code); + return 0; + } + + nreceived++; + if (!options.pingquiet) + printf("%d bytes from %s: icmp_seq=%d", len, + inet_ntop(AF_INET6, &ip6h->ip6_src, straddr, sizeof(straddr)), + ntohs(ic6h->seq)); + + if (len >= sizeof(struct ip6_hdr) + sizeof(struct icmpv6_echo_hdr) + sizeof(struct timeval)) { + gettimeofday(&tv, NULL); + memcpy(&tp, ic6h->data, sizeof(struct timeval)); + if ((tv.tv_usec -= tp.tv_usec) < 0) { + tv.tv_sec--; + tv.tv_usec += 1000000; + } + tv.tv_sec -= tp.tv_sec; + + triptime = tv.tv_sec * 1000000 + (tv.tv_usec); + tsum += triptime; + if (triptime < tmin) + tmin = triptime; + if (triptime > tmax) + tmax = triptime; + + if (!options.pingquiet) + printf(" time=%.3f ms\n", triptime / 1000.0); + + } else if (!options.pingquiet) + printf("\n"); + return 0; +} + +/* Handle a received ping packet. Print out line and update statistics. */ +static int encaps_ping(struct pdp_t *pdp, void *pack, unsigned len) +{ + struct iphdr *iph = (struct iphdr *)pack; + struct timeval tv; + + + gettimeofday(&tv, NULL); + if (options.debug) + printf("%d.%6d ", (int)tv.tv_sec, (int)tv.tv_usec); + + ntreceived++; + + if (len < sizeof(struct iphdr)) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Packet len too small to contain ip header (%d)", len); + return -1; + } + switch(iph->version) { + case 4: + return encaps_ping4(pdp, pack, len); + case 6: + return encaps_ping6(pdp, (struct ip6_hdr *)pack, len); + default: + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Unknown ip header version %d", iph->version); + return -1; + } +} + +static int create_ping4(void *gsn, struct pdp_t *pdp, struct in46_addr *src, + struct in46_addr *dst, int seq, unsigned int datasize) +{ struct ip_ping pack; uint16_t v16; uint8_t *p8 = (uint8_t *) & pack; - struct in_addr src; unsigned int n; long int sum = 0; int count = 0; @@ -1250,14 +1369,6 @@ struct timeval *tp = (struct timeval *)&p8[CREATEPING_IP + CREATEPING_ICMP]; - if (datasize > CREATEPING_MAX) { - SYS_ERR(DSGSN, LOGL_ERROR, 0, - "Ping size to large: %d!", datasize); - return -1; - } - - memcpy(&src, &(pdp->eua.v[2]), 4); /* Copy a 4 byte address */ - pack.ipver = 0x45; pack.tos = 0x00; pack.length = htons(CREATEPING_IP + CREATEPING_ICMP + datasize); @@ -1266,8 +1377,8 @@ pack.ttl = 0x40; pack.protocol = 0x01; pack.ipcheck = 0x0000; - pack.src = src.s_addr; - pack.dst = dst->s_addr; + pack.src = src->v4.s_addr; + pack.dst = dst->v4.s_addr; pack.type = 0x08; pack.code = 0x00; pack.checksum = 0x0000; @@ -1317,6 +1428,73 @@ return gtp_data_req(gsn, pdp, &pack, 28 + datasize); } +static int create_ping6(void *gsn, struct pdp_t *pdp, struct in46_addr *src, + struct in46_addr *dst, int seq, unsigned int datasize) +{ + struct ip6_ping *pack; + uint8_t *p8; + unsigned int n; + struct timezone tz; + struct timeval *tp; + + struct msgb *msg = msgb_alloc_headroom(sizeof(struct ip6_ping) + 128,128, "ICMPv6 echo"); + OSMO_ASSERT(msg); + pack = (struct ip6_ping *) msgb_put(msg, sizeof(struct icmpv6_echo_hdr) + datasize); + pack->hdr.hdr.type = 128; + pack->hdr.hdr.code = 0; + pack->hdr.hdr.csum = 0; /* updated below */ + pack->hdr.ident = 0x0000; + pack->hdr.seq = htons(seq); + + p8 = pack->data; + for (n = 0; n < (datasize); n++) + p8[n] = n; + + if (datasize >= sizeof(struct timeval)) { + tp = (struct timeval *)pack->data; + gettimeofday(tp, &tz); + } + + pack->hdr.hdr.csum = icmpv6_prepend_ip6hdr(msg, &src->v6, &dst->v6); + + ntransmitted++; + return gtp_data_req(gsn, pdp, msgb_data(msg), msgb_length(msg)); +} + +/* Create a new ping packet and send it off to peer. */ +static int create_ping(void *gsn, struct pdp_t *pdp, + struct in46_addr *dst, int seq, unsigned int datasize) +{ + int num_addr; + struct in46_addr addr[2]; + struct in46_addr *src; + + if (datasize > CREATEPING_MAX) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, + "Ping size to large: %d!", datasize); + return -1; + } + + if ((num_addr = in46a_from_eua(&pdp->eua, addr)) < 1) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, + "in46a_from_eua() failed! %d", num_addr); + return -1; + } + if (dst->len == addr[0].len) { + src = &addr[0]; + } else if (num_addr > 1 && dst->len == addr[1].len) { + src = &addr[1]; + } else { + SYS_ERR(DSGSN, LOGL_ERROR, 0, + "Mismaching source and destination IP addr types (%d vs %d)", dst->len, addr[0].len); + return -1; + } + if (in46a_is_v4(dst)) + return create_ping4(gsn, pdp, src, dst, seq, datasize); + else + return create_ping6(gsn, pdp, src, dst, seq, datasize); +} + static int delete_context(struct pdp_t *pdp) { int rc; @@ -1949,7 +2127,7 @@ /* Delete context */ printf("Disconnecting PDP context #%d\n", n); gtp_delete_context_req2(gsn, iparr[n].pdp, NULL, 1); - if ((options.pinghost.s_addr != 0) + if ((options.pinghost.len) && ntransmitted) ping_finish(); } @@ -1959,7 +2137,7 @@ diff = 0; while ((diff <= 0) && /* Send off an ICMP ping packet */ - /*if ( */ (options.pinghost.s_addr) && (2 == state) && + /*if ( */ (options.pinghost.len) && (2 == state) && ((pingseq < options.pingcount) || (options.pingcount == 0))) { if (!pingseq) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17826 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: If9ca7c37a1a397bbc3f8912d67bccdabc4968e0c Gerrit-Change-Number: 17826 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 Apr 15 14:55:57 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 15 Apr 2020 14:55:57 +0000 Subject: Change in osmo-trx[master]: transceiver: get rid of the ctrl threads In-Reply-To: References: Message-ID: Hoernchen has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17805 ) Change subject: transceiver: get rid of the ctrl threads ...................................................................... transceiver: get rid of the ctrl threads There is no need to have n threads handle n ctrl sockets, since they all will immediately respond to commands, so handle them from the existing main osmo select loop. Care must be taken to ensure that calls from within the command handler do not block, or at least don't block too long, which currently is the case. Change-Id: I642a34451e1825eafecf71a902df916ccee7944c --- M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h M Transceiver52M/osmo-trx.cpp 3 files changed, 124 insertions(+), 75 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 36cfa7d..d9bda1d 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -45,6 +45,8 @@ using namespace GSM; +Transceiver *transceiver; + #define USB_LATENCY_INTRVL 10,0 /* Number of running values use in noise average */ @@ -151,20 +153,30 @@ close(mClockSocket); for (size_t i = 0; i < mChans; i++) { - if (mControlServiceLoopThreads[i]) { - mControlServiceLoopThreads[i]->cancel(); - mControlServiceLoopThreads[i]->join(); - delete mControlServiceLoopThreads[i]; - } - mTxPriorityQueues[i].clear(); - if (mCtrlSockets[i] >= 0) - close(mCtrlSockets[i]); if (mDataSockets[i] >= 0) close(mDataSockets[i]); } } +int Transceiver::ctrl_sock_cb(struct osmo_fd *bfd, unsigned int flags) +{ + int rc = 0; + int chan = static_cast(reinterpret_cast(bfd->data)); + + if (flags & OSMO_FD_READ) + rc = transceiver->ctrl_sock_handle_rx(chan); + if (rc < 0) + osmo_signal_dispatch(SS_MAIN, S_MAIN_STOP_REQUIRED, NULL); + + if (flags & OSMO_FD_WRITE) + rc = transceiver->ctrl_sock_write(chan); + if (rc < 0) + osmo_signal_dispatch(SS_MAIN, S_MAIN_STOP_REQUIRED, NULL); + + return rc; +} + /* * Initialize transceiver * @@ -193,8 +205,7 @@ mEdge = edge; mDataSockets.resize(mChans, -1); - mCtrlSockets.resize(mChans, -1); - mControlServiceLoopThreads.resize(mChans); + mCtrlSockets.resize(mChans); mTxPriorityQueueServiceLoopThreads.resize(mChans); mRxServiceLoopThreads.resize(mChans); @@ -216,24 +227,34 @@ return false; for (size_t i = 0; i < mChans; i++) { + int rv; c_srcport = mBasePort + 2 * i + 1; c_dstport = mBasePort + 2 * i + 101; d_srcport = mBasePort + 2 * i + 2; d_dstport = mBasePort + 2 * i + 102; - mCtrlSockets[i] = osmo_sock_init2(AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, + rv = osmo_sock_init2_ofd(&mCtrlSockets[i].conn_bfd, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, mLocalAddr.c_str(), c_srcport, mRemoteAddr.c_str(), c_dstport, OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT); - if (mCtrlSockets[i] < 0) + if (rv < 0) return false; + mCtrlSockets[i].conn_bfd.cb = ctrl_sock_cb; + mCtrlSockets[i].conn_bfd.data = reinterpret_cast(i); + + mDataSockets[i] = osmo_sock_init2(AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, mLocalAddr.c_str(), d_srcport, mRemoteAddr.c_str(), d_dstport, OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT); if (mDataSockets[i] < 0) return false; + + if (i && filler == FILLER_DUMMY) + filler = FILLER_ZERO; + + mStates[i].init(filler, mSPSTx, txFullScale, rtsc, rach_delay); } /* Randomize the central clock */ @@ -243,21 +264,6 @@ mLastClockUpdateTime = startTime; mLatencyUpdateTime = startTime; - /* Start control threads */ - for (size_t i = 0; i < mChans; i++) { - TrxChanThParams *params = (TrxChanThParams *)malloc(sizeof(struct TrxChanThParams)); - params->trx = this; - params->num = i; - mControlServiceLoopThreads[i] = new Thread(stackSize); - mControlServiceLoopThreads[i]->start((void * (*)(void*)) - ControlServiceLoopAdapter, (void*) params); - - if (i && filler == FILLER_DUMMY) - filler = FILLER_ZERO; - - mStates[i].init(filler, mSPSTx, txFullScale, rtsc, rach_delay); - } - return true; } @@ -719,8 +725,6 @@ } -#define MAX_PACKET_LENGTH 100 - /** * Matches a buffer with a command. * @param buf a buffer to look command in @@ -750,27 +754,77 @@ return true; } -bool Transceiver::driveControl(size_t chan) +void Transceiver::ctrl_sock_send(ctrl_msg& m, int chan) { - char buffer[MAX_PACKET_LENGTH + 1]; - char response[MAX_PACKET_LENGTH + 1]; + ctrl_sock_state& s = mCtrlSockets[chan]; + struct osmo_fd *conn_bfd = &s.conn_bfd; + + s.txmsgqueue.push_back(m); + conn_bfd->when |= OSMO_FD_WRITE; +} + +int Transceiver::ctrl_sock_write(int chan) +{ + int rc; + ctrl_sock_state& s = mCtrlSockets[chan]; + + if (s.conn_bfd.fd < 0) { + return -EIO; + } + + while (s.txmsgqueue.size()) { + const ctrl_msg m = s.txmsgqueue.front(); + + s.conn_bfd.when &= ~OSMO_FD_WRITE; + + /* try to send it over the socket */ + rc = write(s.conn_bfd.fd, m.data, strlen(m.data) + 1); + if (rc == 0) + goto close; + if (rc < 0) { + if (errno == EAGAIN) { + s.conn_bfd.when |= OSMO_FD_WRITE; + break; + } + goto close; + } + + s.txmsgqueue.pop_front(); + } + return 0; + +close: + LOGCHAN(chan, DTRXCTRL, NOTICE) << "mCtrlSockets write(" << s.conn_bfd.fd << ") failed: " << rc; + return -1; +} + +int Transceiver::ctrl_sock_handle_rx(int chan) +{ + ctrl_msg cmd_received; + ctrl_msg cmd_to_send; + char *buffer = cmd_received.data; + char *response = cmd_to_send.data; char *command, *params; int msgLen; + ctrl_sock_state& s = mCtrlSockets[chan]; /* Attempt to read from control socket */ - msgLen = read(mCtrlSockets[chan], buffer, MAX_PACKET_LENGTH); + msgLen = read(s.conn_bfd.fd, buffer, sizeof(cmd_received.data)-1); + if (msgLen < 0 && errno == EAGAIN) + return 0; /* Try again later */ if (msgLen <= 0) { - LOGCHAN(chan, DTRXCTRL, NOTICE) << "mCtrlSockets read(" << mCtrlSockets[chan] << ") failed: " << msgLen; - return false; + LOGCHAN(chan, DTRXCTRL, NOTICE) << "mCtrlSockets read(" << s.conn_bfd.fd << ") failed: " << msgLen; + return -EIO; } + /* Zero-terminate received string */ buffer[msgLen] = '\0'; /* Verify a command signature */ if (strncmp(buffer, "CMD ", 4)) { LOGCHAN(chan, DTRXCTRL, NOTICE) << "bogus message on control interface"; - return false; + return -EIO; } /* Set command pointer */ @@ -889,7 +943,7 @@ if ((timeslot < 0) || (timeslot > 7)) { LOGCHAN(chan, DTRXCTRL, NOTICE) << "bogus message on control interface"; sprintf(response,"RSP SETSLOT 1 %d %d",timeslot,corrCode); - return true; + return 0; } mStates[chan].chanType[timeslot] = (ChannelCombination) corrCode; setModulus(timeslot, chan); @@ -921,12 +975,8 @@ } LOGCHAN(chan, DTRXCTRL, INFO) << "response is '" << response << "'"; - msgLen = write(mCtrlSockets[chan], response, strlen(response) + 1); - if (msgLen <= 0) { - LOGCHAN(chan, DTRXCTRL, NOTICE) << "mCtrlSockets write(" << mCtrlSockets[chan] << ") failed: " << msgLen; - return false; - } - return true; + transceiver->ctrl_sock_send(cmd_to_send, chan); + return 0; } bool Transceiver::driveTxPriorityQueue(size_t chan) @@ -1179,28 +1229,6 @@ return NULL; } -void *ControlServiceLoopAdapter(TrxChanThParams *params) -{ - char thread_name[16]; - Transceiver *trx = params->trx; - size_t num = params->num; - - free(params); - - snprintf(thread_name, 16, "CtrlService%zu", num); - set_selfthread_name(thread_name); - - while (1) { - if (!trx->driveControl(num)) { - LOGCHAN(num, DTRXCTRL, FATAL) << "Something went wrong in thread " << thread_name << ", requesting stop"; - osmo_signal_dispatch(SS_MAIN, S_MAIN_STOP_REQUIRED, NULL); - break; - } - pthread_testcancel(); - } - return NULL; -} - void *TxUpperLoopAdapter(TrxChanThParams *params) { char thread_name[16]; diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h index ed063dd..6e0d157 100644 --- a/Transceiver52M/Transceiver.h +++ b/Transceiver52M/Transceiver.h @@ -33,11 +33,14 @@ extern "C" { #include +#include #include "config_defs.h" } class Transceiver; +extern Transceiver *transceiver; + /** Channel descriptor for transceiver object and channel number pair */ struct TrxChanThParams { Transceiver *trx; @@ -142,12 +145,33 @@ } ChannelCombination; private: + +struct ctrl_msg { + char data[101]; + ctrl_msg() {}; +}; + +struct ctrl_sock_state { + osmo_fd conn_bfd; + std::deque txmsgqueue; + ctrl_sock_state() { + conn_bfd.fd = -1; + } + ~ctrl_sock_state() { + if(conn_bfd.fd >= 0) { + close(conn_bfd.fd); + conn_bfd.fd = -1; + osmo_fd_unregister(&conn_bfd); + } + } +}; + int mBasePort; std::string mLocalAddr; std::string mRemoteAddr; std::vector mDataSockets; ///< socket for writing to/reading from GSM core - std::vector mCtrlSockets; ///< socket for writing/reading control commands from GSM core + std::vector mCtrlSockets; ///< socket for writing/reading control commands from GSM core int mClockSocket; ///< socket for writing clock updates to GSM core std::vector mTxPriorityQueues; ///< priority queue of transmit bursts received from GSM core @@ -156,7 +180,6 @@ std::vector mRxServiceLoopThreads; ///< thread to pull bursts into receive FIFO Thread *mRxLowerLoopThread; ///< thread to pull bursts into receive FIFO Thread *mTxLowerLoopThread; ///< thread to push bursts into transmit FIFO - std::vector mControlServiceLoopThreads; ///< thread to process control messages from GSM core std::vector mTxPriorityQueueServiceLoopThreads; ///< thread to process transmit bursts from GSM core GSM::Time mTransmitLatency; ///< latency between basestation clock and transmit deadline clock @@ -193,6 +216,12 @@ /** send messages over the clock socket */ bool writeClockInterface(void); + static int ctrl_sock_cb(struct osmo_fd *bfd, unsigned int flags); + int ctrl_sock_write(int chan); + void ctrl_sock_send(ctrl_msg& m, int chan); + /** drive handling of control messages from GSM core */ + int ctrl_sock_handle_rx(int chan); + int mSPSTx; ///< number of samples per Tx symbol int mSPSRx; ///< number of samples per Rx symbol size_t mChans; @@ -229,9 +258,6 @@ /** drive transmission of GSM bursts */ void driveTxFIFO(); - /** drive handling of control messages from GSM core */ - bool driveControl(size_t chan); - /** drive modulation and sorting of GSM bursts from GSM core @return true if a burst was transferred successfully @@ -242,7 +268,6 @@ friend void *TxUpperLoopAdapter(TrxChanThParams *params); friend void *RxLowerLoopAdapter(Transceiver *transceiver); friend void *TxLowerLoopAdapter(Transceiver *transceiver); - friend void *ControlServiceLoopAdapter(TrxChanThParams *params); void reset(); @@ -256,8 +281,5 @@ void *RxLowerLoopAdapter(Transceiver *transceiver); void *TxLowerLoopAdapter(Transceiver *transceiver); -/** control message handler thread loop */ -void *ControlServiceLoopAdapter(TrxChanThParams *params); - /** transmit queueing thread loop */ void *TxUpperLoopAdapter(TrxChanThParams *params); diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index 0ad60ef..9f625eb 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -79,7 +79,6 @@ static RadioDevice *usrp; static RadioInterface *radio; -static Transceiver *transceiver; /* Create radio interface * The interface consists of sample rate changes, frequency shifts, -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642a34451e1825eafecf71a902df916ccee7944c Gerrit-Change-Number: 17805 Gerrit-PatchSet: 8 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 Apr 15 15:21:45 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Wed, 15 Apr 2020 15:21:45 +0000 Subject: Change in pysim[master]: cards.py: added read_sst_raw and read_sst methods References: Message-ID: guilly at gmail.com has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17827 ) Change subject: cards.py: added read_sst_raw and read_sst methods ...................................................................... cards.py: added read_sst_raw and read_sst methods read_sst generates a an array of strings of the form service N: service name it simply calls read_sst_raw and parses it read_sst_raw generates a string consisting of an array of bits, ordered from 1 to N Change-Id: I4e85b3e6c25ede4ad4c3c46db83f8314864a036f --- M pySim/cards.py 1 file changed, 25 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/27/17827/1 diff --git a/pySim/cards.py b/pySim/cards.py index d27092d..d155e9f 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -226,6 +226,31 @@ except Exception as e: print("Can't read AIDs from SIM -- %s" % (str(e),)) + def read_sst_raw(self): + try: + (res, sw) = self._scc.read_binary(EF['SST']) + if sw == '9000': + return (res, sw) + else: + return (None, sw) + except Exception as e: + print("Can't read AIDs from SIM -- %s" % (str(e),)) + + def read_sst(self): + (res, sw) = self.read_sst_raw() + if sw == '9000': + res_mapped = [] + supported_services='' + for i in range(len(res)/2): + bitmask ='{0:08b}'.format(int(res[2*i:2*i+2],16)) + supported_services += bitmask[::-1] + + res_mapped = [ "Service #{0:03d} - {1}".format(i,service) + for i, service in EF_SST_map.items() if supported_services[i] == '1'] + return (res_mapped, sw) + else: + return (None, sw) + class _MagicSimBase(Card): """ -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4e85b3e6c25ede4ad4c3c46db83f8314864a036f Gerrit-Change-Number: 17827 Gerrit-PatchSet: 1 Gerrit-Owner: guilly at gmail.com Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 15 18:02:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 15 Apr 2020 18:02:11 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Fix assumption ipv6 Interface-Identifier of public addr == a... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17828 ) Change subject: sgsnemu: Fix assumption ipv6 Interface-Identifier of public addr == announced Prefix ...................................................................... sgsnemu: Fix assumption ipv6 Interface-Identifier of public addr == announced Prefix Until now, sgsnemu was able to identify pdp contexts of incoming packets in the tun based on the assumption that the Interface-Identifier part of public IPv6 addresses in incoming packets was equal to the announced prefix path during Create Pdp Context Response (see changes in cb_tun_ind()). This assumption works fine with osmo-ggsn due to implementation details but breaks on other spec-conformant GGSNs. In order to fix it, a new placeholder struct pdp_peer_sgsnemu_ctx is introduced which will be assigned to each pdp_t "peer[0]" user-defined pointer. This way, each pdp_t ctx upgrades from having only 1 iphash_t item to 3 (hence being able to match against 3 different ip addresses). This way, in IPv6 we can match against 2 different IP addresses set on the tun iface: * link-local: "fe80::IfId", where IfId is the Interface-Identifier received during Pdp Context Resp and which can be used to communicate with the nearest router (the GGSN). * global: The global IPv6 addr set after SLAAC procedure, containing a the prefix announced by CreatePdpContextResp/RouterAdvertisement and an Interface-Identifier chosen by sgsnemu itself (currently ::ff). This change is also a step forward towards supporting IPv4v6 APNs in sgsnemu. Related: OS#4434 Change-Id: I0d36145250185e4cce699fdaedfe96bd969f5fa1 --- M sgsnemu/sgsnemu.c 1 file changed, 53 insertions(+), 41 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/28/17828/1 diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 779c887..71af735 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -64,15 +64,23 @@ #define MAXCONTEXTS 1024 /* Max number of allowed contexts */ /* HASH tables for IP address allocation */ +struct pdp_peer_sgsnemu_ctx; struct iphash_t { uint8_t inuse; /* 0=free. 1=used by somebody */ struct iphash_t *ipnext; - struct pdp_t *pdp; + struct pdp_peer_sgsnemu_ctx *ctx; struct in46_addr addr; }; -struct iphash_t iparr[MAXCONTEXTS]; struct iphash_t *iphash[MAXCONTEXTS]; +struct pdp_peer_sgsnemu_ctx { + struct iphash_t hash_v4; + struct iphash_t hash_v6_ll; + struct iphash_t hash_v6_global; + struct pdp_t *pdp; +}; +struct pdp_peer_sgsnemu_ctx ctx_arr[MAXCONTEXTS]; + /* State variable used for ping */ /* 0: Idle */ /* 1: Wait_connect */ @@ -189,6 +197,9 @@ int hash = ippool_hash(addr) % MAXCONTEXTS; struct iphash_t *h; struct iphash_t *prev = NULL; + + printf("Adding IP to local pool: %s\n", in46a_ntoa(addr)); + ipaddr->ipnext = NULL; ipaddr->addr = *addr; for (h = iphash[hash]; h; h = h->ipnext) @@ -1552,19 +1563,8 @@ src.len = 4; src.v4.s_addr = iph->saddr; } else if (iph->version == 6) { - /* We only have a single entry in the hash table, and it consists of the link-local - * address "fe80::prefix". So we need to make sure to convert non-link-local source - * addresses to that format before looking up the hash table via ippool_getip() */ src.len = 16; - if (!memcmp(ip6h->ip6_src.s6_addr, ll_prefix, sizeof(ll_prefix))) { - /* is a link-local address, we can do the hash lookup 1:1 */ - src.v6 = ip6h->ip6_src; - } else { - /* it is not a link-local address, so we must convert from the /64 prefix - * to the link-local format that's used in the hash table */ - memcpy(&src.v6.s6_addr[0], ll_prefix, sizeof(ll_prefix)); - memcpy(&src.v6.s6_addr[sizeof(ll_prefix)], ip6h->ip6_src.s6_addr, 16-sizeof(ll_prefix)); - } + src.v6 = ip6h->ip6_src; } else { printf("Dropping packet with invalid IP version %u\n", iph->version); return 0; @@ -1576,8 +1576,8 @@ return 0; } - if (ipm->pdp) /* Check if a peer protocol is defined */ - gtp_data_req(gsn, ipm->pdp, pack, len); + if (ipm->ctx->pdp) /* Check if a peer protocol is defined */ + gtp_data_req(gsn, ipm->ctx->pdp, pack, len); return 0; } @@ -1589,19 +1589,19 @@ sigset_t oldmask; #endif - struct iphash_t *iph = (struct iphash_t *)cbp; + struct pdp_peer_sgsnemu_ctx *ctx = (struct pdp_peer_sgsnemu_ctx *) cbp; if (cause < 0) { printf("Create PDP Context Request timed out\n"); - if (iph->pdp->version == 1) { + if (ctx->pdp->version == 1) { printf("Retrying with version 0\n"); - iph->pdp->version = 0; - gtp_create_context_req(gsn, iph->pdp, iph); + ctx->pdp->version = 0; + gtp_create_context_req(gsn, ctx->pdp, ctx); return 0; } else { state = 0; - pdp_freepdp(iph->pdp); - iph->pdp = NULL; + pdp_freepdp(ctx->pdp); + ctx->pdp = NULL; return EOF; } } @@ -1611,8 +1611,8 @@ ("Received create PDP context response. Cause value: %d\n", cause); state = 0; - pdp_freepdp(iph->pdp); - iph->pdp = NULL; + pdp_freepdp(ctx->pdp); + ctx->pdp = NULL; return EOF; /* Not what we expected */ } @@ -1620,8 +1620,8 @@ printf ("Received create PDP context response. Cause value: %d\n", cause); - pdp_freepdp(iph->pdp); - iph->pdp = NULL; + pdp_freepdp(ctx->pdp); + ctx->pdp = NULL; state = 0; return EOF; /* Not a valid IP address */ } @@ -1643,13 +1643,18 @@ switch (addr[i].len) { case 16: /* IPv6 */ - /* we have to enable the kernel to perform stateless autoconfiguration, - * i.e. send a router solicitation using the lover 64bits of the allocated - * EUA as interface identifier, as per 3GPP TS 29.061 Section 11.2.1.3.2 */ + /* Convert address to link local using the lower 64bits + of the allocated EUA as Interface-Identifier to + send router solicitation, as per 3GPP TS 29.061 + Section 11.2.1.3.2 */ memcpy(addr[i].v6.s6_addr, ll_prefix, sizeof(ll_prefix)); printf("Derived IPv6 link-local address: %s\n", in46a_ntoa(&addr[i])); + ctx->hash_v6_ll.inuse = 1; + ipset(&ctx->hash_v6_ll, &addr[i]); break; case 4: /* IPv4 */ + ctx->hash_v4.inuse = 1; + ipset(&ctx->hash_v4, &addr[i]); break; } @@ -1671,8 +1676,6 @@ if (options.ipup) tun_runscript(tun, options.ipup); } - - ipset(iph, &addr[i]); } if (options.createif && options.pdp_type == PDP_EUA_TYPE_v6) { @@ -1688,7 +1691,7 @@ } SYS_ERR(DSGSN, LOGL_INFO, 0, "Sending ICMPv6 Router Soliciation to GGSN..."); msg = icmpv6_construct_rs(saddr6); - gtp_data_req(gsn, iph->pdp, msgb_data(msg), msgb_length(msg)); + gtp_data_req(gsn, ctx->pdp, msgb_data(msg), msgb_length(msg)); msgb_free(msg); } @@ -1753,8 +1756,9 @@ } } -static void handle_router_adv(struct ip6_hdr *ip6h, struct icmpv6_radv_hdr *ra, size_t ra_len) +static void handle_router_adv(struct pdp_t *pdp, struct ip6_hdr *ip6h, struct icmpv6_radv_hdr *ra, size_t ra_len) { + struct pdp_peer_sgsnemu_ctx* ctx = (struct pdp_peer_sgsnemu_ctx*)pdp->peer[0]; struct icmpv6_opt_hdr *opt_hdr; struct icmpv6_opt_prefix *opt_prefix; int rc; @@ -1780,6 +1784,12 @@ addr.v6.s6_addr[15] = 0x02; SYS_ERR(DSGSN, LOGL_INFO, 0, "Adding addr %s to tun %s", in46a_ntoa(&addr), tun->devname); + if (!ctx->hash_v6_global.inuse) { + ctx->hash_v6_global.inuse = 1; + ipset(&ctx->hash_v6_global, &addr); + } else { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "First v6 global address in hash already in use!"); + } #if defined(__linux__) if ((options.netns)) { @@ -1824,7 +1834,7 @@ case 6: if ((ra = icmpv6_validate_router_adv(pack, len))) { size_t ra_len = (uint8_t*)ra - (uint8_t*)pack; - handle_router_adv((struct ip6_hdr *)pack, ra, ra_len); + handle_router_adv(pdp, (struct ip6_hdr *)pack, ra, ra_len); return 0; } break; @@ -1965,7 +1975,7 @@ /* Initialise hash tables */ memset(&iphash, 0, sizeof(iphash)); - memset(&iparr, 0, sizeof(iparr)); + memset(&ctx_arr, 0, sizeof(ctx_arr)); printf("Done initialising GTP library\n\n"); @@ -1977,7 +1987,6 @@ for (n = 0; n < options.contexts; n++) { uint64_t myimsi; printf("Setting up PDP context #%d\n", n); - iparr[n].inuse = 1; /* TODO */ imsi_add(options.imsi, &myimsi, n); @@ -1986,9 +1995,12 @@ /* Otherwise it is deallocated by gtplib */ gtp_pdp_newpdp(gsn, &pdp, myimsi, options.nsapi, NULL); - pdp->peer[0] = &iparr[n]; /* FIXME: support v4v6, have 2 peers */ + pdp->peer[0] = &ctx_arr[n]; pdp->ipif = tun; /* TODO */ - iparr[n].pdp = pdp; + ctx_arr[n].pdp = pdp; + ctx_arr[n].hash_v4.ctx = &ctx_arr[n]; + ctx_arr[n].hash_v6_ll.ctx = &ctx_arr[n]; + ctx_arr[n].hash_v6_global.ctx = &ctx_arr[n]; if (options.gtpversion == 0) { if (options.qos.l - 1 > sizeof(pdp->qos_req0)) { @@ -2076,7 +2088,7 @@ /* Create context */ /* We send this of once. Retransmissions are handled by gtplib */ - gtp_create_context_req(gsn, pdp, &iparr[n]); + gtp_create_context_req(gsn, pdp, &ctx_arr[n]); } state = 1; /* Enter wait_connection state */ @@ -2126,7 +2138,7 @@ for (n = 0; n < options.contexts; n++) { /* Delete context */ printf("Disconnecting PDP context #%d\n", n); - gtp_delete_context_req2(gsn, iparr[n].pdp, NULL, 1); + gtp_delete_context_req2(gsn, ctx_arr[n].pdp, NULL, 1); if ((options.pinghost.len) && ntransmitted) ping_finish(); @@ -2148,7 +2160,7 @@ if (options.debug) printf("Create_ping %d\n", diff); create_ping(gsn, - iparr[pingseq % + ctx_arr[pingseq % options.contexts].pdp, &options.pinghost, pingseq, options.pingsize); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17828 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I0d36145250185e4cce699fdaedfe96bd969f5fa1 Gerrit-Change-Number: 17828 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 Apr 15 18:16:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 15 Apr 2020 18:16:50 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Implement ping on IPv6 APNs 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/+/17826 to look at the new patch set (#2). Change subject: sgsnemu: Implement ping on IPv6 APNs ...................................................................... sgsnemu: Implement ping on IPv6 APNs Related: OS#4434 Change-Id: If9ca7c37a1a397bbc3f8912d67bccdabc4968e0c --- M lib/icmpv6.c M lib/icmpv6.h M sgsnemu/sgsnemu.c 3 files changed, 234 insertions(+), 51 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/26/17826/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17826 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: If9ca7c37a1a397bbc3f8912d67bccdabc4968e0c Gerrit-Change-Number: 17826 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 Apr 15 20:09:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 15 Apr 2020 20:09:23 +0000 Subject: Change in osmo-uecups[master]: add jenkins.sh References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17829 ) Change subject: add jenkins.sh ...................................................................... add jenkins.sh Change-Id: I5de3a4ee209ae78346aaa4ce5734b5ef213e5c07 --- A contrib/jenkins.sh 1 file changed, 34 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/29/17829/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh new file mode 100755 index 0000000..f455fcc --- /dev/null +++ b/contrib/jenkins.sh @@ -0,0 +1,34 @@ +#!/bin/sh +# jenkins build helper script for osmocom-bb. This is how we build on jenkins.osmocom.org + +set -ex + +base="$PWD" +deps="$base/deps" +inst="$deps/install" +export deps inst + +osmo-clean-workspace.sh + +mkdir "$deps" || true + +osmo-build-dep.sh libosmocore "" ac_cv_path_DOXYGEN=false +osmo-build-dep.sh libosmo-abis "" ac_cv_path_DOXYGEN=false +osmo-build-dep.sh libosmo-netif "" ac_cv_path_DOXYGEN=false + +export PKG_CONFIG_PATH="$inst/lib/pkgconfig:$PKG_CONFIG_PATH" +export LD_LIBRARY_PATH="$inst/lib" + +set +x +echo +echo +echo +echo " =============================== osmo-uecups =============================" +echo +set -x + +cd daemon +make + +osmo-clean-workspace.sh + -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17829 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I5de3a4ee209ae78346aaa4ce5734b5ef213e5c07 Gerrit-Change-Number: 17829 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 Wed Apr 15 20:36:13 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 15 Apr 2020 20:36:13 +0000 Subject: Change in osmo-pcu[master]: HACK: always assign TAI=0 on PTCCH/U, check SAPI of PH-RA.ind References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17830 ) Change subject: HACK: always assign TAI=0 on PTCCH/U, check SAPI of PH-RA.ind ...................................................................... HACK: always assign TAI=0 on PTCCH/U, check SAPI of PH-RA.ind Change-Id: I5aadff0d019c7e1cb78ce0327c11f83773fcc7f5 --- M src/encoding.cpp M src/osmo-bts-sysmo/sysmo_l1_if.c 2 files changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/30/17830/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index a4a14dd..34d6279 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -118,6 +118,9 @@ { int rc; + /* HACK: always assign TAI=0 (for testing purposes) */ + tai = 0x00; + if (tai < 0) { /* No TIMING_ADVANCE_INDEX: */ SET_0(dest); } else { /* TIMING_ADVANCE_INDEX: */ @@ -131,6 +134,8 @@ static inline bool write_tai(bitvec *dest, unsigned& wp, int8_t tai) { + /* HACK: always assign TAI=0 (for testing purposes) */ + tai = 0x00; if (tai < 0) { /* No TIMING_ADVANCE_INDEX: */ bitvec_write_field(dest, &wp, 0, 1); return false; diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.c b/src/osmo-bts-sysmo/sysmo_l1_if.c index 0ab0808..f335218 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_if.c +++ b/src/osmo-bts-sysmo/sysmo_l1_if.c @@ -237,6 +237,12 @@ DEBUGP(DL1IF, "Rx PH-RA.ind"); + /* Check SAPI of PTCCH/U (TAI=0) */ + if (ra_ind->u32Fn % 416 == 12) { + LOGP(DL1IF, LOGL_FATAL, "========= Rx PTCCH/U (TAI=0) on fn=%u sapi=%s\n", + ra_ind->u32Fn, get_value_string(femtobts_l1sapi_names, ra_ind->sapi)); + } + switch (ra_ind->sapi) { case GsmL1_Sapi_Pdtch: case GsmL1_Sapi_Prach: -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17830 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5aadff0d019c7e1cb78ce0327c11f83773fcc7f5 Gerrit-Change-Number: 17830 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 Apr 16 05:15:56 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 16 Apr 2020 05:15:56 +0000 Subject: Change in pysim[master]: Add ability to parse SIM Service Table (EF.SST) References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17831 ) Change subject: Add ability to parse SIM Service Table (EF.SST) ...................................................................... Add ability to parse SIM Service Table (EF.SST) As per TS.51.011, This EF indicates which services in the SIM are allocated, and whether, if allocated, the service is activated .If a service is not indicated as available in the SIM, the ME shall not select this service. Change-Id: Id28a35727adbaaa9df19b1adc621a0c51ad0e51b --- M pySim-read.py M pySim/cards.py 2 files changed, 24 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/31/17831/1 diff --git a/pySim-read.py b/pySim-read.py index 98a2e81..c04fa1b 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -28,7 +28,7 @@ import random import re import sys -from pySim.ts_51_011 import EF, DF +from pySim.ts_51_011 import EF, DF, EF_SST_map from pySim.commands import SimCardCommands from pySim.cards import card_detect, Card @@ -219,5 +219,19 @@ else: print("AD: Can't read, response code = %s" % (sw,)) + # EF.SST + (res, sw) = card.read_sst() + if sw == '9000': + # (st_hex, avail_src_list) = res + # st_hex - Service Table in hex format + # avail_src_list - List of services available + print("SIM Service Table: %s" % res[0]) + # Print those which are available + for s in res[1]: + if s in EF_SST_map: + print('Service %d - %s: %s' % (s, EF_SST_map[s], s in res[1])) + else: + print("SIM Service Table: Can't read, response code = %s" % (sw,)) + # Done for this card and maybe for everything ? print("Done !\n") diff --git a/pySim/cards.py b/pySim/cards.py index d27092d..a12b111 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -188,7 +188,15 @@ else: return (None, sw) - # Read the (full) AID for either ISIM or USIM application + # Read SIM Service table + def read_sst(self): + (res, sw) = self._scc.read_binary(EF['SST']) + if sw == '9000': + return ((res, parse_st(res)), sw) + else: + return (None, sw) + + # Read the (full) AID for either ISIM or USIM or ISIM application def read_aid(self, isim = False): # First (known) halves of the AID -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id28a35727adbaaa9df19b1adc621a0c51ad0e51b Gerrit-Change-Number: 17831 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 16 05:23:18 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 16 Apr 2020 05:23:18 +0000 Subject: Change in pysim[master]: Add ability to parse SIM Service Table (EF.SST) 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/+/17831 to look at the new patch set (#2). Change subject: Add ability to parse SIM Service Table (EF.SST) ...................................................................... Add ability to parse SIM Service Table (EF.SST) As per TS.51.011, This EF indicates which services in the SIM are allocated, and whether, if allocated, the service is activated .If a service is not indicated as available in the SIM, the ME shall not select this service. Change-Id: Id28a35727adbaaa9df19b1adc621a0c51ad0e51b --- M pySim-read.py M pySim/cards.py M pysim-testdata/sysmosim-gr1.ok 3 files changed, 57 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/31/17831/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id28a35727adbaaa9df19b1adc621a0c51ad0e51b Gerrit-Change-Number: 17831 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 16 05:32:38 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 16 Apr 2020 05:32:38 +0000 Subject: Change in pysim[master]: Add ability to parse SIM Service Table (EF.SST) 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/+/17831 to look at the new patch set (#3). Change subject: Add ability to parse SIM Service Table (EF.SST) ...................................................................... Add ability to parse SIM Service Table (EF.SST) As per TS.51.011, This EF indicates which services in the SIM are allocated, and whether, if allocated, the service is activated .If a service is not indicated as available in the SIM, the ME shall not select this service. Change-Id: Id28a35727adbaaa9df19b1adc621a0c51ad0e51b --- M pySim-read.py M pySim/cards.py M pysim-testdata/Fairwaves-SIM.ok M pysim-testdata/sysmoISIM-SJA2.ok M pysim-testdata/sysmoUSIM-SJS1.ok M pysim-testdata/sysmosim-gr1.ok 6 files changed, 189 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/31/17831/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id28a35727adbaaa9df19b1adc621a0c51ad0e51b Gerrit-Change-Number: 17831 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 16 05:35:25 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 16 Apr 2020 05:35:25 +0000 Subject: Change in pysim[master]: Add ability to parse SIM Service Table (EF.SST) 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/+/17831 to look at the new patch set (#4). Change subject: Add ability to parse SIM Service Table (EF.SST) ...................................................................... Add ability to parse SIM Service Table (EF.SST) As per TS.51.011, This EF indicates which services in the SIM are allocated, and whether, if allocated, the service is activated .If a service is not indicated as available in the SIM, the ME shall not select this service. Change-Id: Id28a35727adbaaa9df19b1adc621a0c51ad0e51b --- M pySim-read.py M pySim/cards.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 pysim-testdata/sysmosim-gr1.ok 7 files changed, 229 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/31/17831/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id28a35727adbaaa9df19b1adc621a0c51ad0e51b Gerrit-Change-Number: 17831 Gerrit-PatchSet: 4 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 16 05:38:45 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 16 Apr 2020 05:38:45 +0000 Subject: Change in pysim[master]: Add ability to parse SIM Service Table (EF.SST) 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/+/17831 to look at the new patch set (#5). Change subject: Add ability to parse SIM Service Table (EF.SST) ...................................................................... Add ability to parse SIM Service Table (EF.SST) As per TS.51.011, This EF indicates which services in the SIM are allocated, and whether, if allocated, the service is activated .If a service is not indicated as available in the SIM, the ME shall not select this service. Change-Id: Id28a35727adbaaa9df19b1adc621a0c51ad0e51b --- M pySim-read.py M pySim/cards.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 8 files changed, 264 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/31/17831/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id28a35727adbaaa9df19b1adc621a0c51ad0e51b Gerrit-Change-Number: 17831 Gerrit-PatchSet: 5 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 16 05:43:00 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 16 Apr 2020 05:43:00 +0000 Subject: Change in pysim[master]: Add ability to parse SIM Service Table (EF.SST) In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17831 ) Change subject: Add ability to parse SIM Service Table (EF.SST) ...................................................................... Patch Set 5: Regarding this commit, I would like to have your opinion whether its okay to print all the available services in SIM Service table or not. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id28a35727adbaaa9df19b1adc621a0c51ad0e51b Gerrit-Change-Number: 17831 Gerrit-PatchSet: 5 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 16 Apr 2020 05:43: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 Thu Apr 16 05:43:51 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 16 Apr 2020 05:43:51 +0000 Subject: Change in pysim[master]: Define mapping between USIM Service Number and its description References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17832 ) Change subject: Define mapping between USIM Service Number and its description ...................................................................... Define mapping between USIM Service Number and its description This commit introduces a lookup table which maps USIM Service Number to its description. The mapping is defined in 3GPP TS 31.102 version 13.4.0 Release 13, 4.2.8 EF.UST (USIM Service Table) Change-Id: Ia9025a4be6ba29fe79ca4bf6c7a452188ea3d454 --- A pySim/ts_31_102.py 1 file changed, 138 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/32/17832/1 diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py new file mode 100644 index 0000000..9f5abe9 --- /dev/null +++ b/pySim/ts_31_102.py @@ -0,0 +1,138 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +Various constants from ETSI TS 131 102 +""" + +# +# Copyright (C) 2020 Supreeth Herle +# +# 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 . +# + +# Mapping between USIM Service Number and its description +EF_UST_map = { + 1: 'Local Phone Book', + 2: 'Fixed Dialling Numbers (FDN)', + 3: 'Extension 2', + 4: 'Service Dialling Numbers (SDN)', + 5: 'Extension3', + 6: 'Barred Dialling Numbers (BDN)', + 7: 'Extension4', + 8: 'Outgoing Call Information (OCI and OCT)', + 9: 'Incoming Call Information (ICI and ICT)', + 10: 'Short Message Storage (SMS)', + 11: 'Short Message Status Reports (SMSR)', + 12: 'Short Message Service Parameters (SMSP)', + 13: 'Advice of Charge (AoC)', + 14: 'Capability Configuration Parameters 2 (CCP2)', + 15: 'Cell Broadcast Message Identifier', + 16: 'Cell Broadcast Message Identifier Ranges', + 17: 'Group Identifier Level 1', + 18: 'Group Identifier Level 2', + 19: 'Service Provider Name', + 20: 'User controlled PLMN selector with Access Technology', + 21: 'MSISDN', + 22: 'Image (IMG)', + 23: 'Support of Localised Service Areas (SoLSA)', + 24: 'Enhanced Multi-Level Precedence and Pre-emption Service', + 25: 'Automatic Answer for eMLPP', + 26: 'RFU', + 27: 'GSM Access', + 28: 'Data download via SMS-PP', + 29: 'Data download via SMS-CB', + 30: 'Call Control by USIM', + 31: 'MO-SMS Control by USIM', + 32: 'RUN AT COMMAND command', + 33: 'shall be set to 1', + 34: 'Enabled Services Table', + 35: 'APN Control List (ACL)', + 36: 'Depersonalisation Control Keys', + 37: 'Co-operative Network List', + 38: 'GSM security context', + 39: 'CPBCCH Information', + 40: 'Investigation Scan', + 41: 'MexE', + 42: 'Operator controlled PLMN selector with Access Technology', + 43: 'HPLMN selector with Access Technology', + 44: 'Extension 5', + 45: 'PLMN Network Name', + 46: 'Operator PLMN List', + 47: 'Mailbox Dialling Numbers', + 48: 'Message Waiting Indication Status', + 49: 'Call Forwarding Indication Status', + 50: 'Reserved and shall be ignored', + 51: 'Service Provider Display Information', + 52: 'Multimedia Messaging Service (MMS)', + 53: 'Extension 8', + 54: 'Call control on GPRS by USIM', + 55: 'MMS User Connectivity Parameters', + 56: 'Network\'s indication of alerting in the MS (NIA)', + 57: 'VGCS Group Identifier List (EFVGCS and EFVGCSS)', + 58: 'VBS Group Identifier List (EFVBS and EFVBSS)', + 59: 'Pseudonym', + 60: 'User Controlled PLMN selector for I-WLAN access', + 61: 'Operator Controlled PLMN selector for I-WLAN access', + 62: 'User controlled WSID list', + 63: 'Operator controlled WSID list', + 64: 'VGCS security', + 65: 'VBS security', + 66: 'WLAN Reauthentication Identity', + 67: 'Multimedia Messages Storage', + 68: 'Generic Bootstrapping Architecture (GBA)', + 69: 'MBMS security', + 70: 'Data download via USSD and USSD application mode', + 71: 'Equivalent HPLMN', + 72: 'Additional TERMINAL PROFILE after UICC activation', + 73: 'Equivalent HPLMN Presentation Indication', + 74: 'Last RPLMN Selection Indication', + 75: 'OMA BCAST Smart Card Profile', + 76: 'GBA-based Local Key Establishment Mechanism', + 77: 'Terminal Applications', + 78: 'Service Provider Name Icon', + 79: 'PLMN Network Name Icon', + 80: 'Connectivity Parameters for USIM IP connections', + 81: 'Home I-WLAN Specific Identifier List', + 82: 'I-WLAN Equivalent HPLMN Presentation Indication', + 83: 'I-WLAN HPLMN Priority Indication', + 84: 'I-WLAN Last Registered PLMN', + 85: 'EPS Mobility Management Information', + 86: 'Allowed CSG Lists and corresponding indications', + 87: 'Call control on EPS PDN connection by USIM', + 88: 'HPLMN Direct Access', + 89: 'eCall Data', + 90: 'Operator CSG Lists and corresponding indications', + 91: 'Support for SM-over-IP', + 92: 'Support of CSG Display Control', + 93: 'Communication Control for IMS by USIM', + 94: 'Extended Terminal Applications', + 95: 'Support of UICC access to IMS', + 96: 'Non-Access Stratum configuration by USIM', + 97: 'PWS configuration by USIM', + 98: 'RFU', + 99: 'URI support by UICC', + 100: 'Extended EARFCN support', + 101: 'ProSe', + 102: 'USAT Application Pairing', + 103: 'Media Type support', + 104: 'IMS call disconnection cause', + 105: 'URI support for MO SHORT MESSAGE CONTROL', + 106: 'ePDG configuration Information support', + 107: 'ePDG configuration Information configured', + 108: 'ACDC support', + 109: 'MCPTT', + 110: 'ePDG configuration Information for Emergency Service support', + 111: 'ePDG configuration Information for Emergency Service configured', +} \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia9025a4be6ba29fe79ca4bf6c7a452188ea3d454 Gerrit-Change-Number: 17832 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 16 05:44:43 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 16 Apr 2020 05:44:43 +0000 Subject: Change in pysim[master]: Populate AIDs present on the UICC References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17833 ) Change subject: Populate AIDs present on the UICC ...................................................................... Populate AIDs present on the UICC Change-Id: I4d0d8f5f1e8cb252be55a2995b730927cfa7004d --- M pySim-read.py 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/33/17833/1 diff --git a/pySim-read.py b/pySim-read.py index 31a3374..4b3b1be 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -98,6 +98,9 @@ # Initialize Card object by auto detecting the card card = card_detect("auto", scc) or Card(scc) + # Read all AIDs on the UICC + card.read_aids() + # EF.ICCID (res, sw) = card.read_iccid() if sw == '9000': -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4d0d8f5f1e8cb252be55a2995b730927cfa7004d Gerrit-Change-Number: 17833 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 16 05:51:04 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 16 Apr 2020 05:51:04 +0000 Subject: Change in pysim[master]: Populate AIDs present on the UICC 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/+/17833 to look at the new patch set (#2). Change subject: Populate AIDs present on the UICC ...................................................................... Populate AIDs present on the UICC Change-Id: I4d0d8f5f1e8cb252be55a2995b730927cfa7004d --- M pySim-read.py M pysim-testdata/sysmosim-gr1.ok 2 files changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/33/17833/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4d0d8f5f1e8cb252be55a2995b730927cfa7004d Gerrit-Change-Number: 17833 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 16 05:55:36 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 16 Apr 2020 05:55:36 +0000 Subject: Change in pysim[master]: Populate AIDs present on the UICC 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/+/17833 to look at the new patch set (#3). Change subject: Populate AIDs present on the UICC ...................................................................... Populate AIDs present on the UICC Change-Id: I4d0d8f5f1e8cb252be55a2995b730927cfa7004d --- M pySim-read.py M pysim-testdata/fakemagicsim.ok M pysim-testdata/sysmosim-gr1.ok 3 files changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/33/17833/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4d0d8f5f1e8cb252be55a2995b730927cfa7004d Gerrit-Change-Number: 17833 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 16 05:58:50 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 16 Apr 2020 05:58:50 +0000 Subject: Change in pysim[master]: cards.py: Added method to select ADF by its full AID References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17834 ) Change subject: cards.py: Added method to select ADF by its full AID ...................................................................... cards.py: Added method to select ADF by its full AID If AID of the desired ADF is in the list of AIDs of the Card/Card subclass object then ADF is selected or else None is returned Change-Id: Ie5f29eec14f099add1d0978e3e7d4ed3c9130854 --- M pySim-read.py M pySim/cards.py 2 files changed, 19 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/34/17834/1 diff --git a/pySim-read.py b/pySim-read.py index 4b3b1be..3e25c76 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -236,5 +236,6 @@ else: print("SIM Service Table: Can't read, response code = %s" % (sw,)) + # Done for this card and maybe for everything ? print("Done !\n") diff --git a/pySim/cards.py b/pySim/cards.py index a12b111..c0462fb 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -234,6 +234,24 @@ except Exception as e: print("Can't read AIDs from SIM -- %s" % (str(e),)) + # Select ADF.U/ISIM in the Card using its full AID + def select_adf_by_aid(self, adf="usim"): + # Check for valid ADF name + if adf not in ["usim", "isim"]: + return None + + # 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: + (res, sw) = self._scc.select_adf(aid) + return sw + + return None + class _MagicSimBase(Card): """ -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17834 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie5f29eec14f099add1d0978e3e7d4ed3c9130854 Gerrit-Change-Number: 17834 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 16 07:16:38 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 16 Apr 2020 07:16:38 +0000 Subject: Change in osmo-hlr[master]: Cosmetic: mention OS#4491 in location cancel code In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17815 to look at the new patch set (#2). Change subject: Cosmetic: mention OS#4491 in location cancel code ...................................................................... Cosmetic: mention OS#4491 in location cancel code Change-Id: Idce0816172b92699d86ba3574a4fded0b73333cf --- M src/hlr.c M src/luop.c 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/15/17815/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Idce0816172b92699d86ba3574a4fded0b73333cf Gerrit-Change-Number: 17815 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria 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 Apr 16 07:17:53 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 16 Apr 2020 07:17:53 +0000 Subject: Change in osmo-hlr[master]: Cosmetic: mention OS#4491 in location cancel code In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/17815 ) Change subject: Cosmetic: mention OS#4491 in location cancel code ...................................................................... Patch Set 2: > Patch Set 1: > > Sounds like you want to add a FIXME? or is it already fixed? Explicit FIXME added. -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Idce0816172b92699d86ba3574a4fded0b73333cf Gerrit-Change-Number: 17815 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 16 Apr 2020 07:17: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 Thu Apr 16 13:43:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 16 Apr 2020 13:43:56 +0000 Subject: Change in osmo-gsm-tester[master]: enb_srs.py: Pass filenames to main cfg file template instead of cmdli... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17835 ) Change subject: enb_srs.py: Pass filenames to main cfg file template instead of cmdline args ...................................................................... enb_srs.py: Pass filenames to main cfg file template instead of cmdline args Change-Id: Ifec6a8a9c29b94634f6ac7ea50aae9b8e18ae3cb --- M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/templates/srsenb.conf.tmpl 2 files changed, 56 insertions(+), 62 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/35/17835/1 diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 0860d19..9364375 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -115,41 +115,9 @@ self.process.stdin_write('t\n') def start_remotely(self): - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) - lib = self.inst.child('lib') - if not os.path.isdir(lib): - raise log.Error('No lib/ in', self.inst) - if not self.inst.isfile('bin', srsENB.BINFILE): - raise log.Error('No %s binary in' % srsENB.BINFILE, self.inst) - - self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) - remote_prefix_dir = util.Dir(srsENB.REMOTE_DIR) - self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) - remote_run_dir = util.Dir(remote_prefix_dir.child(srsENB.BINFILE)) - - self.remote_config_file = remote_run_dir.child(srsENB.CFGFILE) - self.remote_config_sib_file = remote_run_dir.child(srsENB.CFGFILE_SIB) - self.remote_config_rr_file = remote_run_dir.child(srsENB.CFGFILE_RR) - self.remote_config_drb_file = remote_run_dir.child(srsENB.CFGFILE_DRB) - self.remote_log_file = remote_run_dir.child(srsENB.LOGFILE) - self.remote_pcap_file = remote_run_dir.child(srsENB.PCAPFILE) - - 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) - self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) - self.rem_host.scp('scp-cfg-sib-to-remote', self.config_sib_file, self.remote_config_sib_file) - 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) - remote_env = { 'LD_LIBRARY_PATH': self.remote_inst.child('lib') } remote_binary = self.remote_inst.child('bin', srsENB.BINFILE) - args = (remote_binary, self.remote_config_file, - '--enb_files.sib_config=' + self.remote_config_sib_file, - '--enb_files.rr_config=' + self.remote_config_rr_file, - '--enb_files.drb_config=' + self.remote_config_drb_file, - '--log.filename=' + self.remote_log_file, - '--pcap.filename=' + self.remote_pcap_file) + args = (remote_binary, self.remote_config_file) args += tuple(self._additional_args) self.process = self.rem_host.RemoteProcess(srsENB.BINFILE, args, remote_env=remote_env) @@ -157,24 +125,10 @@ self.process.launch() def start_locally(self): - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) - - binary = inst.child('bin', srsENB.BINFILE) - if not os.path.isfile(binary): - raise log.Error('Binary missing:', binary) - lib = inst.child('lib') - if not os.path.isdir(lib): - raise log.Error('No lib/ in', inst) - + binary = self.inst.child('bin', srsENB.BINFILE) + lib = self.inst.child('lib') env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } - - self.dbg(run_dir=self.run_dir, binary=binary, env=env) - args = (binary, os.path.abspath(self.config_file), - '--enb_files.sib_config=' + os.path.abspath(self.config_sib_file), - '--enb_files.rr_config=' + os.path.abspath(self.config_rr_file), - '--enb_files.drb_config=' + os.path.abspath(self.config_drb_file), - '--log.filename=' + self.log_file, - '--pcap.filename=' + self.pcap_file) + args = (binary, os.path.abspath(self.config_file)) args += tuple(self._additional_args) self.process = process.Process(self.name(), self.run_dir, args, env=env) @@ -190,8 +144,46 @@ f.write(r) def configure(self): + self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) + if not os.path.isdir(self.inst.child('lib')): + raise log.Error('No lib/ in', self.inst) + if not self.inst.isfile('bin', srsENB.BINFILE): + raise log.Error('No %s binary in' % srsENB.BINFILE, self.inst) + + self.config_file = self.run_dir.child(srsENB.CFGFILE) + self.config_sib_file = self.run_dir.child(srsENB.CFGFILE_SIB) + self.config_rr_file = self.run_dir.child(srsENB.CFGFILE_RR) + 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) + + if not self.setup_runs_locally(): + self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) + remote_prefix_dir = util.Dir(srsENB.REMOTE_DIR) + self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) + remote_run_dir = util.Dir(remote_prefix_dir.child(srsENB.BINFILE)) + + self.remote_config_file = remote_run_dir.child(srsENB.CFGFILE) + self.remote_config_sib_file = remote_run_dir.child(srsENB.CFGFILE_SIB) + self.remote_config_rr_file = remote_run_dir.child(srsENB.CFGFILE_RR) + self.remote_config_drb_file = remote_run_dir.child(srsENB.CFGFILE_DRB) + self.remote_log_file = remote_run_dir.child(srsENB.LOGFILE) + self.remote_pcap_file = remote_run_dir.child(srsENB.PCAPFILE) + values = super().configure(['srsenb']) + sibfile = self.config_sib_file if self.setup_runs_locally() else self.remote_config_sib_file + rrfile = self.config_rr_file if self.setup_runs_locally() else self.remote_config_rr_file + drbfile = self.config_drb_file if self.setup_runs_locally() else self.remote_config_drb_file + logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file + pcapfile = self.pcap_file if self.setup_runs_locally() else self.remote_pcap_file + config.overlay(values, dict(enb=dict(sib_filename=sibfile, + rr_filename=rrfile, + drb_filename=drbfile, + log_filename=logfile, + pcap_filename=pcapfile, + ))) + # 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})) @@ -232,18 +224,20 @@ config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) - self.config_file = self.run_dir.child(srsENB.CFGFILE) - self.config_sib_file = self.run_dir.child(srsENB.CFGFILE_SIB) - self.config_rr_file = self.run_dir.child(srsENB.CFGFILE_RR) - 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.gen_conf_file(self.config_file, srsENB.CFGFILE, values) self.gen_conf_file(self.config_sib_file, srsENB.CFGFILE_SIB, values) self.gen_conf_file(self.config_rr_file, srsENB.CFGFILE_RR, values) self.gen_conf_file(self.config_drb_file, srsENB.CFGFILE_DRB, values) + if not self.setup_runs_locally(): + 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) + self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) + self.rem_host.scp('scp-cfg-sib-to-remote', self.config_sib_file, self.remote_config_sib_file) + 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) + def ue_add(self, ue): if self.ue is not None: raise log.Error("More than one UE per ENB not yet supported (ZeroMQ)") diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index 954b63f..df12762 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -38,9 +38,9 @@ # drb_config: DRB configuration file ##################################################################### [enb_files] -sib_config = sib.conf -rr_config = rr.conf -drb_config = drb.conf +sib_config = ${enb.sib_filename} +rr_config = ${enb.rr_filename} +drb_config = ${enb.drb_filename} ##################################################################### # RF configuration @@ -98,7 +98,7 @@ ##################################################################### [pcap] enable = ${'true' if enb.enable_pcap else 'false'} -filename = /tmp/enb.pcap +filename = ${enb.pcap_filename} ##################################################################### # Log configuration @@ -123,7 +123,7 @@ [log] all_level = warning all_hex_limit = 32 -filename = /tmp/enb.log +filename = ${enb.log_filename} file_max_size = -1 [gui] -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17835 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: Ifec6a8a9c29b94634f6ac7ea50aae9b8e18ae3cb Gerrit-Change-Number: 17835 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 Apr 16 13:43:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 16 Apr 2020 13:43:57 +0000 Subject: Change in osmo-gsm-tester[master]: epc_srs.py: Pass filenames to main cfg file template instead of cmdli... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17836 ) Change subject: epc_srs.py: Pass filenames to main cfg file template instead of cmdline args ...................................................................... epc_srs.py: Pass filenames to main cfg file template instead of cmdline args Change-Id: I1ac3a3cace7ec2b0f85c5d9a5f97d5007d7c65ac --- M src/osmo_gsm_tester/obj/epc_srs.py M src/osmo_gsm_tester/templates/srsepc.conf.tmpl 2 files changed, 40 insertions(+), 44 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/36/17836/1 diff --git a/src/osmo_gsm_tester/obj/epc_srs.py b/src/osmo_gsm_tester/obj/epc_srs.py index 7288e69..fc1ee5f 100644 --- a/src/osmo_gsm_tester/obj/epc_srs.py +++ b/src/osmo_gsm_tester/obj/epc_srs.py @@ -41,6 +41,7 @@ self.pcap_file = None self.process = None self.rem_host = None + self.remote_inst = None self.remote_config_file = None self.remote_db_file = None self.remote_log_file = None @@ -74,30 +75,9 @@ self.start_remotely() def start_remotely(self): - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) - lib = self.inst.child('lib') - if not os.path.isdir(lib): - raise log.Error('No lib/ in', self.inst) - if not self.inst.isfile('bin', srsEPC.BINFILE): - raise log.Error('No %s binary in' % srsEPC.BINFILE, self.inst) + remote_lib = self.remote_inst.child('lib') + remote_binary = self.remote_inst.child('bin', srsEPC.BINFILE) - self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) - remote_prefix_dir = util.Dir(srsEPC.REMOTE_DIR) - remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) - remote_run_dir = util.Dir(remote_prefix_dir.child(srsEPC.BINFILE)) - self.remote_config_file = remote_run_dir.child(srsEPC.CFGFILE) - self.remote_db_file = remote_run_dir.child(srsEPC.DBFILE) - self.remote_log_file = remote_run_dir.child(srsEPC.LOGFILE) - self.remote_pcap_file = remote_run_dir.child(srsEPC.PCAPFILE) - - self.rem_host.recreate_remote_dir(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) - self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) - self.rem_host.scp('scp-db-to-remote', self.db_file, self.remote_db_file) - - remote_lib = remote_inst.child('lib') - remote_binary = remote_inst.child('bin', srsEPC.BINFILE) # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. self.log('Setting RPATH for srsepc') self.rem_host.change_elf_rpath(remote_binary, remote_lib) @@ -105,27 +85,17 @@ self.log('Applying CAP_NET_ADMIN capability to srsepc') self.rem_host.setcap_net_admin(remote_binary) - args = (remote_binary, self.remote_config_file, - '--hss.db_file=' + self.remote_db_file, - '--log.filename=' + self.remote_log_file, - '--pcap.filename=' + self.remote_pcap_file) + args = (remote_binary, self.remote_config_file) self.process = self.rem_host.RemoteProcess(srsEPC.BINFILE, args) - #self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsEPC.BINFILE, remote_run_dir, args) self.suite_run.remember_to_stop(self.process) self.process.launch() def start_locally(self): - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) - binary = inst.child('bin', BINFILE) - if not os.path.isfile(binary): - raise log.Error('Binary missing:', binary) lib = inst.child('lib') - if not os.path.isdir(lib): - raise log.Error('No lib/ in', inst) - env = {} + # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. self.log('Setting RPATH for srsepc') # srsepc binary needs patchelf <= 0.9 (0.10 and current master fail) to avoid failing during patch. OS#4389, patchelf-GH#192. @@ -134,25 +104,44 @@ self.log('Applying CAP_NET_ADMIN capability to srsepc') util.setcap_net_admin(binary, self.run_dir.new_dir('setcap_net_admin')) - self.dbg(run_dir=self.run_dir, binary=binary, env=env) - args = (binary, os.path.abspath(self.config_file), - '--hss.db_file=' + self.db_file, - '--log.filename=' + self.log_file, - '--pcap.filename=' + self.pcap_file) + args = (binary, os.path.abspath(self.config_file)) self.process = process.Process(self.name(), self.run_dir, args, env=env) self.suite_run.remember_to_stop(self.process) self.process.launch() def configure(self): + self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) + if not os.path.isdir(self.inst.child('lib')): + raise log.Error('No lib/ in', self.inst) + if not self.inst.isfile('bin', srsEPC.BINFILE): + raise log.Error('No %s binary in' % srsEPC.BINFILE, self.inst) + self.config_file = self.run_dir.child(srsEPC.CFGFILE) self.db_file = self.run_dir.child(srsEPC.DBFILE) self.log_file = self.run_dir.child(srsEPC.LOGFILE) self.pcap_file = self.run_dir.child(srsEPC.PCAPFILE) - self.dbg(config_file=self.config_file, db_file=self.db_file) + + 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()) + remote_prefix_dir = util.Dir(srsEPC.REMOTE_DIR) + self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) + remote_run_dir = util.Dir(remote_prefix_dir.child(srsEPC.BINFILE)) + + self.remote_config_file = remote_run_dir.child(srsEPC.CFGFILE) + self.remote_db_file = remote_run_dir.child(srsEPC.DBFILE) + self.remote_log_file = remote_run_dir.child(srsEPC.LOGFILE) + self.remote_pcap_file = remote_run_dir.child(srsEPC.PCAPFILE) values = super().configure(['srsepc']) + dbfile = self.db_file if self._run_node.is_local() else self.remote_db_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(epc=dict(db_filename=dbfile, + log_filename=logfile, + pcap_filename=pcapfile))) + # Convert parsed boolean string to Python boolean: self.enable_pcap = util.str2bool(values['epc'].get('enable_pcap', 'false')) config.overlay(values, dict(epc={'enable_pcap': self.enable_pcap})) @@ -175,6 +164,13 @@ self.dbg(r) f.write(r) + if not self._run_node.is_local(): + 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) + self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) + self.rem_host.scp('scp-db-to-remote', self.db_file, self.remote_db_file) + def subscriber_add(self, modem, msisdn=None, algo_str=None): if msisdn is None: msisdn = self.suite_run.resources_pool.next_msisdn(modem) diff --git a/src/osmo_gsm_tester/templates/srsepc.conf.tmpl b/src/osmo_gsm_tester/templates/srsepc.conf.tmpl index cb03967..a792989 100644 --- a/src/osmo_gsm_tester/templates/srsepc.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsepc.conf.tmpl @@ -40,7 +40,7 @@ # ##################################################################### [hss] -db_file = user_db.csv +db_file = ${epc.db_filename} ##################################################################### # SP-GW configuration @@ -72,7 +72,7 @@ #################################################################### [pcap] enable = ${'true' if epc.enable_pcap else 'false'} -filename = /tmp/epc.pcap +filename = ${epc.pcap_filename} #################################################################### # Log configuration @@ -95,7 +95,7 @@ [log] all_level = info all_hex_limit = 32 -filename = /tmp/epc.log +filename = ${epc.log_filename} #nas_level = debug #s1ap_level = debug -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17836 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: I1ac3a3cace7ec2b0f85c5d9a5f97d5007d7c65ac Gerrit-Change-Number: 17836 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 Apr 16 13:43:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 16 Apr 2020 13:43:57 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs.py: Pass filenames to main cfg file template instead of cmdlin... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17837 ) Change subject: ms_srs.py: Pass filenames to main cfg file template instead of cmdline args ...................................................................... ms_srs.py: Pass filenames to main cfg file template instead of cmdline args Change-Id: Id2a6ba17d087d2ff67fe10b1dae6434259e74366 --- M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 39 insertions(+), 48 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/37/17837/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index c1803e3..e6e9196 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -69,6 +69,7 @@ self.metrics_file = None self.process = None self.rem_host = None + self.remote_inst = None self.remote_config_file = None self.remote_log_file = None self.remote_pcap_file = None @@ -126,29 +127,8 @@ self.process.stdin_write('t\n') def start_remotely(self): - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) - lib = self.inst.child('lib') - if not os.path.isdir(lib): - raise log.Error('No lib/ in', self.inst) - if not self.inst.isfile('bin', srsUE.BINFILE): - raise log.Error('No %s binary in' % srsUE.BINFILE, self.inst) - - self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) - remote_prefix_dir = util.Dir(srsUE.REMOTE_DIR) - remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) - remote_run_dir = util.Dir(remote_prefix_dir.child(srsUE.BINFILE)) - self.remote_config_file = remote_run_dir.child(srsUE.CFGFILE) - self.remote_log_file = remote_run_dir.child(srsUE.LOGFILE) - self.remote_pcap_file = remote_run_dir.child(srsUE.PCAPFILE) - self.remote_metrics_file = remote_run_dir.child(srsUE.METRICSFILE) - - self.rem_host.recreate_remote_dir(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) - self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) - - remote_lib = remote_inst.child('lib') - remote_binary = remote_inst.child('bin', srsUE.BINFILE) + 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. self.log('Setting RPATH for srsue') # srsue binary needs patchelf >= 0.9+52 to avoid failing during patch. OS#4389, patchelf-GH#192. @@ -163,12 +143,7 @@ self.log('Creating netns %s' % self.netns()) self.rem_host.create_netns(self.netns()) - #'strace', '-ff', - args = (remote_binary, self.remote_config_file, - '--gw.netns=' + self.netns(), - '--log.filename=' + self.remote_log_file, - '--pcap.filename=' + self.remote_pcap_file, - '--general.metrics_csv_filename=' + self.remote_metrics_file) + args = (remote_binary, self.remote_config_file, '--gw.netns=' + self.netns()) args += tuple(self._additional_args) self.process = self.rem_host.RemoteProcess(srsUE.BINFILE, args) @@ -177,15 +152,8 @@ self.process.launch() def start_locally(self): - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) - - binary = inst.child('bin', srsUE.BINFILE) - if not os.path.isfile(binary): - raise log.Error('Binary missing:', binary) - lib = inst.child('lib') - if not os.path.isdir(lib): - raise log.Error('No lib/ in', inst) - + binary = self.inst.child('bin', srsUE.BINFILE) + lib = self.inst.child('lib') env = {} # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. @@ -200,30 +168,47 @@ self.log('Creating netns %s' % self.netns()) util.create_netns(self.netns(), self.run_dir.new_dir('create_netns')) - args = (binary, os.path.abspath(self.config_file), - '--gw.netns=' + self.netns(), - '--log.filename=' + self.log_file, - '--pcap.filename=' + self.pcap_file, - '--general.metrics_csv_filename=' + self.metrics_file) + args = (binary, os.path.abspath(self.config_file), '--gw.netns=' + self.netns()) args += tuple(self._additional_args) - self.dbg(run_dir=self.run_dir, binary=binary, env=env) self.process = process.Process(self.name(), self.run_dir, args, env=env) self.suite_run.remember_to_stop(self.process) self.process.launch() def configure(self): + self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) + if not os.path.isdir(self.inst.child('lib')): + raise log.Error('No lib/ in', self.inst) + if not self.inst.isfile('bin', srsUE.BINFILE): + raise log.Error('No %s binary in' % srsUE.BINFILE, self.inst) + self.config_file = self.run_dir.child(srsUE.CFGFILE) self.log_file = self.run_dir.child(srsUE.LOGFILE) self.pcap_file = self.run_dir.child(srsUE.PCAPFILE) self.metrics_file = self.run_dir.child(srsUE.METRICSFILE) - self.dbg(config_file=self.config_file) + + if not self.setup_runs_locally(): + self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) + remote_prefix_dir = util.Dir(srsUE.REMOTE_DIR) + self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) + remote_run_dir = util.Dir(remote_prefix_dir.child(srsUE.BINFILE)) + self.remote_config_file = remote_run_dir.child(srsUE.CFGFILE) + self.remote_log_file = remote_run_dir.child(srsUE.LOGFILE) + self.remote_pcap_file = remote_run_dir.child(srsUE.PCAPFILE) + self.remote_metrics_file = remote_run_dir.child(srsUE.METRICSFILE) values = dict(ue=config.get_defaults('srsue')) config.overlay(values, dict(ue=self.suite_run.config().get('modem', {}))) config.overlay(values, dict(ue=self._conf)) config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) + metricsfile = self.metrics_file if self.setup_runs_locally() else self.remote_metrics_file + logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file + pcapfile = self.pcap_file if self.setup_runs_locally() else self.remote_pcap_file + config.overlay(values, dict(ue=dict(metrics_filename=metricsfile, + log_filename=logfile, + pcap_filename=pcapfile))) + # Convert parsed boolean string to Python boolean: self.enable_pcap = util.str2bool(values['ue'].get('enable_pcap', 'false')) config.overlay(values, dict(ue={'enable_pcap': self.enable_pcap})) @@ -267,6 +252,12 @@ self.dbg(r) f.write(r) + if not self.setup_runs_locally(): + 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) + self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) + def is_connected(self, mcc_mnc=None): return 'Network attach successful.' in (self.process.get_stdout() or '') diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index d97b00c..37175dd 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -77,7 +77,7 @@ ##################################################################### [pcap] enable = ${'true' if ue.enable_pcap else 'false'} -filename = /tmp/ue.pcap +filename = ${ue.pcap_filename} nas_enable = false nas_filename = /tmp/nas.pcap @@ -105,7 +105,7 @@ all_level = warning phy_lib_level = none all_hex_limit = 32 -filename = /tmp/ue.log +filename = ${ue.log_filename} file_max_size = -1 ##################################################################### @@ -373,4 +373,4 @@ [general] metrics_csv_enable = true #metrics_period_secs = 1 -#metrics_csv_filename = /tmp/ue_metrics.csv +metrics_csv_filename = ${ue.metrics_filename} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17837 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: Id2a6ba17d087d2ff67fe10b1dae6434259e74366 Gerrit-Change-Number: 17837 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 Apr 16 14:24:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 16 Apr 2020 14:24:46 +0000 Subject: Change in osmo-gsm-tester[master]: enb_srs.py: Pass filenames to main cfg file template instead of cmdli... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17835 ) Change subject: enb_srs.py: Pass filenames to main cfg file template instead of cmdline args ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17835 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: Ifec6a8a9c29b94634f6ac7ea50aae9b8e18ae3cb Gerrit-Change-Number: 17835 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 16 Apr 2020 14:24: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 Apr 16 14:24:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 16 Apr 2020 14:24:47 +0000 Subject: Change in osmo-gsm-tester[master]: epc_srs.py: Pass filenames to main cfg file template instead of cmdli... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17836 ) Change subject: epc_srs.py: Pass filenames to main cfg file template instead of cmdline args ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17836 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: I1ac3a3cace7ec2b0f85c5d9a5f97d5007d7c65ac Gerrit-Change-Number: 17836 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 16 Apr 2020 14:24: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 Apr 16 14:24:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 16 Apr 2020 14:24:49 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs.py: Pass filenames to main cfg file template instead of cmdlin... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17837 ) Change subject: ms_srs.py: Pass filenames to main cfg file template instead of cmdline args ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17837 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: Id2a6ba17d087d2ff67fe10b1dae6434259e74366 Gerrit-Change-Number: 17837 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 16 Apr 2020 14:24: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 Apr 16 14:24:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 16 Apr 2020 14:24:51 +0000 Subject: Change in osmo-gsm-tester[master]: enb_srs.py: Pass filenames to main cfg file template instead of cmdli... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17835 ) Change subject: enb_srs.py: Pass filenames to main cfg file template instead of cmdline args ...................................................................... enb_srs.py: Pass filenames to main cfg file template instead of cmdline args Change-Id: Ifec6a8a9c29b94634f6ac7ea50aae9b8e18ae3cb --- M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/templates/srsenb.conf.tmpl 2 files changed, 56 insertions(+), 62 deletions(-) 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 0860d19..9364375 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -115,41 +115,9 @@ self.process.stdin_write('t\n') def start_remotely(self): - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) - lib = self.inst.child('lib') - if not os.path.isdir(lib): - raise log.Error('No lib/ in', self.inst) - if not self.inst.isfile('bin', srsENB.BINFILE): - raise log.Error('No %s binary in' % srsENB.BINFILE, self.inst) - - self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) - remote_prefix_dir = util.Dir(srsENB.REMOTE_DIR) - self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) - remote_run_dir = util.Dir(remote_prefix_dir.child(srsENB.BINFILE)) - - self.remote_config_file = remote_run_dir.child(srsENB.CFGFILE) - self.remote_config_sib_file = remote_run_dir.child(srsENB.CFGFILE_SIB) - self.remote_config_rr_file = remote_run_dir.child(srsENB.CFGFILE_RR) - self.remote_config_drb_file = remote_run_dir.child(srsENB.CFGFILE_DRB) - self.remote_log_file = remote_run_dir.child(srsENB.LOGFILE) - self.remote_pcap_file = remote_run_dir.child(srsENB.PCAPFILE) - - 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) - self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) - self.rem_host.scp('scp-cfg-sib-to-remote', self.config_sib_file, self.remote_config_sib_file) - 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) - remote_env = { 'LD_LIBRARY_PATH': self.remote_inst.child('lib') } remote_binary = self.remote_inst.child('bin', srsENB.BINFILE) - args = (remote_binary, self.remote_config_file, - '--enb_files.sib_config=' + self.remote_config_sib_file, - '--enb_files.rr_config=' + self.remote_config_rr_file, - '--enb_files.drb_config=' + self.remote_config_drb_file, - '--log.filename=' + self.remote_log_file, - '--pcap.filename=' + self.remote_pcap_file) + args = (remote_binary, self.remote_config_file) args += tuple(self._additional_args) self.process = self.rem_host.RemoteProcess(srsENB.BINFILE, args, remote_env=remote_env) @@ -157,24 +125,10 @@ self.process.launch() def start_locally(self): - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) - - binary = inst.child('bin', srsENB.BINFILE) - if not os.path.isfile(binary): - raise log.Error('Binary missing:', binary) - lib = inst.child('lib') - if not os.path.isdir(lib): - raise log.Error('No lib/ in', inst) - + binary = self.inst.child('bin', srsENB.BINFILE) + lib = self.inst.child('lib') env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } - - self.dbg(run_dir=self.run_dir, binary=binary, env=env) - args = (binary, os.path.abspath(self.config_file), - '--enb_files.sib_config=' + os.path.abspath(self.config_sib_file), - '--enb_files.rr_config=' + os.path.abspath(self.config_rr_file), - '--enb_files.drb_config=' + os.path.abspath(self.config_drb_file), - '--log.filename=' + self.log_file, - '--pcap.filename=' + self.pcap_file) + args = (binary, os.path.abspath(self.config_file)) args += tuple(self._additional_args) self.process = process.Process(self.name(), self.run_dir, args, env=env) @@ -190,8 +144,46 @@ f.write(r) def configure(self): + self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) + if not os.path.isdir(self.inst.child('lib')): + raise log.Error('No lib/ in', self.inst) + if not self.inst.isfile('bin', srsENB.BINFILE): + raise log.Error('No %s binary in' % srsENB.BINFILE, self.inst) + + self.config_file = self.run_dir.child(srsENB.CFGFILE) + self.config_sib_file = self.run_dir.child(srsENB.CFGFILE_SIB) + self.config_rr_file = self.run_dir.child(srsENB.CFGFILE_RR) + 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) + + if not self.setup_runs_locally(): + self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) + remote_prefix_dir = util.Dir(srsENB.REMOTE_DIR) + self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) + remote_run_dir = util.Dir(remote_prefix_dir.child(srsENB.BINFILE)) + + self.remote_config_file = remote_run_dir.child(srsENB.CFGFILE) + self.remote_config_sib_file = remote_run_dir.child(srsENB.CFGFILE_SIB) + self.remote_config_rr_file = remote_run_dir.child(srsENB.CFGFILE_RR) + self.remote_config_drb_file = remote_run_dir.child(srsENB.CFGFILE_DRB) + self.remote_log_file = remote_run_dir.child(srsENB.LOGFILE) + self.remote_pcap_file = remote_run_dir.child(srsENB.PCAPFILE) + values = super().configure(['srsenb']) + sibfile = self.config_sib_file if self.setup_runs_locally() else self.remote_config_sib_file + rrfile = self.config_rr_file if self.setup_runs_locally() else self.remote_config_rr_file + drbfile = self.config_drb_file if self.setup_runs_locally() else self.remote_config_drb_file + logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file + pcapfile = self.pcap_file if self.setup_runs_locally() else self.remote_pcap_file + config.overlay(values, dict(enb=dict(sib_filename=sibfile, + rr_filename=rrfile, + drb_filename=drbfile, + log_filename=logfile, + pcap_filename=pcapfile, + ))) + # 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})) @@ -232,18 +224,20 @@ config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) - self.config_file = self.run_dir.child(srsENB.CFGFILE) - self.config_sib_file = self.run_dir.child(srsENB.CFGFILE_SIB) - self.config_rr_file = self.run_dir.child(srsENB.CFGFILE_RR) - 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.gen_conf_file(self.config_file, srsENB.CFGFILE, values) self.gen_conf_file(self.config_sib_file, srsENB.CFGFILE_SIB, values) self.gen_conf_file(self.config_rr_file, srsENB.CFGFILE_RR, values) self.gen_conf_file(self.config_drb_file, srsENB.CFGFILE_DRB, values) + if not self.setup_runs_locally(): + 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) + self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) + self.rem_host.scp('scp-cfg-sib-to-remote', self.config_sib_file, self.remote_config_sib_file) + 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) + def ue_add(self, ue): if self.ue is not None: raise log.Error("More than one UE per ENB not yet supported (ZeroMQ)") diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index 954b63f..df12762 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -38,9 +38,9 @@ # drb_config: DRB configuration file ##################################################################### [enb_files] -sib_config = sib.conf -rr_config = rr.conf -drb_config = drb.conf +sib_config = ${enb.sib_filename} +rr_config = ${enb.rr_filename} +drb_config = ${enb.drb_filename} ##################################################################### # RF configuration @@ -98,7 +98,7 @@ ##################################################################### [pcap] enable = ${'true' if enb.enable_pcap else 'false'} -filename = /tmp/enb.pcap +filename = ${enb.pcap_filename} ##################################################################### # Log configuration @@ -123,7 +123,7 @@ [log] all_level = warning all_hex_limit = 32 -filename = /tmp/enb.log +filename = ${enb.log_filename} file_max_size = -1 [gui] -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17835 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: Ifec6a8a9c29b94634f6ac7ea50aae9b8e18ae3cb Gerrit-Change-Number: 17835 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Apr 16 14:24:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 16 Apr 2020 14:24:52 +0000 Subject: Change in osmo-gsm-tester[master]: epc_srs.py: Pass filenames to main cfg file template instead of cmdli... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17836 ) Change subject: epc_srs.py: Pass filenames to main cfg file template instead of cmdline args ...................................................................... epc_srs.py: Pass filenames to main cfg file template instead of cmdline args Change-Id: I1ac3a3cace7ec2b0f85c5d9a5f97d5007d7c65ac --- M src/osmo_gsm_tester/obj/epc_srs.py M src/osmo_gsm_tester/templates/srsepc.conf.tmpl 2 files changed, 40 insertions(+), 44 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/epc_srs.py b/src/osmo_gsm_tester/obj/epc_srs.py index 7288e69..fc1ee5f 100644 --- a/src/osmo_gsm_tester/obj/epc_srs.py +++ b/src/osmo_gsm_tester/obj/epc_srs.py @@ -41,6 +41,7 @@ self.pcap_file = None self.process = None self.rem_host = None + self.remote_inst = None self.remote_config_file = None self.remote_db_file = None self.remote_log_file = None @@ -74,30 +75,9 @@ self.start_remotely() def start_remotely(self): - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) - lib = self.inst.child('lib') - if not os.path.isdir(lib): - raise log.Error('No lib/ in', self.inst) - if not self.inst.isfile('bin', srsEPC.BINFILE): - raise log.Error('No %s binary in' % srsEPC.BINFILE, self.inst) + remote_lib = self.remote_inst.child('lib') + remote_binary = self.remote_inst.child('bin', srsEPC.BINFILE) - self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) - remote_prefix_dir = util.Dir(srsEPC.REMOTE_DIR) - remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) - remote_run_dir = util.Dir(remote_prefix_dir.child(srsEPC.BINFILE)) - self.remote_config_file = remote_run_dir.child(srsEPC.CFGFILE) - self.remote_db_file = remote_run_dir.child(srsEPC.DBFILE) - self.remote_log_file = remote_run_dir.child(srsEPC.LOGFILE) - self.remote_pcap_file = remote_run_dir.child(srsEPC.PCAPFILE) - - self.rem_host.recreate_remote_dir(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) - self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) - self.rem_host.scp('scp-db-to-remote', self.db_file, self.remote_db_file) - - remote_lib = remote_inst.child('lib') - remote_binary = remote_inst.child('bin', srsEPC.BINFILE) # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. self.log('Setting RPATH for srsepc') self.rem_host.change_elf_rpath(remote_binary, remote_lib) @@ -105,27 +85,17 @@ self.log('Applying CAP_NET_ADMIN capability to srsepc') self.rem_host.setcap_net_admin(remote_binary) - args = (remote_binary, self.remote_config_file, - '--hss.db_file=' + self.remote_db_file, - '--log.filename=' + self.remote_log_file, - '--pcap.filename=' + self.remote_pcap_file) + args = (remote_binary, self.remote_config_file) self.process = self.rem_host.RemoteProcess(srsEPC.BINFILE, args) - #self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsEPC.BINFILE, remote_run_dir, args) self.suite_run.remember_to_stop(self.process) self.process.launch() def start_locally(self): - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) - binary = inst.child('bin', BINFILE) - if not os.path.isfile(binary): - raise log.Error('Binary missing:', binary) lib = inst.child('lib') - if not os.path.isdir(lib): - raise log.Error('No lib/ in', inst) - env = {} + # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. self.log('Setting RPATH for srsepc') # srsepc binary needs patchelf <= 0.9 (0.10 and current master fail) to avoid failing during patch. OS#4389, patchelf-GH#192. @@ -134,25 +104,44 @@ self.log('Applying CAP_NET_ADMIN capability to srsepc') util.setcap_net_admin(binary, self.run_dir.new_dir('setcap_net_admin')) - self.dbg(run_dir=self.run_dir, binary=binary, env=env) - args = (binary, os.path.abspath(self.config_file), - '--hss.db_file=' + self.db_file, - '--log.filename=' + self.log_file, - '--pcap.filename=' + self.pcap_file) + args = (binary, os.path.abspath(self.config_file)) self.process = process.Process(self.name(), self.run_dir, args, env=env) self.suite_run.remember_to_stop(self.process) self.process.launch() def configure(self): + self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) + if not os.path.isdir(self.inst.child('lib')): + raise log.Error('No lib/ in', self.inst) + if not self.inst.isfile('bin', srsEPC.BINFILE): + raise log.Error('No %s binary in' % srsEPC.BINFILE, self.inst) + self.config_file = self.run_dir.child(srsEPC.CFGFILE) self.db_file = self.run_dir.child(srsEPC.DBFILE) self.log_file = self.run_dir.child(srsEPC.LOGFILE) self.pcap_file = self.run_dir.child(srsEPC.PCAPFILE) - self.dbg(config_file=self.config_file, db_file=self.db_file) + + 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()) + remote_prefix_dir = util.Dir(srsEPC.REMOTE_DIR) + self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) + remote_run_dir = util.Dir(remote_prefix_dir.child(srsEPC.BINFILE)) + + self.remote_config_file = remote_run_dir.child(srsEPC.CFGFILE) + self.remote_db_file = remote_run_dir.child(srsEPC.DBFILE) + self.remote_log_file = remote_run_dir.child(srsEPC.LOGFILE) + self.remote_pcap_file = remote_run_dir.child(srsEPC.PCAPFILE) values = super().configure(['srsepc']) + dbfile = self.db_file if self._run_node.is_local() else self.remote_db_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(epc=dict(db_filename=dbfile, + log_filename=logfile, + pcap_filename=pcapfile))) + # Convert parsed boolean string to Python boolean: self.enable_pcap = util.str2bool(values['epc'].get('enable_pcap', 'false')) config.overlay(values, dict(epc={'enable_pcap': self.enable_pcap})) @@ -175,6 +164,13 @@ self.dbg(r) f.write(r) + if not self._run_node.is_local(): + 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) + self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) + self.rem_host.scp('scp-db-to-remote', self.db_file, self.remote_db_file) + def subscriber_add(self, modem, msisdn=None, algo_str=None): if msisdn is None: msisdn = self.suite_run.resources_pool.next_msisdn(modem) diff --git a/src/osmo_gsm_tester/templates/srsepc.conf.tmpl b/src/osmo_gsm_tester/templates/srsepc.conf.tmpl index cb03967..a792989 100644 --- a/src/osmo_gsm_tester/templates/srsepc.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsepc.conf.tmpl @@ -40,7 +40,7 @@ # ##################################################################### [hss] -db_file = user_db.csv +db_file = ${epc.db_filename} ##################################################################### # SP-GW configuration @@ -72,7 +72,7 @@ #################################################################### [pcap] enable = ${'true' if epc.enable_pcap else 'false'} -filename = /tmp/epc.pcap +filename = ${epc.pcap_filename} #################################################################### # Log configuration @@ -95,7 +95,7 @@ [log] all_level = info all_hex_limit = 32 -filename = /tmp/epc.log +filename = ${epc.log_filename} #nas_level = debug #s1ap_level = debug -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17836 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: I1ac3a3cace7ec2b0f85c5d9a5f97d5007d7c65ac Gerrit-Change-Number: 17836 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Apr 16 14:24:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 16 Apr 2020 14:24:52 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs.py: Pass filenames to main cfg file template instead of cmdlin... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17837 ) Change subject: ms_srs.py: Pass filenames to main cfg file template instead of cmdline args ...................................................................... ms_srs.py: Pass filenames to main cfg file template instead of cmdline args Change-Id: Id2a6ba17d087d2ff67fe10b1dae6434259e74366 --- M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 39 insertions(+), 48 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 c1803e3..e6e9196 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -69,6 +69,7 @@ self.metrics_file = None self.process = None self.rem_host = None + self.remote_inst = None self.remote_config_file = None self.remote_log_file = None self.remote_pcap_file = None @@ -126,29 +127,8 @@ self.process.stdin_write('t\n') def start_remotely(self): - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) - lib = self.inst.child('lib') - if not os.path.isdir(lib): - raise log.Error('No lib/ in', self.inst) - if not self.inst.isfile('bin', srsUE.BINFILE): - raise log.Error('No %s binary in' % srsUE.BINFILE, self.inst) - - self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) - remote_prefix_dir = util.Dir(srsUE.REMOTE_DIR) - remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) - remote_run_dir = util.Dir(remote_prefix_dir.child(srsUE.BINFILE)) - self.remote_config_file = remote_run_dir.child(srsUE.CFGFILE) - self.remote_log_file = remote_run_dir.child(srsUE.LOGFILE) - self.remote_pcap_file = remote_run_dir.child(srsUE.PCAPFILE) - self.remote_metrics_file = remote_run_dir.child(srsUE.METRICSFILE) - - self.rem_host.recreate_remote_dir(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) - self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) - - remote_lib = remote_inst.child('lib') - remote_binary = remote_inst.child('bin', srsUE.BINFILE) + 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. self.log('Setting RPATH for srsue') # srsue binary needs patchelf >= 0.9+52 to avoid failing during patch. OS#4389, patchelf-GH#192. @@ -163,12 +143,7 @@ self.log('Creating netns %s' % self.netns()) self.rem_host.create_netns(self.netns()) - #'strace', '-ff', - args = (remote_binary, self.remote_config_file, - '--gw.netns=' + self.netns(), - '--log.filename=' + self.remote_log_file, - '--pcap.filename=' + self.remote_pcap_file, - '--general.metrics_csv_filename=' + self.remote_metrics_file) + args = (remote_binary, self.remote_config_file, '--gw.netns=' + self.netns()) args += tuple(self._additional_args) self.process = self.rem_host.RemoteProcess(srsUE.BINFILE, args) @@ -177,15 +152,8 @@ self.process.launch() def start_locally(self): - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) - - binary = inst.child('bin', srsUE.BINFILE) - if not os.path.isfile(binary): - raise log.Error('Binary missing:', binary) - lib = inst.child('lib') - if not os.path.isdir(lib): - raise log.Error('No lib/ in', inst) - + binary = self.inst.child('bin', srsUE.BINFILE) + lib = self.inst.child('lib') env = {} # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. @@ -200,30 +168,47 @@ self.log('Creating netns %s' % self.netns()) util.create_netns(self.netns(), self.run_dir.new_dir('create_netns')) - args = (binary, os.path.abspath(self.config_file), - '--gw.netns=' + self.netns(), - '--log.filename=' + self.log_file, - '--pcap.filename=' + self.pcap_file, - '--general.metrics_csv_filename=' + self.metrics_file) + args = (binary, os.path.abspath(self.config_file), '--gw.netns=' + self.netns()) args += tuple(self._additional_args) - self.dbg(run_dir=self.run_dir, binary=binary, env=env) self.process = process.Process(self.name(), self.run_dir, args, env=env) self.suite_run.remember_to_stop(self.process) self.process.launch() def configure(self): + self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) + if not os.path.isdir(self.inst.child('lib')): + raise log.Error('No lib/ in', self.inst) + if not self.inst.isfile('bin', srsUE.BINFILE): + raise log.Error('No %s binary in' % srsUE.BINFILE, self.inst) + self.config_file = self.run_dir.child(srsUE.CFGFILE) self.log_file = self.run_dir.child(srsUE.LOGFILE) self.pcap_file = self.run_dir.child(srsUE.PCAPFILE) self.metrics_file = self.run_dir.child(srsUE.METRICSFILE) - self.dbg(config_file=self.config_file) + + if not self.setup_runs_locally(): + self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) + remote_prefix_dir = util.Dir(srsUE.REMOTE_DIR) + self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) + remote_run_dir = util.Dir(remote_prefix_dir.child(srsUE.BINFILE)) + self.remote_config_file = remote_run_dir.child(srsUE.CFGFILE) + self.remote_log_file = remote_run_dir.child(srsUE.LOGFILE) + self.remote_pcap_file = remote_run_dir.child(srsUE.PCAPFILE) + self.remote_metrics_file = remote_run_dir.child(srsUE.METRICSFILE) values = dict(ue=config.get_defaults('srsue')) config.overlay(values, dict(ue=self.suite_run.config().get('modem', {}))) config.overlay(values, dict(ue=self._conf)) config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) + metricsfile = self.metrics_file if self.setup_runs_locally() else self.remote_metrics_file + logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file + pcapfile = self.pcap_file if self.setup_runs_locally() else self.remote_pcap_file + config.overlay(values, dict(ue=dict(metrics_filename=metricsfile, + log_filename=logfile, + pcap_filename=pcapfile))) + # Convert parsed boolean string to Python boolean: self.enable_pcap = util.str2bool(values['ue'].get('enable_pcap', 'false')) config.overlay(values, dict(ue={'enable_pcap': self.enable_pcap})) @@ -267,6 +252,12 @@ self.dbg(r) f.write(r) + if not self.setup_runs_locally(): + 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) + self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) + def is_connected(self, mcc_mnc=None): return 'Network attach successful.' in (self.process.get_stdout() or '') diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index d97b00c..37175dd 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -77,7 +77,7 @@ ##################################################################### [pcap] enable = ${'true' if ue.enable_pcap else 'false'} -filename = /tmp/ue.pcap +filename = ${ue.pcap_filename} nas_enable = false nas_filename = /tmp/nas.pcap @@ -105,7 +105,7 @@ all_level = warning phy_lib_level = none all_hex_limit = 32 -filename = /tmp/ue.log +filename = ${ue.log_filename} file_max_size = -1 ##################################################################### @@ -373,4 +373,4 @@ [general] metrics_csv_enable = true #metrics_period_secs = 1 -#metrics_csv_filename = /tmp/ue_metrics.csv +metrics_csv_filename = ${ue.metrics_filename} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17837 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: Id2a6ba17d087d2ff67fe10b1dae6434259e74366 Gerrit-Change-Number: 17837 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Apr 16 18:08:29 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 16 Apr 2020 18:08:29 +0000 Subject: Change in osmo-gsm-manuals[master]: logging: fix section 6.5.3: logging level s/all/force-all/ fatal References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17838 ) Change subject: logging: fix section 6.5.3: logging level s/all/force-all/ fatal ...................................................................... logging: fix section 6.5.3: logging level s/all/force-all/ fatal The special 'all' keyword has been deprecated a long time ago due to its ambiguity, and replaced by 'force-all'. Change-Id: I759d96716e964d499c0724d481b2f3e5062fb052 --- M common/chapters/logging.adoc 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/38/17838/1 diff --git a/common/chapters/logging.adoc b/common/chapters/logging.adoc index 927c498..11ec774 100644 --- a/common/chapters/logging.adoc +++ b/common/chapters/logging.adoc @@ -227,7 +227,7 @@ OsmoBSC> enable OsmoBSC# configure terminal OsmoBSC(config)# log stderr -OsmoBSC(config-log)# logging level all fatal +OsmoBSC(config-log)# logging level force-all fatal ---- ==== Logging to a file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17838 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: I759d96716e964d499c0724d481b2f3e5062fb052 Gerrit-Change-Number: 17838 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 Apr 16 18:36:07 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 16 Apr 2020 18:36:07 +0000 Subject: Change in osmo-gsm-manuals[master]: port_numbers: fix: GSMTAP has noting to do with port udp/2427 References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17839 ) Change subject: port_numbers: fix: GSMTAP has noting to do with port udp/2427 ...................................................................... port_numbers: fix: GSMTAP has noting to do with port udp/2427 Change-Id: Ic37ee2e2da290521ac226a9720d48fbbe0883f3d --- M common/chapters/port_numbers.adoc 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/39/17839/1 diff --git a/common/chapters/port_numbers.adoc b/common/chapters/port_numbers.adoc index a5b9036..2ab698a 100644 --- a/common/chapters/port_numbers.adoc +++ b/common/chapters/port_numbers.adoc @@ -47,7 +47,6 @@ |TCP|4267|Control Interface|osmo-mgw |UDP|4729|GSMTAP|Almost every osmocom project |TCP|5000|A/IP|osmo-bsc, osmo-bsc_nat -|UDP|2427|GSMTAP|osmo-pcu, osmo-bts |UDP|23000|GPRS-NS over IP default port|osmo-pcu, osmo-sgsn, osmo-gbproxy |=============== //// -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17839 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: Ic37ee2e2da290521ac226a9720d48fbbe0883f3d Gerrit-Change-Number: 17839 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 Apr 16 19:06:09 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 16 Apr 2020 19:06:09 +0000 Subject: Change in osmo-gsm-manuals[master]: port_numbers: fix: GSMTAP has noting to do with port 2427/udp 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-manuals/+/17839 to look at the new patch set (#2). Change subject: port_numbers: fix: GSMTAP has noting to do with port 2427/udp ...................................................................... port_numbers: fix: GSMTAP has noting to do with port 2427/udp Change-Id: Ic37ee2e2da290521ac226a9720d48fbbe0883f3d --- M common/chapters/port_numbers.adoc 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/39/17839/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17839 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: Ic37ee2e2da290521ac226a9720d48fbbe0883f3d Gerrit-Change-Number: 17839 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 Thu Apr 16 20:05:01 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Thu, 16 Apr 2020 20:05:01 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add optional gtp_bind_addr paramter to enb class In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17814 to look at the new patch set (#3). Change subject: enb: add optional gtp_bind_addr paramter to enb class ...................................................................... enb: add optional gtp_bind_addr paramter to enb class this allows to optionally specify a the GTP bind_address for a enb object in the resources.conf this address is then used for binding the listening socket for gtp connections which, in turn, allows to run the enb and epc on the same host. when gtp_bind_addr is not specified, addr is used by default this is especially useful if eNB and EPC run on the same host and ZMQ is used for RF between eNB and UE. Two eNB addresses are needed in this case, one bind address and one "remote-accessable" address for the UEs ZMQ radio to connect to Change-Id: I4fe38f31401428ed3e74e1d0b64960f0af122d37 --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/srsenb.conf.tmpl 4 files changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/14/17814/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17814 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: I4fe38f31401428ed3e74e1d0b64960f0af122d37 Gerrit-Change-Number: 17814 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 16 22:42:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 16 Apr 2020 22:42:52 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add optional gtp_bind_addr paramter to enb class In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17814 ) Change subject: enb: add optional gtp_bind_addr paramter to enb class ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17814 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: I4fe38f31401428ed3e74e1d0b64960f0af122d37 Gerrit-Change-Number: 17814 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Thu, 16 Apr 2020 22:42: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 Thu Apr 16 22:42:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 16 Apr 2020 22:42:55 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add optional gtp_bind_addr paramter to enb class In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17814 ) Change subject: enb: add optional gtp_bind_addr paramter to enb class ...................................................................... enb: add optional gtp_bind_addr paramter to enb class this allows to optionally specify a the GTP bind_address for a enb object in the resources.conf this address is then used for binding the listening socket for gtp connections which, in turn, allows to run the enb and epc on the same host. when gtp_bind_addr is not specified, addr is used by default this is especially useful if eNB and EPC run on the same host and ZMQ is used for RF between eNB and UE. Two eNB addresses are needed in this case, one bind address and one "remote-accessable" address for the UEs ZMQ radio to connect to Change-Id: I4fe38f31401428ed3e74e1d0b64960f0af122d37 --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/srsenb.conf.tmpl 4 files changed, 7 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index bb5053f..d1f8687 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -32,6 +32,9 @@ self._addr = conf.get('addr', None) if self._addr is None: raise log.Error('addr not set') + self._gtp_bind_addr = conf.get('gtp_bind_addr', None) + if self._gtp_bind_addr is None: + self._gtp_bind_addr = self._addr self.set_name('%s_%s' % (name, self._addr)) self._txmode = 0 self._num_prb = 0 @@ -52,6 +55,7 @@ config.overlay(values, dict(enb={ 'num_ports': self.num_ports() })) assert self._epc is not None config.overlay(values, dict(enb={ 'mme_addr': self._epc.addr() })) + config.overlay(values, dict(enb={ 'gtp_bind_addr': self._gtp_bind_addr })) return values def num_ports(self): diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 61f2b11..bcdbb94 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -88,6 +88,7 @@ 'enb[].type': schema.STR, 'enb[].remote_user': schema.STR, 'enb[].addr': schema.IPV4, + 'enb[].gtp_bind_addr': schema.IPV4, 'enb[].num_prb': schema.UINT, 'enb[].transmission_mode': schema.LTE_TRANSMISSION_MODE, 'enb[].num_cells': schema.UINT, diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index d87e66a..a56e58d 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -48,7 +48,7 @@ ], /* GTP bind address (=address of the ethernet interface connected to the MME). Must be modified if the MME runs on a different host. */ - gtp_addr: "${enb.addr}", + gtp_addr: "${enb.gtp_bind_addr}", /* high 20 bits of SIB1.cellIdentifier */ enb_id: 0x19B, diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index df12762..94e724b 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -23,7 +23,7 @@ mcc = ${enb.mcc} mnc = ${enb.mnc} mme_addr = ${enb.mme_addr} -gtp_bind_addr = ${enb.addr} +gtp_bind_addr = ${enb.gtp_bind_addr} s1c_bind_addr = ${enb.addr} n_prb = ${enb.num_prb} tm = ${enb.transmission_mode} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17814 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: I4fe38f31401428ed3e74e1d0b64960f0af122d37 Gerrit-Change-Number: 17814 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Apr 17 02:08:58 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 17 Apr 2020 02:08:58 +0000 Subject: Build failure of network:osmocom:latest/eclipse-titan in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5e990fcb7906d_22642b1e24d545f41940e4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/eclipse-titan/Debian_9.0/armv7l Package network:osmocom:latest/eclipse-titan failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest eclipse-titan Last lines of build log: [ 1012s] -s: parse and validate only - no TTCN-3 module generation [ 1012s] -t: disable the generation of timing information in TTCN-3 modules [ 1012s] -v: show version information [ 1012s] -w: suppress warnings [ 1012s] -x: disable schema validation but generate TTCN-3 modules [ 1012s] -z: zap URI scheme from module name [ 1012s] Makefile:284: recipe for target 'TitanLoggerApi.ttcn' failed [ 1012s] make[4]: *** [TitanLoggerApi.ttcn] Error 1 [ 1012s] make[4]: Leaving directory '/usr/src/packages/BUILD/core' [ 1012s] ../../Makefile.genrules:60: recipe for target '../../core/RInt.o' failed [ 1012s] make[3]: *** [../../core/RInt.o] Error 2 [ 1012s] make[3]: Leaving directory '/usr/src/packages/BUILD/mctr2/mctr' [ 1012s] Makefile:32: recipe for target 'all' failed [ 1012s] make[2]: *** [all] Error 2 [ 1012s] make[2]: Leaving directory '/usr/src/packages/BUILD/mctr2' [ 1012s] Makefile:65: recipe for target 'all' failed [ 1012s] make[1]: *** [all] Error 2 [ 1012s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 1012s] dh_auto_build: make -j1 returned exit code 2 [ 1012s] debian/rules:6: recipe for target 'build' failed [ 1012s] make: *** [build] Error 2 [ 1012s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 1012s] ### VM INTERACTION START ### [ 1015s] [ 975.886071] sysrq: SysRq : Power Off [ 1015s] [ 975.911297] reboot: Power down [ 1015s] ### VM INTERACTION END ### [ 1015s] [ 1015s] armbuild01 failed "build eclipse-titan_6.5.0-1.dsc" at Fri Apr 17 02:08:46 UTC 2020. [ 1015s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Apr 17 08:38:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 08:38:32 +0000 Subject: Change in libosmocore[master]: ports.h: Add 4268 for UECUPS VTY References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17840 ) Change subject: ports.h: Add 4268 for UECUPS VTY ...................................................................... ports.h: Add 4268 for UECUPS VTY Change-Id: I6c53654f06fac6b6b196be88178a918d38e91e46 --- M include/osmocom/vty/ports.h 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/40/17840/1 diff --git a/include/osmocom/vty/ports.h b/include/osmocom/vty/ports.h index 201e115..56f7307 100644 --- a/include/osmocom/vty/ports.h +++ b/include/osmocom/vty/ports.h @@ -34,4 +34,5 @@ #define OSMO_VTY_PORT_HNBGW 4261 /* 4262-4263 used by control interface */ #define OSMO_VTY_PORT_CBC 4264 +#define OSMO_VTY_PORT_UECUPS 4268 /* When adding/changing port numbers, keep docs and wiki in sync. See above. */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17840 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6c53654f06fac6b6b196be88178a918d38e91e46 Gerrit-Change-Number: 17840 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 Apr 17 10:05:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:05:38 +0000 Subject: Change in libosmocore[master]: ports.h: Add 4268 for UECUPS VTY In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17840 ) Change subject: ports.h: Add 4268 for UECUPS VTY ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17840 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6c53654f06fac6b6b196be88178a918d38e91e46 Gerrit-Change-Number: 17840 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 10: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 Fri Apr 17 10:05:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:05:41 +0000 Subject: Change in libosmocore[master]: ports.h: Add 4268 for UECUPS VTY In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17840 ) Change subject: ports.h: Add 4268 for UECUPS VTY ...................................................................... ports.h: Add 4268 for UECUPS VTY Change-Id: I6c53654f06fac6b6b196be88178a918d38e91e46 --- M include/osmocom/vty/ports.h 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/vty/ports.h b/include/osmocom/vty/ports.h index 201e115..56f7307 100644 --- a/include/osmocom/vty/ports.h +++ b/include/osmocom/vty/ports.h @@ -34,4 +34,5 @@ #define OSMO_VTY_PORT_HNBGW 4261 /* 4262-4263 used by control interface */ #define OSMO_VTY_PORT_CBC 4264 +#define OSMO_VTY_PORT_UECUPS 4268 /* When adding/changing port numbers, keep docs and wiki in sync. See above. */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17840 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6c53654f06fac6b6b196be88178a918d38e91e46 Gerrit-Change-Number: 17840 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 Fri Apr 17 10:05:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:05:55 +0000 Subject: Change in osmo-gsm-manuals[master]: logging: fix section 6.5.3: logging level s/all/force-all/ fatal In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17838 ) Change subject: logging: fix section 6.5.3: logging level s/all/force-all/ fatal ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17838 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: I759d96716e964d499c0724d481b2f3e5062fb052 Gerrit-Change-Number: 17838 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 10: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 Fri Apr 17 10:06:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:06:35 +0000 Subject: Change in osmo-gsm-manuals[master]: port_numbers: fix: GSMTAP has noting to do with port 2427/udp In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17839 ) Change subject: port_numbers: fix: GSMTAP has noting to do with port 2427/udp ...................................................................... Patch Set 2: well, then let's add the actual GSMTAP port nmber instead of removing it? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17839 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: Ic37ee2e2da290521ac226a9720d48fbbe0883f3d Gerrit-Change-Number: 17839 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 10:06:35 +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 Apr 17 10:07:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:07:04 +0000 Subject: Change in osmo-gsm-manuals[master]: port_numbers: fix: GSMTAP has noting to do with port 2427/udp In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17839 ) Change subject: port_numbers: fix: GSMTAP has noting to do with port 2427/udp ...................................................................... Patch Set 2: Code-Review+2 > Patch Set 2: > > well, then let's add the actual GSMTAP port nmber instead of removing it? nevermind, it's there. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17839 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: Ic37ee2e2da290521ac226a9720d48fbbe0883f3d Gerrit-Change-Number: 17839 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 10:07: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 Apr 17 10:07:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:07:06 +0000 Subject: Change in osmo-gsm-manuals[master]: logging: fix section 6.5.3: logging level s/all/force-all/ fatal In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17838 ) Change subject: logging: fix section 6.5.3: logging level s/all/force-all/ fatal ...................................................................... logging: fix section 6.5.3: logging level s/all/force-all/ fatal The special 'all' keyword has been deprecated a long time ago due to its ambiguity, and replaced by 'force-all'. Change-Id: I759d96716e964d499c0724d481b2f3e5062fb052 --- M common/chapters/logging.adoc 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/common/chapters/logging.adoc b/common/chapters/logging.adoc index 927c498..11ec774 100644 --- a/common/chapters/logging.adoc +++ b/common/chapters/logging.adoc @@ -227,7 +227,7 @@ OsmoBSC> enable OsmoBSC# configure terminal OsmoBSC(config)# log stderr -OsmoBSC(config-log)# logging level all fatal +OsmoBSC(config-log)# logging level force-all fatal ---- ==== Logging to a file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17838 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: I759d96716e964d499c0724d481b2f3e5062fb052 Gerrit-Change-Number: 17838 Gerrit-PatchSet: 1 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 Fri Apr 17 10:07:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:07:07 +0000 Subject: Change in osmo-gsm-manuals[master]: port_numbers: fix: GSMTAP has noting to do with port 2427/udp In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17839 ) Change subject: port_numbers: fix: GSMTAP has noting to do with port 2427/udp ...................................................................... port_numbers: fix: GSMTAP has noting to do with port 2427/udp Change-Id: Ic37ee2e2da290521ac226a9720d48fbbe0883f3d --- M common/chapters/port_numbers.adoc 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/common/chapters/port_numbers.adoc b/common/chapters/port_numbers.adoc index a5b9036..2ab698a 100644 --- a/common/chapters/port_numbers.adoc +++ b/common/chapters/port_numbers.adoc @@ -47,7 +47,6 @@ |TCP|4267|Control Interface|osmo-mgw |UDP|4729|GSMTAP|Almost every osmocom project |TCP|5000|A/IP|osmo-bsc, osmo-bsc_nat -|UDP|2427|GSMTAP|osmo-pcu, osmo-bts |UDP|23000|GPRS-NS over IP default port|osmo-pcu, osmo-sgsn, osmo-gbproxy |=============== //// -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17839 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: Ic37ee2e2da290521ac226a9720d48fbbe0883f3d Gerrit-Change-Number: 17839 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 Fri Apr 17 10:07:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:07:22 +0000 Subject: Change in osmo-uecups[master]: add jenkins.sh In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17829 ) Change subject: add jenkins.sh ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17829 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I5de3a4ee209ae78346aaa4ce5734b5ef213e5c07 Gerrit-Change-Number: 17829 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 10:07: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 Fri Apr 17 10:07:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:07:26 +0000 Subject: Change in osmo-uecups[master]: add jenkins.sh In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17829 ) Change subject: add jenkins.sh ...................................................................... add jenkins.sh Change-Id: I5de3a4ee209ae78346aaa4ce5734b5ef213e5c07 --- A contrib/jenkins.sh 1 file changed, 34 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh new file mode 100755 index 0000000..f455fcc --- /dev/null +++ b/contrib/jenkins.sh @@ -0,0 +1,34 @@ +#!/bin/sh +# jenkins build helper script for osmocom-bb. This is how we build on jenkins.osmocom.org + +set -ex + +base="$PWD" +deps="$base/deps" +inst="$deps/install" +export deps inst + +osmo-clean-workspace.sh + +mkdir "$deps" || true + +osmo-build-dep.sh libosmocore "" ac_cv_path_DOXYGEN=false +osmo-build-dep.sh libosmo-abis "" ac_cv_path_DOXYGEN=false +osmo-build-dep.sh libosmo-netif "" ac_cv_path_DOXYGEN=false + +export PKG_CONFIG_PATH="$inst/lib/pkgconfig:$PKG_CONFIG_PATH" +export LD_LIBRARY_PATH="$inst/lib" + +set +x +echo +echo +echo +echo " =============================== osmo-uecups =============================" +echo +set -x + +cd daemon +make + +osmo-clean-workspace.sh + -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17829 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I5de3a4ee209ae78346aaa4ce5734b5ef213e5c07 Gerrit-Change-Number: 17829 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 Apr 17 10:08:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:08:19 +0000 Subject: Change in osmo-pcu[master]: direct-phy: fix handle_ph_ra_ind(): handle PH-RA.ind on PRACH SAPI In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17669 ) Change subject: direct-phy: fix handle_ph_ra_ind(): handle PH-RA.ind on PRACH SAPI ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib0a6da37de7a1db4cad2b96293b31b9f32e7d9eb Gerrit-Change-Number: 17669 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 10:08: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 Apr 17 10:09:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:09:15 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Avoid adding extra autogenerated local link ipv6 addr to tun... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17812 ) Change subject: sgsnemu: Avoid adding extra autogenerated local link ipv6 addr to tun iface ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I1d51f3ca91edbb3b788939982ab63264182ec2ce Gerrit-Change-Number: 17812 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 10:09: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 Apr 17 10:09:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:09:23 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Fix ping transmitted statistics output In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17817 ) Change subject: sgsnemu: Fix ping transmitted statistics output ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I6e23e024ee30d6049c6b8b614c50d062d80a5260 Gerrit-Change-Number: 17817 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 10:09: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 Apr 17 10:09:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:09:29 +0000 Subject: Change in osmo-ggsn[master]: cosmetic: icmpv6.c: fix typo in comment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17818 ) Change subject: cosmetic: icmpv6.c: fix typo in comment ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17818 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2217dfb0b0a1e6e029ac817902e80c771ed219c3 Gerrit-Change-Number: 17818 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 10:09: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 Apr 17 10:09:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:09:38 +0000 Subject: Change in osmo-ggsn[master]: icmpv6.c: Mark internal function as static In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17819 ) Change subject: icmpv6.c: Mark internal function as static ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17819 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ib38907c3a05c1651faa86ef57381ee22643e0d53 Gerrit-Change-Number: 17819 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 10:09: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 Apr 17 10:10:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:10:01 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Get rid of duplicated options.destaddr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17820 ) Change subject: sgsnemu: Get rid of duplicated options.destaddr ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5a4e3c4b5ae43a89a7d0af62fb396311dcb6ebae Gerrit-Change-Number: 17820 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 10:10: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 Apr 17 10:10:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:10:16 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Get rid of duplicated options.net In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17821 ) Change subject: sgsnemu: Get rid of duplicated options.net ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Id3cdca0975bdd2893b4b83944c5ebf29b2994622 Gerrit-Change-Number: 17821 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 10:10: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 Fri Apr 17 10:10:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:10:32 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Avoid adding extra autogenerated local link ipv6 addr to tun... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17812 ) Change subject: sgsnemu: Avoid adding extra autogenerated local link ipv6 addr to tun iface ...................................................................... sgsnemu: Avoid adding extra autogenerated local link ipv6 addr to tun iface It's not needed because a link-local address will be added as a result of Create Pdp Context Response. Morevoer, it fools sgsnemu ip addr verifications since it gets used on some scenarios by applications. Change-Id: I1d51f3ca91edbb3b788939982ab63264182ec2ce --- M sgsnemu/sgsnemu.c 1 file changed, 47 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 22be2fe..9d82145 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -46,6 +46,10 @@ #include #include +#if defined(__linux__) +#include +#endif + #include "config.h" #include "../lib/tun.h" #include "../lib/ippool.h" @@ -999,6 +1003,37 @@ return proc_read(path); } +/* write a single value to a /proc file */ +static int proc_write(const char *path, const char *value) +{ + int ret; + FILE *f; + + f = fopen(path, "w"); + if (!f) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "fopen(%s) failed!\n", path); + return -1; + } + + if ((ret = fputs(value, f)) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "proc_write(%s, %s) failed!\n", path, value); + } else { + ret = 0; + } + fclose(f); + return ret; +} + +/* Write value of to /proc/sys/net/ipv6/conf file for given device. + * Memory is dynamically allocated, caller must free it later. */ +static int proc_ipv6_conf_write(const char *dev, const char *file, const char *value) +{ + const char *fmt = "/proc/sys/net/ipv6/conf/%s/%s"; + char path[strlen(fmt) + strlen(dev) + strlen(file)+1]; + snprintf(path, sizeof(path), fmt, dev, file); + return proc_write(path, value); +} + static char *print_ipprot(int t) { struct protoent *pe = getprotobynumber(t); @@ -1604,6 +1639,7 @@ struct timeval tv; int diff; #if defined(__linux__) + char buf[10]; sigset_t oldmask; #endif @@ -1668,6 +1704,17 @@ "Failed to create tun"); exit(1); } + +#if defined(__linux__) + /* Avoid tunnel setting its own link-local addr automatically, we don't need it. */ + snprintf(buf, sizeof(buf), "%u", IN6_ADDR_GEN_MODE_NONE); + if (proc_ipv6_conf_write(options.tun_dev_name, "addr_gen_mode", buf) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, errno, + "Failed to disable addr_gen_mode on %s\n", options.tun_dev_name); + exit(1); + } +#endif + tun_set_cb_ind(tun, cb_tun_ind); if (tun->fd > maxfd) maxfd = tun->fd; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I1d51f3ca91edbb3b788939982ab63264182ec2ce Gerrit-Change-Number: 17812 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 Fri Apr 17 10:10:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:10:32 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Fix ping transmitted statistics output In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17817 ) Change subject: sgsnemu: Fix ping transmitted statistics output ...................................................................... sgsnemu: Fix ping transmitted statistics output Change-Id: I6e23e024ee30d6049c6b8b614c50d062d80a5260 --- M sgsnemu/sgsnemu.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 9d82145..66ca228 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -1197,7 +1197,7 @@ if (nreceived && tsum) printf("round-trip (ms) min/avg/max = %.3f/%.3f/%.3f\n\n", tmin / 1000.0, tsum / 1000.0 / nreceived, tmax / 1000.0); - printf("%d packets transmitted \n", ntreceived); + printf("%d packets transmitted \n", ntransmitted); ntransmitted = 0; return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I6e23e024ee30d6049c6b8b614c50d062d80a5260 Gerrit-Change-Number: 17817 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 Fri Apr 17 10:10:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:10:32 +0000 Subject: Change in osmo-ggsn[master]: cosmetic: icmpv6.c: fix typo in comment In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17818 ) Change subject: cosmetic: icmpv6.c: fix typo in comment ...................................................................... cosmetic: icmpv6.c: fix typo in comment Change-Id: I2217dfb0b0a1e6e029ac817902e80c771ed219c3 --- M lib/icmpv6.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/lib/icmpv6.c b/lib/icmpv6.c index a6545fd..63acc0e 100644 --- a/lib/icmpv6.c +++ b/lib/icmpv6.c @@ -161,7 +161,7 @@ return msg; } -/* Walidate an ICMPv6 router solicitation according to RFC4861 6.1.1 */ +/* Validate an ICMPv6 router solicitation according to RFC4861 6.1.1 */ static bool icmpv6_validate_router_solicit(const uint8_t *pack, unsigned len) { const struct ip6_hdr *ip6h = (struct ip6_hdr *)pack; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17818 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2217dfb0b0a1e6e029ac817902e80c771ed219c3 Gerrit-Change-Number: 17818 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 Fri Apr 17 10:10:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:10:32 +0000 Subject: Change in osmo-ggsn[master]: icmpv6.c: Mark internal function as static In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17819 ) Change subject: icmpv6.c: Mark internal function as static ...................................................................... icmpv6.c: Mark internal function as static Change-Id: Ib38907c3a05c1651faa86ef57381ee22643e0d53 --- M lib/icmpv6.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/lib/icmpv6.c b/lib/icmpv6.c index 63acc0e..804a212 100644 --- a/lib/icmpv6.c +++ b/lib/icmpv6.c @@ -97,7 +97,7 @@ * \param[in] daddr Destination IPv6 address for router advertisement IPv6 header * \param[in] prefix The single prefix to be advertised (/64 implied!) * \returns callee-allocated message buffer containing router advertisement */ -struct msgb *icmpv6_construct_ra(const struct in6_addr *saddr, +static struct msgb *icmpv6_construct_ra(const struct in6_addr *saddr, const struct in6_addr *daddr, const struct in6_addr *prefix) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17819 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ib38907c3a05c1651faa86ef57381ee22643e0d53 Gerrit-Change-Number: 17819 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 Fri Apr 17 10:10:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:10:33 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Get rid of duplicated options.destaddr In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17820 ) Change subject: sgsnemu: Get rid of duplicated options.destaddr ...................................................................... sgsnemu: Get rid of duplicated options.destaddr It's not really set by any cmdline arg, and it always contains same content as options.netaddr. Change-Id: I5a4e3c4b5ae43a89a7d0af62fb396311dcb6ebae --- M sgsnemu/sgsnemu.c 1 file changed, 3 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 66ca228..94c7e13 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -96,7 +96,7 @@ int createif; /* Create local network interface */ char *tun_dev_name; char *netns; - struct in46_addr netaddr, destaddr, net; /* Network interface */ + struct in46_addr netaddr, net; /* Network interface */ size_t prefixlen; char *ipup, *ipdown; /* Filename of scripts */ int defaultroute; /* Set up default route */ @@ -896,13 +896,11 @@ exit(1); } options.netaddr = options.net; - options.destaddr = options.net; } else { memset(&options.net, 0, sizeof(options.net)); options.prefixlen = 0; memset(&options.netaddr, 0, sizeof(options.netaddr)); - memset(&options.destaddr, 0, sizeof(options.destaddr)); } /* ipup */ @@ -1721,12 +1719,11 @@ } if ((options.createif) && (options.net.len)) { - /* printf("Setting up interface and routing\n"); */ - tun_addaddr(tun, &options.netaddr, &options.destaddr, options.prefixlen); + tun_addaddr(tun, &options.netaddr, NULL, options.prefixlen); if (options.defaultroute) { struct in_addr rm; rm.s_addr = 0; - netdev_addroute(&rm, &options.destaddr.v4, &rm); + netdev_addroute(&rm, &options.netaddr.v4, &rm); } if (options.ipup) tun_runscript(tun, options.ipup); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5a4e3c4b5ae43a89a7d0af62fb396311dcb6ebae Gerrit-Change-Number: 17820 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 Fri Apr 17 10:10:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:10:33 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Get rid of duplicated options.net In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17821 ) Change subject: sgsnemu: Get rid of duplicated options.net ...................................................................... sgsnemu: Get rid of duplicated options.net It's not really set by any cmdline arg, and it always contains same content as options.netaddr. Change-Id: Id3cdca0975bdd2893b4b83944c5ebf29b2994622 --- M sgsnemu/sgsnemu.c 1 file changed, 4 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 94c7e13..45f07f5 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -96,7 +96,7 @@ int createif; /* Create local network interface */ char *tun_dev_name; char *netns; - struct in46_addr netaddr, net; /* Network interface */ + struct in46_addr netaddr; /* Network interface */ size_t prefixlen; char *ipup, *ipdown; /* Filename of scripts */ int defaultroute; /* Set up default route */ @@ -889,16 +889,13 @@ /* Store net as in_addr net and mask */ if (args_info.net_arg) { if (ippool_aton - (&options.net, &options.prefixlen, args_info.net_arg, 0)) { + (&options.netaddr, &options.prefixlen, args_info.net_arg, 0)) { SYS_ERR(DSGSN, LOGL_ERROR, 0, "Invalid network address: %s!", args_info.net_arg); exit(1); } - options.netaddr = options.net; - } else { - memset(&options.net, 0, sizeof(options.net)); options.prefixlen = 0; memset(&options.netaddr, 0, sizeof(options.netaddr)); } @@ -1512,7 +1509,7 @@ break; } - if ((options.createif) && (!options.net.len)) { + if ((options.createif) && (!options.netaddr.len)) { size_t prefixlen = 32; if (addr[i].len == 16) prefixlen = 64; @@ -1718,7 +1715,7 @@ maxfd = tun->fd; } - if ((options.createif) && (options.net.len)) { + if ((options.createif) && (options.netaddr.len)) { tun_addaddr(tun, &options.netaddr, NULL, options.prefixlen); if (options.defaultroute) { struct in_addr rm; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Id3cdca0975bdd2893b4b83944c5ebf29b2994622 Gerrit-Change-Number: 17821 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 Fri Apr 17 10:10:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:10:56 +0000 Subject: Change in osmo-ggsn[master]: icmpv6.c: Move code generating ipv6 hdr to its own function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17823 ) Change subject: icmpv6.c: Move code generating ipv6 hdr to its own function ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I3c108efad6461cd4e82ef435290005174bc8b30e Gerrit-Change-Number: 17823 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 10:10: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 Apr 17 10:10:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:10:58 +0000 Subject: Change in osmo-ggsn[master]: icmpv6.c: Move code generating ipv6 hdr to its own function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17823 ) Change subject: icmpv6.c: Move code generating ipv6 hdr to its own function ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I3c108efad6461cd4e82ef435290005174bc8b30e Gerrit-Change-Number: 17823 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 10:10: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 Apr 17 10:11:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:11:20 +0000 Subject: Change in osmo-ggsn[master]: Rename netdev_*route to end in route4 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17824 ) Change subject: Rename netdev_*route to end in route4 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ic6c1b3c11c56f047e6e8c6f1040257fd62afea0f Gerrit-Change-Number: 17824 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 10:11: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 Apr 17 10:12:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:12:26 +0000 Subject: Change in pysim[master]: Add ability to parse SIM Service Table (EF.SST) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17831 ) Change subject: Add ability to parse SIM Service Table (EF.SST) ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id28a35727adbaaa9df19b1adc621a0c51ad0e51b Gerrit-Change-Number: 17831 Gerrit-PatchSet: 5 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 10: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 Fri Apr 17 10:12:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:12:40 +0000 Subject: Change in pysim[master]: Define mapping between USIM Service Number and its description In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17832 ) Change subject: Define mapping between USIM Service Number and its description ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia9025a4be6ba29fe79ca4bf6c7a452188ea3d454 Gerrit-Change-Number: 17832 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 10:12: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 Apr 17 10:13:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:13:01 +0000 Subject: Change in pysim[master]: Add ability to parse SIM Service Table (EF.SST) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17831 ) Change subject: Add ability to parse SIM Service Table (EF.SST) ...................................................................... Add ability to parse SIM Service Table (EF.SST) As per TS.51.011, This EF indicates which services in the SIM are allocated, and whether, if allocated, the service is activated .If a service is not indicated as available in the SIM, the ME shall not select this service. Change-Id: Id28a35727adbaaa9df19b1adc621a0c51ad0e51b --- M pySim-read.py M pySim/cards.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 8 files changed, 264 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index 98a2e81..31a3374 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -28,7 +28,7 @@ import random import re import sys -from pySim.ts_51_011 import EF, DF +from pySim.ts_51_011 import EF, DF, EF_SST_map from pySim.commands import SimCardCommands from pySim.cards import card_detect, Card @@ -219,5 +219,19 @@ else: print("AD: Can't read, response code = %s" % (sw,)) + # EF.SST + (res, sw) = card.read_sst() + if sw == '9000': + # (st_hex, avail_src_list) = res + # st_hex - Service Table in hex format + # avail_src_list - List of services available + print("SIM Service Table: %s" % res[0]) + # Print those which are available + for s in res[1]: + if s in EF_SST_map: + print('\tService %d - %s: %s' % (s, EF_SST_map[s], s in res[1])) + else: + print("SIM Service Table: Can't read, response code = %s" % (sw,)) + # Done for this card and maybe for everything ? print("Done !\n") diff --git a/pySim/cards.py b/pySim/cards.py index d27092d..a12b111 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -188,7 +188,15 @@ else: return (None, sw) - # Read the (full) AID for either ISIM or USIM application + # Read SIM Service table + def read_sst(self): + (res, sw) = self._scc.read_binary(EF['SST']) + if sw == '9000': + return ((res, parse_st(res)), sw) + else: + return (None, sw) + + # Read the (full) AID for either ISIM or USIM or ISIM application def read_aid(self, isim = False): # First (known) halves of the AID diff --git a/pysim-testdata/Fairwaves-SIM.ok b/pysim-testdata/Fairwaves-SIM.ok index ffe9c42..1dbaab6 100644 --- a/pysim-testdata/Fairwaves-SIM.ok +++ b/pysim-testdata/Fairwaves-SIM.ok @@ -43,5 +43,47 @@ ACC: 0008 MSISDN: Not available AD: 00000002 +SIM Service Table: ff3cc3ff030fff0f000fff03f0c0 + Service 1 - CHV1 disable function: True + Service 2 - Abbreviated Dialling Numbers (ADN): True + Service 3 - Fixed Dialling Numbers (FDN): True + Service 4 - Short Message Storage (SMS): True + Service 5 - Advice of Charge (AoC): True + Service 6 - Capability Configuration Parameters (CCP): True + Service 7 - PLMN selector: True + Service 8 - RFU: True + Service 11 - Extension2: True + Service 12 - SMS Parameters: True + Service 13 - Last Number Dialled (LND): True + Service 14 - Cell Broadcast Message Identifier: True + Service 17 - Service Provider Name: True + Service 18 - Service Dialling Numbers (SDN): True + Service 23 - enhanced Multi-Level Precedence and Pre-emption Service: True + Service 24 - Automatic Answer for eMLPP: True + Service 25 - Data download via SMS-CB: True + Service 26 - Data download via SMS-PP: True + Service 27 - Menu selection: True + Service 28 - Call control: True + Service 29 - Proactive SIM: True + Service 30 - Cell Broadcast Message Identifier Ranges: True + Service 31 - Barred Dialling Numbers (BDN): True + Service 32 - Extension4: True + Service 33 - De-personalization Control Keys: True + Service 34 - Co-operative Network List: True + Service 41 - USSD string data object supported in Call Control: True + Service 42 - RUN AT COMMAND command: True + Service 43 - User controlled PLMN Selector with Access Technology: True + Service 44 - Operator controlled PLMN Selector with Access Technology: True + Service 49 - MExE: True + Service 50 - Reserved and shall be ignored: True + Service 51 - PLMN Network Name: True + Service 52 - Operator PLMN List: True + Service 53 - Mailbox Dialling Numbers: True + Service 54 - Message Waiting Indication Status: True + Service 55 - Call Forwarding Indication Status: True + Service 56 - Service Provider Display Information: True + Service 57 - Multimedia Messaging Service (MMS): True + Service 58 - Extension 8: True + Service 59 - MMS User Connectivity Parameters: True Done ! diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok index 03191b3..e72599f 100644 --- a/pysim-testdata/Wavemobile-SIM.ok +++ b/pysim-testdata/Wavemobile-SIM.ok @@ -50,5 +50,45 @@ ACC: abce MSISDN: Not available AD: 00ffff02 +SIM Service Table: ff33ff0f3c00ff0f000cf0c0f0030000 + Service 1 - CHV1 disable function: True + Service 2 - Abbreviated Dialling Numbers (ADN): True + Service 3 - Fixed Dialling Numbers (FDN): True + Service 4 - Short Message Storage (SMS): True + Service 5 - Advice of Charge (AoC): True + Service 6 - Capability Configuration Parameters (CCP): True + Service 7 - PLMN selector: True + Service 8 - RFU: True + Service 9 - MSISDN: True + Service 10 - Extension1: True + Service 13 - Last Number Dialled (LND): True + Service 14 - Cell Broadcast Message Identifier: True + Service 17 - Service Provider Name: True + Service 18 - Service Dialling Numbers (SDN): True + Service 19 - Extension3: True + Service 20 - RFU: True + Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS): True + Service 22 - VBS Group Identifier List (EFVBS and EFVBSS): True + Service 23 - enhanced Multi-Level Precedence and Pre-emption Service: True + Service 24 - Automatic Answer for eMLPP: True + Service 25 - Data download via SMS-CB: True + Service 26 - Data download via SMS-PP: True + Service 27 - Menu selection: True + Service 28 - Call control: True + Service 35 - Short Message Status Reports: True + Service 36 - Network's indication of alerting in the MS: True + Service 37 - Mobile Originated Short Message control by SIM: True + Service 38 - GPRS: True + Service 49 - MExE: True + Service 50 - Reserved and shall be ignored: True + Service 51 - PLMN Network Name: True + Service 52 - Operator PLMN List: True + Service 53 - Mailbox Dialling Numbers: True + Service 54 - Message Waiting Indication Status: True + Service 55 - Call Forwarding Indication Status: True + Service 56 - Service Provider Display Information: True + Service 57 - Multimedia Messaging Service (MMS): True + Service 58 - Extension 8: True + Service 59 - MMS User Connectivity Parameters: True Done ! diff --git a/pysim-testdata/fakemagicsim.ok b/pysim-testdata/fakemagicsim.ok index 4ee5c7f..fc5bcdf 100644 --- a/pysim-testdata/fakemagicsim.ok +++ b/pysim-testdata/fakemagicsim.ok @@ -16,5 +16,40 @@ ACC: ffff MSISDN: Not available AD: 000000 +SIM Service Table: ff3fff0f0300f003000c + Service 1 - CHV1 disable function: True + Service 2 - Abbreviated Dialling Numbers (ADN): True + Service 3 - Fixed Dialling Numbers (FDN): True + Service 4 - Short Message Storage (SMS): True + Service 5 - Advice of Charge (AoC): True + Service 6 - Capability Configuration Parameters (CCP): True + Service 7 - PLMN selector: True + Service 8 - RFU: True + Service 9 - MSISDN: True + Service 10 - Extension1: True + Service 11 - Extension2: True + Service 12 - SMS Parameters: True + Service 13 - Last Number Dialled (LND): True + Service 14 - Cell Broadcast Message Identifier: True + Service 17 - Service Provider Name: True + Service 18 - Service Dialling Numbers (SDN): True + Service 19 - Extension3: True + Service 20 - RFU: True + Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS): True + Service 22 - VBS Group Identifier List (EFVBS and EFVBSS): True + Service 23 - enhanced Multi-Level Precedence and Pre-emption Service: True + Service 24 - Automatic Answer for eMLPP: True + Service 25 - Data download via SMS-CB: True + Service 26 - Data download via SMS-PP: True + Service 27 - Menu selection: True + Service 28 - Call control: True + Service 33 - De-personalization Control Keys: True + Service 34 - Co-operative Network List: True + Service 53 - Mailbox Dialling Numbers: True + Service 54 - Message Waiting Indication Status: True + Service 55 - Call Forwarding Indication Status: True + Service 56 - Service Provider Display Information: True + Service 57 - Multimedia Messaging Service (MMS): True + Service 58 - Extension 8: True Done ! diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index 0ccb8e9..205cddf 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -55,5 +55,49 @@ ACC: 0001 MSISDN (NPI=1 ToN=1): +1234 AD: 00000002 +SIM Service Table: ff33ffff3f003f0f300cf0c3f00000 + Service 1 - CHV1 disable function: True + Service 2 - Abbreviated Dialling Numbers (ADN): True + Service 3 - Fixed Dialling Numbers (FDN): True + Service 4 - Short Message Storage (SMS): True + Service 5 - Advice of Charge (AoC): True + Service 6 - Capability Configuration Parameters (CCP): True + Service 7 - PLMN selector: True + Service 8 - RFU: True + Service 9 - MSISDN: True + Service 10 - Extension1: True + Service 13 - Last Number Dialled (LND): True + Service 14 - Cell Broadcast Message Identifier: True + Service 17 - Service Provider Name: True + Service 18 - Service Dialling Numbers (SDN): True + Service 19 - Extension3: True + Service 20 - RFU: True + Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS): True + Service 22 - VBS Group Identifier List (EFVBS and EFVBSS): True + Service 23 - enhanced Multi-Level Precedence and Pre-emption Service: True + Service 24 - Automatic Answer for eMLPP: True + Service 25 - Data download via SMS-CB: True + Service 26 - Data download via SMS-PP: True + Service 27 - Menu selection: True + Service 28 - Call control: True + Service 29 - Proactive SIM: True + Service 30 - Cell Broadcast Message Identifier Ranges: True + Service 31 - Barred Dialling Numbers (BDN): True + Service 32 - Extension4: True + Service 33 - De-personalization Control Keys: True + Service 34 - Co-operative Network List: True + Service 35 - Short Message Status Reports: True + Service 36 - Network's indication of alerting in the MS: True + Service 37 - Mobile Originated Short Message control by SIM: True + Service 38 - GPRS: True + Service 49 - MExE: True + Service 50 - Reserved and shall be ignored: True + Service 51 - PLMN Network Name: True + Service 52 - Operator PLMN List: True + Service 53 - Mailbox Dialling Numbers: True + Service 54 - Message Waiting Indication Status: True + Service 57 - Multimedia Messaging Service (MMS): True + Service 58 - Extension 8: True + Service 59 - MMS User Connectivity Parameters: True Done ! diff --git a/pysim-testdata/sysmoUSIM-SJS1.ok b/pysim-testdata/sysmoUSIM-SJS1.ok index 0299e3f..89123a0 100644 --- a/pysim-testdata/sysmoUSIM-SJS1.ok +++ b/pysim-testdata/sysmoUSIM-SJS1.ok @@ -55,5 +55,51 @@ ACC: 0008 MSISDN (NPI=1 ToN=1): +77776336143 AD: 00000002 +SIM Service Table: ff3fffff3f003f1ff00c00c0f00000 + Service 1 - CHV1 disable function: True + Service 2 - Abbreviated Dialling Numbers (ADN): True + Service 3 - Fixed Dialling Numbers (FDN): True + Service 4 - Short Message Storage (SMS): True + Service 5 - Advice of Charge (AoC): True + Service 6 - Capability Configuration Parameters (CCP): True + Service 7 - PLMN selector: True + Service 8 - RFU: True + Service 9 - MSISDN: True + Service 10 - Extension1: True + Service 11 - Extension2: True + Service 12 - SMS Parameters: True + Service 13 - Last Number Dialled (LND): True + Service 14 - Cell Broadcast Message Identifier: True + Service 17 - Service Provider Name: True + Service 18 - Service Dialling Numbers (SDN): True + Service 19 - Extension3: True + Service 20 - RFU: True + Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS): True + Service 22 - VBS Group Identifier List (EFVBS and EFVBSS): True + Service 23 - enhanced Multi-Level Precedence and Pre-emption Service: True + Service 24 - Automatic Answer for eMLPP: True + Service 25 - Data download via SMS-CB: True + Service 26 - Data download via SMS-PP: True + Service 27 - Menu selection: True + Service 28 - Call control: True + Service 29 - Proactive SIM: True + Service 30 - Cell Broadcast Message Identifier Ranges: True + Service 31 - Barred Dialling Numbers (BDN): True + Service 32 - Extension4: True + Service 33 - De-personalization Control Keys: True + Service 34 - Co-operative Network List: True + Service 35 - Short Message Status Reports: True + Service 36 - Network's indication of alerting in the MS: True + Service 37 - Mobile Originated Short Message control by SIM: True + Service 38 - GPRS: True + Service 49 - MExE: True + Service 50 - Reserved and shall be ignored: True + Service 51 - PLMN Network Name: True + Service 52 - Operator PLMN List: True + Service 53 - Mailbox Dialling Numbers: True + Service 54 - Message Waiting Indication Status: True + Service 57 - Multimedia Messaging Service (MMS): True + Service 58 - Extension 8: True + Service 59 - MMS User Connectivity Parameters: True Done ! diff --git a/pysim-testdata/sysmosim-gr1.ok b/pysim-testdata/sysmosim-gr1.ok index 04e4965..b231f00 100644 --- a/pysim-testdata/sysmosim-gr1.ok +++ b/pysim-testdata/sysmosim-gr1.ok @@ -16,5 +16,38 @@ ACC: 0008 MSISDN: Not available AD: 000000 +SIM Service Table: ff3fff0f0f0000030000 + Service 1 - CHV1 disable function: True + Service 2 - Abbreviated Dialling Numbers (ADN): True + Service 3 - Fixed Dialling Numbers (FDN): True + Service 4 - Short Message Storage (SMS): True + Service 5 - Advice of Charge (AoC): True + Service 6 - Capability Configuration Parameters (CCP): True + Service 7 - PLMN selector: True + Service 8 - RFU: True + Service 9 - MSISDN: True + Service 10 - Extension1: True + Service 11 - Extension2: True + Service 12 - SMS Parameters: True + Service 13 - Last Number Dialled (LND): True + Service 14 - Cell Broadcast Message Identifier: True + Service 17 - Service Provider Name: True + Service 18 - Service Dialling Numbers (SDN): True + Service 19 - Extension3: True + Service 20 - RFU: True + Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS): True + Service 22 - VBS Group Identifier List (EFVBS and EFVBSS): True + Service 23 - enhanced Multi-Level Precedence and Pre-emption Service: True + Service 24 - Automatic Answer for eMLPP: True + Service 25 - Data download via SMS-CB: True + Service 26 - Data download via SMS-PP: True + Service 27 - Menu selection: True + Service 28 - Call control: True + Service 33 - De-personalization Control Keys: True + Service 34 - Co-operative Network List: True + Service 35 - Short Message Status Reports: True + Service 36 - Network's indication of alerting in the MS: True + Service 57 - Multimedia Messaging Service (MMS): True + Service 58 - Extension 8: True Done ! -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id28a35727adbaaa9df19b1adc621a0c51ad0e51b Gerrit-Change-Number: 17831 Gerrit-PatchSet: 5 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Apr 17 10:13:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:13:02 +0000 Subject: Change in pysim[master]: Define mapping between USIM Service Number and its description In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17832 ) Change subject: Define mapping between USIM Service Number and its description ...................................................................... Define mapping between USIM Service Number and its description This commit introduces a lookup table which maps USIM Service Number to its description. The mapping is defined in 3GPP TS 31.102 version 13.4.0 Release 13, 4.2.8 EF.UST (USIM Service Table) Change-Id: Ia9025a4be6ba29fe79ca4bf6c7a452188ea3d454 --- A pySim/ts_31_102.py 1 file changed, 138 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py new file mode 100644 index 0000000..9f5abe9 --- /dev/null +++ b/pySim/ts_31_102.py @@ -0,0 +1,138 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +Various constants from ETSI TS 131 102 +""" + +# +# Copyright (C) 2020 Supreeth Herle +# +# 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 . +# + +# Mapping between USIM Service Number and its description +EF_UST_map = { + 1: 'Local Phone Book', + 2: 'Fixed Dialling Numbers (FDN)', + 3: 'Extension 2', + 4: 'Service Dialling Numbers (SDN)', + 5: 'Extension3', + 6: 'Barred Dialling Numbers (BDN)', + 7: 'Extension4', + 8: 'Outgoing Call Information (OCI and OCT)', + 9: 'Incoming Call Information (ICI and ICT)', + 10: 'Short Message Storage (SMS)', + 11: 'Short Message Status Reports (SMSR)', + 12: 'Short Message Service Parameters (SMSP)', + 13: 'Advice of Charge (AoC)', + 14: 'Capability Configuration Parameters 2 (CCP2)', + 15: 'Cell Broadcast Message Identifier', + 16: 'Cell Broadcast Message Identifier Ranges', + 17: 'Group Identifier Level 1', + 18: 'Group Identifier Level 2', + 19: 'Service Provider Name', + 20: 'User controlled PLMN selector with Access Technology', + 21: 'MSISDN', + 22: 'Image (IMG)', + 23: 'Support of Localised Service Areas (SoLSA)', + 24: 'Enhanced Multi-Level Precedence and Pre-emption Service', + 25: 'Automatic Answer for eMLPP', + 26: 'RFU', + 27: 'GSM Access', + 28: 'Data download via SMS-PP', + 29: 'Data download via SMS-CB', + 30: 'Call Control by USIM', + 31: 'MO-SMS Control by USIM', + 32: 'RUN AT COMMAND command', + 33: 'shall be set to 1', + 34: 'Enabled Services Table', + 35: 'APN Control List (ACL)', + 36: 'Depersonalisation Control Keys', + 37: 'Co-operative Network List', + 38: 'GSM security context', + 39: 'CPBCCH Information', + 40: 'Investigation Scan', + 41: 'MexE', + 42: 'Operator controlled PLMN selector with Access Technology', + 43: 'HPLMN selector with Access Technology', + 44: 'Extension 5', + 45: 'PLMN Network Name', + 46: 'Operator PLMN List', + 47: 'Mailbox Dialling Numbers', + 48: 'Message Waiting Indication Status', + 49: 'Call Forwarding Indication Status', + 50: 'Reserved and shall be ignored', + 51: 'Service Provider Display Information', + 52: 'Multimedia Messaging Service (MMS)', + 53: 'Extension 8', + 54: 'Call control on GPRS by USIM', + 55: 'MMS User Connectivity Parameters', + 56: 'Network\'s indication of alerting in the MS (NIA)', + 57: 'VGCS Group Identifier List (EFVGCS and EFVGCSS)', + 58: 'VBS Group Identifier List (EFVBS and EFVBSS)', + 59: 'Pseudonym', + 60: 'User Controlled PLMN selector for I-WLAN access', + 61: 'Operator Controlled PLMN selector for I-WLAN access', + 62: 'User controlled WSID list', + 63: 'Operator controlled WSID list', + 64: 'VGCS security', + 65: 'VBS security', + 66: 'WLAN Reauthentication Identity', + 67: 'Multimedia Messages Storage', + 68: 'Generic Bootstrapping Architecture (GBA)', + 69: 'MBMS security', + 70: 'Data download via USSD and USSD application mode', + 71: 'Equivalent HPLMN', + 72: 'Additional TERMINAL PROFILE after UICC activation', + 73: 'Equivalent HPLMN Presentation Indication', + 74: 'Last RPLMN Selection Indication', + 75: 'OMA BCAST Smart Card Profile', + 76: 'GBA-based Local Key Establishment Mechanism', + 77: 'Terminal Applications', + 78: 'Service Provider Name Icon', + 79: 'PLMN Network Name Icon', + 80: 'Connectivity Parameters for USIM IP connections', + 81: 'Home I-WLAN Specific Identifier List', + 82: 'I-WLAN Equivalent HPLMN Presentation Indication', + 83: 'I-WLAN HPLMN Priority Indication', + 84: 'I-WLAN Last Registered PLMN', + 85: 'EPS Mobility Management Information', + 86: 'Allowed CSG Lists and corresponding indications', + 87: 'Call control on EPS PDN connection by USIM', + 88: 'HPLMN Direct Access', + 89: 'eCall Data', + 90: 'Operator CSG Lists and corresponding indications', + 91: 'Support for SM-over-IP', + 92: 'Support of CSG Display Control', + 93: 'Communication Control for IMS by USIM', + 94: 'Extended Terminal Applications', + 95: 'Support of UICC access to IMS', + 96: 'Non-Access Stratum configuration by USIM', + 97: 'PWS configuration by USIM', + 98: 'RFU', + 99: 'URI support by UICC', + 100: 'Extended EARFCN support', + 101: 'ProSe', + 102: 'USAT Application Pairing', + 103: 'Media Type support', + 104: 'IMS call disconnection cause', + 105: 'URI support for MO SHORT MESSAGE CONTROL', + 106: 'ePDG configuration Information support', + 107: 'ePDG configuration Information configured', + 108: 'ACDC support', + 109: 'MCPTT', + 110: 'ePDG configuration Information for Emergency Service support', + 111: 'ePDG configuration Information for Emergency Service configured', +} \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia9025a4be6ba29fe79ca4bf6c7a452188ea3d454 Gerrit-Change-Number: 17832 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth 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 Fri Apr 17 10:13:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:13:26 +0000 Subject: Change in pysim[master]: cards.py: Added method to select ADF by its full AID In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17834 ) Change subject: cards.py: Added method to select ADF by its full AID ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17834 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie5f29eec14f099add1d0978e3e7d4ed3c9130854 Gerrit-Change-Number: 17834 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 10:13: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 Apr 17 10:14:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:14:22 +0000 Subject: Change in osmo-hlr[master]: Cosmetic: mention OS#4491 in location cancel code In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/17815 ) Change subject: Cosmetic: mention OS#4491 in location cancel code ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Idce0816172b92699d86ba3574a4fded0b73333cf Gerrit-Change-Number: 17815 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 17 Apr 2020 10:14: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 Fri Apr 17 10:14:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:14:25 +0000 Subject: Change in osmo-hlr[master]: Cosmetic: mention OS#4491 in location cancel code In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/17815 ) Change subject: Cosmetic: mention OS#4491 in location cancel code ...................................................................... Cosmetic: mention OS#4491 in location cancel code Change-Id: Idce0816172b92699d86ba3574a4fded0b73333cf --- M src/hlr.c M src/luop.c 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/hlr.c b/src/hlr.c index e66444d..ac6afc3 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -401,7 +401,7 @@ /* TODO: Set subscriber tracing = deactive in VLR/SGSN */ #if 0 - /* Cancel in old VLR/SGSN, if new VLR/SGSN differs from old */ + /* Cancel in old VLR/SGSN, if new VLR/SGSN differs from old (FIXME: OS#4491) */ if (luop->is_ps == false && strcmp(subscr->vlr_number, vlr_number)) { lu_op_tx_cancel_old(luop); diff --git a/src/luop.c b/src/luop.c index 1a2f854..e63ba91 100644 --- a/src/luop.c +++ b/src/luop.c @@ -194,7 +194,7 @@ lu_op_free(luop); } -/*! Send Cancel Location to old VLR/SGSN */ +/*! Send Cancel Location to old VLR/SGSN (FIXME: OS#4491) */ void lu_op_tx_cancel_old(struct lu_operation *luop) { struct osmo_gsup_message gsup; -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Idce0816172b92699d86ba3574a4fded0b73333cf Gerrit-Change-Number: 17815 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Apr 17 10:14:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:14:49 +0000 Subject: Change in libosmocore[master]: tests/coding: Test decoding of DL EGPRS data packet In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17750 ) Change subject: tests/coding: Test decoding of DL EGPRS data packet ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17750 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ide23a484b980995f24092d1cfbf062aed58fdf61 Gerrit-Change-Number: 17750 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 17 Apr 2020 10:14: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 Apr 17 10:15:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:15:01 +0000 Subject: Change in libosmocore[master]: tests/coding_test: Fix test_pdtch() results In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17763 ) Change subject: tests/coding_test: Fix test_pdtch() results ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17763 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iffd0ca3669eb8d0d2e80d754fc8acbf72f1bebe8 Gerrit-Change-Number: 17763 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 17 Apr 2020 10: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 Fri Apr 17 10:15:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:15:06 +0000 Subject: Change in libosmocore[master]: tests/coding: Test decoding of DL EGPRS data packet In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17750 ) Change subject: tests/coding: Test decoding of DL EGPRS data packet ...................................................................... tests/coding: Test decoding of DL EGPRS data packet Change-Id: Ide23a484b980995f24092d1cfbf062aed58fdf61 --- M tests/coding/coding_test.c M tests/coding/coding_test.ok 2 files changed, 106 insertions(+), 28 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/coding/coding_test.c b/tests/coding/coding_test.c index 17ddfaa..417c594 100644 --- a/tests/coding/coding_test.c +++ b/tests/coding/coding_test.c @@ -316,7 +316,76 @@ printf("\n"); } -static void test_pdtch(uint8_t *l2, int len) +struct test_macblock { + bool is_egprs; + uint16_t exp_burst_bits; + uint16_t l2_len; + uint8_t l2[54]; +}; + +static struct test_macblock test_macblock[] = { + /* Random frame */ + { false, + GSM0503_GPRS_BURSTS_NBITS, + 54, + { 0xa3, 0xaf, 0x5f, 0xc6, 0x36, 0x43, 0x44, 0xab, + 0xd9, 0x6d, 0x7d, 0x62, 0x24, 0xc9, 0xd2, 0x92, + 0xfa, 0x27, 0x5d, 0x71, 0x7a, 0x59, 0xa8, 0x42, + 0xa3, 0xaf, 0x5f, 0xc6, 0x36, 0x43, 0x44, 0xab, + 0xa3, 0xaf, 0x5f, 0xc6, 0x36, 0x43, 0x44, 0xab, + 0xd9, 0x6d, 0x7d, 0x62, 0x24, 0xc9, 0xd2, 0x92, + 0xfa, 0x27, 0x5d, 0x71, 0x7a, 0xa8 } + }, + /* jolly frame */ + { false, + GSM0503_GPRS_BURSTS_NBITS, + 23, + { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, + 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17 } + }, +/* +GSM RLC/MAC: EGPRS DL HEADER + 0... .... .... 0000 = DL TFI: 0 + 0... .... crumb 1 of DL TFI (decoded above) + .00. .... = RRBP: Reserved Block: (N+13) mod 2715648 (0) + ...0 0... = ES/P: RRBP field is not valid (no Polling) (0) + .... .111 = USF: 7 + 01.. .... 0000 0000 .... ...0 = BSN: 1 + 01.. .... crumb 2 of BSN (decoded above) + ..00 .... = PR: 0 dB (included) to 3 dB (excluded) less than BCCH level - P0 (0) + .... 0000 crumb 0 of DL TFI (decoded above) + 0000 0000 crumb 1 of BSN (decoded above) + .00. .... = SPB (DL): No retransmission (0) + ...1 011. = CPS: MCS-1/P1 (0x0b) + .... ...0 crumb 0 of BSN (decoded above) +GSM RLC/MAC: EGPRS DL DATA BLOCK 1 (BSN 1) + .... ..0. = FBI: Current Block is not last RLC data block in TBF + .... ...0 = Extension: Extension octet follows immediately + 0000 100. = Length Indicator: 4 + .... ...0 = Extension: Extension octet follows immediately + 0010 000. = Length Indicator: 16 + .... ...1 = Extension: No extension octet follows + data segment: LI[0]=4 indicates: (Last segment of) LLC frame (4 octets) + Data (4 bytes) + Data: 012b2b2b + [Length: 4] + data segment: LI[1]=16 indicates: (Last segment of) LLC frame (16 octets) + Data (16 bytes) + Data: 43c0012b2b2b2b2b2b2b2b2b2b2b2b2b + [Length: 16] +*/ + { true, + GSM0503_GPRS_BURSTS_NBITS, + 27, + { 0x07, 0x40, 0x00, 0x16, 0x10, 0x42, 0x02, 0x56, + 0x56, 0x56, 0x86, 0x80, 0x03, 0x56, 0x56, 0x56, + 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, + 0x56, 0x56, 0x00 } + }, +}; + +static void test_pdtch(struct test_macblock *tmb, int len) { uint8_t result[len]; ubit_t bursts_u[116 * 4]; @@ -328,19 +397,22 @@ switch (len) { case 34: case 54: - l2[len - 1] &= 0x7f; + tmb->l2[len - 1] &= 0x7f; result[len - 1] &= 0x7f; break; case 40: - l2[len - 1] &= 0x07; + tmb->l2[len - 1] &= 0x07; result[len - 1] &= 0x07; break; } /* Encode L2 message */ - printf("Encoding: %s\n", osmo_hexdump(l2, len)); - rc = gsm0503_pdtch_encode(bursts_u, l2, len); - CHECK_RC_OR_RET(rc == GSM0503_GPRS_BURSTS_NBITS, "encoding"); + printf("Encoding: %s\n", osmo_hexdump(tmb->l2, len)); + if (tmb->is_egprs) + rc = gsm0503_pdtch_egprs_encode(bursts_u, tmb->l2, len); + else + rc = gsm0503_pdtch_encode(bursts_u, tmb->l2, len); + CHECK_RC_OR_RET(rc == (int)tmb->exp_burst_bits, "encoding"); /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 116 * 4); @@ -349,15 +421,21 @@ dump_sbits((uint8_t *)bursts_s, 348); /* Decode */ - rc = gsm0503_pdtch_decode(result, bursts_s, NULL, - &n_errors, &n_bits_total); + if (tmb->is_egprs) { + /* gsm0503_pdtch_egprs_decode() is meant to decode EGPRS UL frames, so we cannot use it here */ + rc = gsm0503_pdtch_egprs_decode(result, bursts_s, rc, NULL, &n_errors, &n_bits_total); + OSMO_ASSERT(rc == -EIO); + return; + } else { + rc = gsm0503_pdtch_decode(result, bursts_s, NULL, &n_errors, &n_bits_total); + } CHECK_RC_OR_RET(rc == len, "decoding"); printf("Decoded: %s\n", osmo_hexdump(result, len)); printf("pdtch_decode: n_errors=%d n_bits_total=%d ber=%.2f\n", n_errors, n_bits_total, (float)n_errors/n_bits_total); - OSMO_ASSERT(!memcmp(l2, result, len)); + OSMO_ASSERT(!memcmp(tmb->l2, result, len)); printf("\n"); } @@ -377,21 +455,6 @@ 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17 }, }; -uint8_t test_macblock[][54] = { - /* Random frame */ - { 0xa3, 0xaf, 0x5f, 0xc6, 0x36, 0x43, 0x44, 0xab, - 0xd9, 0x6d, 0x7d, 0x62, 0x24, 0xc9, 0xd2, 0x92, - 0xfa, 0x27, 0x5d, 0x71, 0x7a, 0x59, 0xa8, 0x42, - 0xa3, 0xaf, 0x5f, 0xc6, 0x36, 0x43, 0x44, 0xab, - 0xa3, 0xaf, 0x5f, 0xc6, 0x36, 0x43, 0x44, 0xab, - 0xd9, 0x6d, 0x7d, 0x62, 0x24, 0xc9, 0xd2, 0x92, - 0xfa, 0x27, 0x5d, 0x71, 0x7a, 0xa8 }, - /* jolly frame */ - { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, - 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, - 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17 }, -}; - /* 11-bit Access Burst soft-bits (payload only) from an EGPRS capable phone (BSIC 63) */ static const sbit_t test_rach_11bit[6][36] = { { 103, 109, -108, -110, 107, 108, -106, -120, -121, @@ -480,10 +543,14 @@ test_hr(test_l2[i], sizeof(test_l2[0])); for (i = 0; i < len_mb; i++) { - test_pdtch(test_macblock[i], 23); - test_pdtch(test_macblock[i], 34); - test_pdtch(test_macblock[i], 40); - test_pdtch(test_macblock[i], 54); + if (test_macblock[i].is_egprs) { + test_pdtch(&test_macblock[i], test_macblock[i].l2_len); + } else { + test_pdtch(&test_macblock[i], 23); + test_pdtch(&test_macblock[i], 34); + test_pdtch(&test_macblock[i], 40); + test_pdtch(&test_macblock[i], 54); + } } printf("Success\n"); diff --git a/tests/coding/coding_test.ok b/tests/coding/coding_test.ok index 3a4fbf2..91083e4 100644 --- a/tests/coding/coding_test.ok +++ b/tests/coding/coding_test.ok @@ -356,4 +356,15 @@ Decoded: 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 pdtch_decode: n_errors=0 n_bits_total=444 ber=0.00 +Encoding: 07 40 00 16 10 42 02 56 56 56 86 80 03 56 56 56 56 56 56 56 56 56 56 56 56 56 00 +U-Bits: +100111000001011111111010101010011100010011111010000110110 00 00 000110110000010000000011000000000110011001100110010000000 +100010010000000000001101001111110010100100001000100111010 00 01 001001010101100010111000000000010111100011100011010001001 +111100001101001011010000110111100001001001000001000100110 00 01 000000110110110100011111011110011001101100000111100010001 +001000110011010110011011001011100100010001101101011100000 01 00 000010000010010110001111111001011101011000000011101100010 +S-Bits: +81 7f 7f 81 81 81 7f 7f 7f 7f 7f 81 7f 81 81 81 81 81 81 81 81 7f 81 7f 81 7f 81 7f 81 7f 7f 81 81 81 7f 7f 7f 81 7f 7f 81 81 81 81 81 7f 81 7f 7f 7f 7f 81 81 7f 81 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 81 7f 7f 7f 7f 7f 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 7f 81 81 7f 7f 81 81 7f 7f 81 81 7f 7f 81 7f 7f 7f 7f 7f 7f 7f +81 7f 7f 7f 81 7f 7f 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 81 81 7f 7f 81 7f 81 7f 7f 81 7f 7f 7f 7f 81 7f 7f 7f 81 7f 7f 81 81 81 7f 81 7f 7f 81 7f 7f 81 7f 7f 81 7f 81 7f 81 7f 81 81 7f 7f 7f 81 7f 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 7f 81 81 81 81 7f 7f 7f 81 81 81 7f 7f 7f 81 81 7f 81 7f 7f 7f 81 7f 7f 81 +81 81 81 81 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 7f 81 81 7f 81 7f 7f 7f 7f 81 81 7f 81 81 81 81 7f 7f 7f 7f 81 7f 7f 81 7f 7f 81 7f 7f 7f 7f 7f 81 7f 7f 7f 81 7f 7f 81 81 7f 7f 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 81 7f 81 81 7f 81 7f 7f 7f 81 81 81 81 81 7f 81 81 81 81 7f 7f 81 81 7f 7f 81 81 7f 81 81 7f 7f 7f 7f 7f 81 81 81 81 7f 7f 7f 81 7f 7f 7f 81 +7f 7f 81 7f 7f 7f 81 81 7f 7f 81 81 7f 81 7f 81 81 7f 7f 81 81 7f 81 81 7f 7f 81 7f 81 81 81 7f 7f 81 7f 7f 7f 81 7f 7f 7f 81 81 7f 81 81 7f 81 7f 81 81 81 7f 7f 7f 7f 7f 81 7f 7f 7f 7f 7f 81 7f 7f 7f 7f 7f 81 7f 7f 81 7f 81 81 7f 7f 7f 81 81 81 81 81 81 81 7f 7f 81 7f 81 81 81 7f 81 7f 81 81 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 81 81 7f 7f 7f 81 7f Success -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17750 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ide23a484b980995f24092d1cfbf062aed58fdf61 Gerrit-Change-Number: 17750 Gerrit-PatchSet: 3 Gerrit-Owner: pespin 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 Apr 17 10:15:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:15:06 +0000 Subject: Change in libosmocore[master]: tests/coding_test: Fix test_pdtch() results In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17763 ) Change subject: tests/coding_test: Fix test_pdtch() results ...................................................................... tests/coding_test: Fix test_pdtch() results When switching the l2 structures passes to test_pdtch() to be constant, it was noted that output of the test changes. This happens because same array is tested several times with different length, incrementing each time. Since the test was modifying the input array directly, it means each new run of test_pdtch() the array was further modified. Upon constifying the structures, we copy the array and hence only modify the required bits each time. Change-Id: Iffd0ca3669eb8d0d2e80d754fc8acbf72f1bebe8 --- M tests/coding/coding_test.c M tests/coding/coding_test.ok 2 files changed, 30 insertions(+), 29 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/coding/coding_test.c b/tests/coding/coding_test.c index 417c594..bdfe300 100644 --- a/tests/coding/coding_test.c +++ b/tests/coding/coding_test.c @@ -323,7 +323,7 @@ uint8_t l2[54]; }; -static struct test_macblock test_macblock[] = { +static const struct test_macblock test_macblock[] = { /* Random frame */ { false, GSM0503_GPRS_BURSTS_NBITS, @@ -385,33 +385,34 @@ }, }; -static void test_pdtch(struct test_macblock *tmb, int len) +static void test_pdtch(const struct test_macblock *tmb, int len) { - uint8_t result[len]; + uint8_t l2[len], result[len]; ubit_t bursts_u[116 * 4]; sbit_t bursts_s[116 * 4]; int n_errors, n_bits_total; int rc; /* Zero the not coded tail bits */ + memcpy(l2, tmb->l2, len); switch (len) { case 34: case 54: - tmb->l2[len - 1] &= 0x7f; + l2[len - 1] &= 0x7f; result[len - 1] &= 0x7f; break; case 40: - tmb->l2[len - 1] &= 0x07; + l2[len - 1] &= 0x07; result[len - 1] &= 0x07; break; } /* Encode L2 message */ - printf("Encoding: %s\n", osmo_hexdump(tmb->l2, len)); + printf("Encoding: %s\n", osmo_hexdump(l2, len)); if (tmb->is_egprs) - rc = gsm0503_pdtch_egprs_encode(bursts_u, tmb->l2, len); + rc = gsm0503_pdtch_egprs_encode(bursts_u, l2, len); else - rc = gsm0503_pdtch_encode(bursts_u, tmb->l2, len); + rc = gsm0503_pdtch_encode(bursts_u, l2, len); CHECK_RC_OR_RET(rc == (int)tmb->exp_burst_bits, "encoding"); /* Prepare soft-bits */ @@ -435,7 +436,7 @@ printf("pdtch_decode: n_errors=%d n_bits_total=%d ber=%.2f\n", n_errors, n_bits_total, (float)n_errors/n_bits_total); - OSMO_ASSERT(!memcmp(tmb->l2, result, len)); + OSMO_ASSERT(!memcmp(l2, result, len)); printf("\n"); } diff --git a/tests/coding/coding_test.ok b/tests/coding/coding_test.ok index 91083e4..cb562e9 100644 --- a/tests/coding/coding_test.ok +++ b/tests/coding/coding_test.ok @@ -272,32 +272,32 @@ Decoded: a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 59 a8 42 a3 af 5f c6 36 43 44 ab a3 2f pdtch_decode: n_errors=132 n_bits_total=588 ber=0.22 -Encoding: a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 59 a8 42 a3 af 5f c6 36 43 44 ab a3 2f 5f c6 36 43 44 03 +Encoding: a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 59 a8 42 a3 af 5f c6 36 43 44 ab a3 af 5f c6 36 43 44 03 U-Bits: -100010111000001100000000001101001000000000101100111011001 00 00 101110010011001000110010000011100101000011110001101100001 -001011110100100101010101111111110011111011111110001101001 01 00 011010010110101000111110001100110011101101111000100101110 -110001101010001000010101011111101011000111010110110011110 00 00 101001101100011001101100110110000101000001000001011000110 -011100001010000100100101001000110110100111000000101110000 00 01 111100110000011001001100110100111101011010011110100010011 +100010111000001100000000001101001000000000101100111011001 00 00 101110011011001000110000000011100101000011110001101100001 +001011110100100101010101111111110011111011111110011101001 01 00 011010110110101000110110001100110011101101111000100101100 +110001100000001000010101011111101011000111010111110011110 00 00 100001101100011001101100110110000101000001000001011001110 +011100001010000100100101001000100110100111010000101110000 00 01 111100110000011001001101110100111101001010011110100110011 S-Bits: -81 7f 7f 7f 81 7f 81 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 7f 81 81 7f 7f 81 81 81 7f 81 81 7f 7f 81 7f 7f 81 7f 81 81 81 7f 7f 81 7f 7f 81 81 7f 7f 81 7f 7f 7f 81 81 7f 7f 81 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 81 7f 7f 7f 7f 81 81 81 81 7f 7f 7f 81 81 7f 81 81 7f 7f 7f 7f 81 -7f 7f 81 7f 81 81 81 81 7f 81 7f 7f 81 7f 7f 81 7f 81 7f 81 7f 81 7f 81 81 81 81 81 81 81 81 81 7f 7f 81 81 81 81 81 7f 81 81 81 81 81 81 81 7f 7f 7f 81 81 7f 81 7f 7f 81 81 7f 7f 81 81 7f 81 7f 7f 81 7f 81 81 7f 81 7f 81 7f 7f 7f 81 81 81 81 81 7f 7f 7f 81 81 7f 7f 81 81 7f 7f 81 81 81 7f 81 81 7f 81 81 81 81 7f 7f 7f 81 7f 7f 81 7f 81 81 81 7f -81 81 7f 7f 7f 81 81 7f 81 7f 81 7f 7f 7f 81 7f 7f 7f 7f 81 7f 81 7f 81 7f 81 81 81 81 81 81 7f 81 7f 81 81 7f 7f 7f 81 81 81 7f 81 7f 81 81 7f 81 81 7f 7f 81 81 81 81 7f 7f 7f 81 7f 81 7f 7f 81 81 7f 81 81 7f 7f 7f 81 81 7f 7f 81 81 7f 81 81 7f 7f 81 81 7f 81 81 7f 7f 7f 7f 81 7f 81 7f 7f 7f 7f 7f 81 7f 7f 7f 7f 7f 81 7f 81 81 7f 7f 7f 81 81 7f -7f 81 81 81 7f 7f 7f 7f 81 7f 81 7f 7f 7f 7f 81 7f 7f 81 7f 7f 81 7f 81 7f 7f 81 7f 7f 7f 81 81 7f 81 81 7f 81 7f 7f 81 81 81 7f 7f 7f 7f 7f 7f 81 7f 81 81 81 7f 7f 7f 7f 7f 81 81 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 81 7f 7f 81 81 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 81 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 81 7f 7f 7f 81 7f 7f 81 81 -Decoded: a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 59 a8 42 a3 af 5f c6 36 43 44 ab a3 2f 5f c6 36 43 44 03 +81 7f 7f 7f 81 7f 81 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 7f 81 81 7f 7f 81 81 81 7f 81 81 7f 7f 81 7f 7f 81 7f 81 81 81 7f 7f 81 81 7f 81 81 7f 7f 81 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 81 7f 7f 7f 7f 81 81 81 81 7f 7f 7f 81 81 7f 81 81 7f 7f 7f 7f 81 +7f 7f 81 7f 81 81 81 81 7f 81 7f 7f 81 7f 7f 81 7f 81 7f 81 7f 81 7f 81 81 81 81 81 81 81 81 81 7f 7f 81 81 81 81 81 7f 81 81 81 81 81 81 81 7f 7f 81 81 81 7f 81 7f 7f 81 81 7f 7f 81 81 7f 81 7f 81 81 7f 81 81 7f 81 7f 81 7f 7f 7f 81 81 7f 81 81 7f 7f 7f 81 81 7f 7f 81 81 7f 7f 81 81 81 7f 81 81 7f 81 81 81 81 7f 7f 7f 81 7f 7f 81 7f 81 81 7f 7f +81 81 7f 7f 7f 81 81 7f 7f 7f 7f 7f 7f 7f 81 7f 7f 7f 7f 81 7f 81 7f 81 7f 81 81 81 81 81 81 7f 81 7f 81 81 7f 7f 7f 81 81 81 7f 81 7f 81 81 81 81 81 7f 7f 81 81 81 81 7f 7f 7f 81 7f 7f 7f 7f 81 81 7f 81 81 7f 7f 7f 81 81 7f 7f 81 81 7f 81 81 7f 7f 81 81 7f 81 81 7f 7f 7f 7f 81 7f 81 7f 7f 7f 7f 7f 81 7f 7f 7f 7f 7f 81 7f 81 81 7f 7f 81 81 81 7f +7f 81 81 81 7f 7f 7f 7f 81 7f 81 7f 7f 7f 7f 81 7f 7f 81 7f 7f 81 7f 81 7f 7f 81 7f 7f 7f 81 7f 7f 81 81 7f 81 7f 7f 81 81 81 7f 81 7f 7f 7f 7f 81 7f 81 81 81 7f 7f 7f 7f 7f 81 81 81 81 81 7f 7f 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 81 7f 7f 81 81 7f 81 81 81 7f 81 7f 7f 81 81 81 81 7f 81 7f 7f 81 7f 81 7f 7f 81 81 81 81 7f 81 7f 7f 81 81 7f 7f 81 81 +Decoded: a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 59 a8 42 a3 af 5f c6 36 43 44 ab a3 af 5f c6 36 43 44 03 pdtch_decode: n_errors=220 n_bits_total=676 ber=0.33 -Encoding: a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 59 a8 42 a3 af 5f c6 36 43 44 ab a3 2f 5f c6 36 43 44 03 d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 28 +Encoding: a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 59 a8 42 a3 af 5f c6 36 43 44 ab a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 28 U-Bits: -100010100101111101110101011001010100000101001001011011000 00 00 001000000000001100000110001011010111110101110101001100010 -010101000000101010101011110000010101000100000011010001101 00 01 010111110101110101010111011111100111010011010000111110111 -010111100101110011111100101110001010100110000010100000100 00 01 010111101110101111110011110101111101110100011000101111111 -011110100110000011110100111111101111111111111010101110000 01 00 001010101010101010101010111010110110000000100000101001011 +100010100101111101110101011001010100000101001001011011000 00 00 001010001000001100000111001011010111110101110101001101010 +010101000000001010101011110000010101000100000011010001101 00 01 010111010101110101010111011111100111010011010000111110111 +010111100101110011111100101111001010100110000011100000100 00 01 010111101110101111110011110101111101110100011000101111111 +011110100110000010110100111111111111111111111010101110000 01 00 001010101010101010101011111010110110010000100000101001011 S-Bits: -81 7f 7f 7f 81 7f 81 7f 7f 81 7f 81 81 81 81 81 7f 81 81 81 7f 81 7f 81 7f 81 81 7f 7f 81 7f 81 7f 81 7f 7f 7f 7f 7f 81 7f 81 7f 7f 81 7f 7f 81 7f 81 81 7f 81 81 7f 7f 7f 7f 7f 7f 7f 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 81 7f 81 81 7f 81 7f 81 81 81 81 81 7f 81 7f 81 81 81 7f 81 7f 81 7f 7f 81 81 7f 7f 7f 81 7f -7f 81 7f 81 7f 81 7f 7f 7f 7f 7f 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 81 81 81 7f 7f 7f 7f 7f 81 7f 81 7f 81 7f 7f 7f 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 81 81 7f 81 7f 81 7f 81 7f 81 81 81 81 81 7f 81 7f 81 81 81 7f 81 7f 81 7f 81 7f 81 81 81 7f 81 81 81 81 81 81 7f 7f 81 81 81 7f 81 7f 7f 81 81 7f 81 7f 7f 7f 7f 81 81 81 81 81 7f 81 81 81 -7f 81 7f 81 81 81 81 7f 7f 81 7f 81 81 81 7f 7f 81 81 81 81 81 81 7f 7f 81 7f 81 81 81 7f 7f 7f 81 7f 81 7f 81 7f 7f 81 81 7f 7f 7f 7f 7f 81 7f 81 7f 7f 7f 7f 7f 81 7f 7f 7f 81 7f 81 7f 81 81 81 81 7f 81 81 81 7f 81 7f 81 81 81 81 81 81 7f 7f 81 81 81 81 7f 81 7f 81 81 81 81 81 7f 81 81 81 7f 81 7f 7f 7f 81 81 7f 7f 7f 81 7f 81 81 81 81 81 81 81 -7f 81 81 81 81 7f 81 7f 7f 81 81 7f 7f 7f 7f 7f 81 81 81 81 7f 81 7f 7f 81 81 81 81 81 81 81 7f 81 81 81 81 81 81 81 81 81 81 81 81 81 7f 81 7f 81 7f 81 81 81 7f 7f 7f 7f 81 7f 7f 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 81 81 7f 81 7f 81 81 7f 81 81 7f 7f 7f 7f 7f 7f 7f 81 7f 7f 7f 7f 7f 81 7f 81 7f 7f 81 7f 81 81 -Decoded: a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 59 a8 42 a3 af 5f c6 36 43 44 ab a3 2f 5f c6 36 43 44 03 d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 28 +81 7f 7f 7f 81 7f 81 7f 7f 81 7f 81 81 81 81 81 7f 81 81 81 7f 81 7f 81 7f 81 81 7f 7f 81 7f 81 7f 81 7f 7f 7f 7f 7f 81 7f 81 7f 7f 81 7f 7f 81 7f 81 81 7f 81 81 7f 7f 7f 7f 7f 7f 7f 81 7f 81 7f 7f 7f 81 7f 7f 7f 7f 7f 81 81 7f 7f 7f 7f 7f 81 81 81 7f 7f 81 7f 81 81 7f 81 7f 81 81 81 81 81 7f 81 7f 81 81 81 7f 81 7f 81 7f 7f 81 81 7f 81 7f 81 7f +7f 81 7f 81 7f 81 7f 7f 7f 7f 7f 7f 7f 7f 81 7f 81 7f 81 7f 81 7f 81 81 81 81 7f 7f 7f 7f 7f 81 7f 81 7f 81 7f 7f 7f 81 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 81 81 7f 81 7f 81 7f 81 7f 81 81 81 7f 81 7f 81 7f 81 81 81 7f 81 7f 81 7f 81 7f 81 81 81 7f 81 81 81 81 81 81 7f 7f 81 81 81 7f 81 7f 7f 81 81 7f 81 7f 7f 7f 7f 81 81 81 81 81 7f 81 81 81 +7f 81 7f 81 81 81 81 7f 7f 81 7f 81 81 81 7f 7f 81 81 81 81 81 81 7f 7f 81 7f 81 81 81 81 7f 7f 81 7f 81 7f 81 7f 7f 81 81 7f 7f 7f 7f 7f 81 81 81 7f 7f 7f 7f 7f 81 7f 7f 7f 81 7f 81 7f 81 81 81 81 7f 81 81 81 7f 81 7f 81 81 81 81 81 81 7f 7f 81 81 81 81 7f 81 7f 81 81 81 81 81 7f 81 81 81 7f 81 7f 7f 7f 81 81 7f 7f 7f 81 7f 81 81 81 81 81 81 81 +7f 81 81 81 81 7f 81 7f 7f 81 81 7f 7f 7f 7f 7f 81 7f 81 81 7f 81 7f 7f 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 7f 81 7f 81 7f 81 81 81 7f 7f 7f 7f 81 7f 7f 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 7f 81 81 81 81 81 7f 81 7f 81 81 7f 81 81 7f 7f 81 7f 7f 7f 7f 81 7f 7f 7f 7f 7f 81 7f 81 7f 7f 81 7f 81 81 +Decoded: a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 59 a8 42 a3 af 5f c6 36 43 44 ab a3 af 5f c6 36 43 44 ab d9 6d 7d 62 24 c9 d2 92 fa 27 5d 71 7a 28 pdtch_decode: n_errors=0 n_bits_total=444 ber=0.00 Encoding: 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17763 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iffd0ca3669eb8d0d2e80d754fc8acbf72f1bebe8 Gerrit-Change-Number: 17763 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge 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 Fri Apr 17 10:15:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:15:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704 ) Change subject: library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704 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: I762b932ed67d9e67a5e13290209cc9017dd650a7 Gerrit-Change-Number: 17704 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 17 Apr 2020 10:15: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 Apr 17 10:54:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 10:54:03 +0000 Subject: Change in osmo-uecups[master]: move VTY and SCTP UECUPS sockets to port 4268 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17841 ) Change subject: move VTY and SCTP UECUPS sockets to port 4268 ...................................................................... move VTY and SCTP UECUPS sockets to port 4268 This is the port number listed on http://osmocom.org/projects/cellular-infrastructure/wiki/Port_Numbers Change-Id: Ifd8a9418184147e1bb3d74192167207c981453de --- M daemon/internal.h M daemon/main.c M ttcn3/UECUPS_Types.ttcn 3 files changed, 10 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/41/17841/1 diff --git a/daemon/internal.h b/daemon/internal.h index cbccbfc..f0e1382 100644 --- a/daemon/internal.h +++ b/daemon/internal.h @@ -200,6 +200,8 @@ * GTP Daemon ***********************************************************************/ +#define UECUPS_SCTP_PORT 4268 + struct gtp_daemon { /* global lists of various objects */ struct llist_head gtp_endpoints; diff --git a/daemon/main.c b/daemon/main.c index 2375877..c49b771 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -421,6 +421,10 @@ * GTP Daemon ***********************************************************************/ +#ifndef OSMO_VTY_PORT_UECUPS +#define OSMO_VTY_PORT_UECUPS 4268 +#endif + struct gtp_daemon *g_daemon; static int g_daemonize; static char *g_config_file = "osmo-gtpu-daemon.cfg"; @@ -441,7 +445,7 @@ INIT_LLIST_HEAD(&d->cups_clients); d->cfg.cups_local_ip = talloc_strdup(d, "localhost"); - d->cfg.cups_local_port = 4300; + d->cfg.cups_local_port = UECUPS_SCTP_PORT; return d; } @@ -504,7 +508,7 @@ exit(2); } - rc = telnet_init_dynif(ctx, NULL, vty_get_bind_addr(), OSMO_VTY_PORT_GGSN); + rc = telnet_init_dynif(ctx, NULL, vty_get_bind_addr(), OSMO_VTY_PORT_UECUPS); if (rc < 0) exit(1); diff --git a/ttcn3/UECUPS_Types.ttcn b/ttcn3/UECUPS_Types.ttcn index 8c00090..3699dee 100644 --- a/ttcn3/UECUPS_Types.ttcn +++ b/ttcn3/UECUPS_Types.ttcn @@ -3,6 +3,8 @@ import from General_Types all; import from Osmocom_Types all; +const integer UECUPS_SCTP_PORT := 4268; + type enumerated UECUPS_AddrType { IPV4 (1), IPV6 (2) -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17841 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Ifd8a9418184147e1bb3d74192167207c981453de Gerrit-Change-Number: 17841 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 Apr 17 12:13:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 17 Apr 2020 12:13:36 +0000 Subject: Change in osmo-gsm-tester[master]: wip: websocket amarisoft References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17842 ) Change subject: wip: websocket amarisoft ...................................................................... wip: websocket amarisoft Change-Id: I4fd30a3e37789b76bfaddc2beba1815154daab7f --- M check_dependencies.py M src/osmo_gsm_tester/obj/enb_amarisoft.py A src/osmo_gsm_tester/obj/rfemu.py A src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py A src/osmo_gsm_tester/obj/rfemu_minicircuits.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M sysmocom/defaults.conf A sysmocom/suites/4g/handover.py 9 files changed, 273 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/42/17842/1 diff --git a/check_dependencies.py b/check_dependencies.py index c3b1d64..c983065 100755 --- a/check_dependencies.py +++ b/check_dependencies.py @@ -6,6 +6,7 @@ from inspect import getframeinfo, stack from mako.lookup import TemplateLookup from mako.template import Template +from websocket import create_connection import argparse import contextlib import copy diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index 1772173..3d04357 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 . import enb +from . import rfemu def rf_type_valid(rf_type_str): return rf_type_str in ('uhd', 'zmq') @@ -62,6 +63,7 @@ self.run_dir = None self.inst = None self._bin_prefix = None + self.gen_conf = None self.config_file = None self.config_sib1_file = None self.config_sib23_file = None @@ -168,6 +170,22 @@ self._num_cells = int(values['enb'].get('num_cells', None)) assert self._num_cells + # adjust cell_list to num_cells length: + len_cell_list = len(values['enb']['cell_list']) + if len_cell_list >= self._num_cells: + values['enb']['cell_list'] = values['enb']['cell_list'][:self._num_cells] + else: + raise log.Error('enb.cell_list items (%d) < enb.num_cells (%d) attribute!' % (len_cell_list, self._num_cells)) + # adjust scell list (to only contain values available in cell_list): + cell_id_list = [c['cell_id'] for c in values['enb']['cell_list']] + for i in range(len(values['enb']['cell_list'])): + scell_list_old = values['enb']['cell_list'][i]['scell_list'] + scell_list_new = [] + for scell_id in scell_list_old: + if scell_id in cell_id_list: + scell_list_new.append(scell_id) + values['enb']['cell_list'][i]['scell_list'] = scell_list_new + # Convert parsed boolean string to Python boolean: self.enable_measurements = util.str2bool(values['enb'].get('enable_measurements', 'false')) config.overlay(values, dict(enb={'enable_measurements': self.enable_measurements})) @@ -211,6 +229,8 @@ config.overlay(values, dict(trx=dict(rf_dev_type=values['enb'].get('rf_dev_type', None), rf_dev_args=values['enb'].get('rf_dev_args', None)))) + self.gen_conf = values + self.gen_conf_file(self.config_file, AmarisoftENB.CFGFILE, values) self.gen_conf_file(self.config_sib1_file, AmarisoftENB.CFGFILE_SIB1, values) self.gen_conf_file(self.config_sib23_file, AmarisoftENB.CFGFILE_SIB23, values) @@ -235,4 +255,19 @@ def running(self): return not self.process.terminated() + def get_rfemu(self, cell=0, dl=True): + cell_list = self.gen_conf['enb'].get('cell_list', None) + if cell_list is None or len(cell_list) < cell + 1: + raise log.Error('cell_list attribute or subitem not found!') + rfemu_cfg = cell_list[cell].get('dl_rfemu', None) + if rfemu_cfg is None: # craft amarisfot by default: + rfemu_cfg = {'type': 'amarisoftctl', + 'addr': self.addr(), + 'port': 9001 + } + if rfemu_cfg['type'] == 'amarisoftctl': # this one requires extra config: + config.overlay(rfemu_cfg, dict(cell_id=cell_list[cell]['cell_id'])) + rfemu_obj = rfemu.get_instance_by_type(rfemu_cfg['type'], rfemu_cfg) + return rfemu_obj + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/rfemu.py b/src/osmo_gsm_tester/obj/rfemu.py new file mode 100644 index 0000000..80869bb --- /dev/null +++ b/src/osmo_gsm_tester/obj/rfemu.py @@ -0,0 +1,59 @@ +# osmo_gsm_tester: class defining a RF emulation object +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# Author: Pau Espin Pedrol +# +# 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 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 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 abc import ABCMeta, abstractmethod +from ..core import log +from ..core.event_loop import MainLoop + +class RFemulation(log.Origin, metaclass=ABCMeta): + +############## +# PROTECTED +############## + def __init__(self, conf, name): + """Base constructor. Must be called by subclass.""" + super().__init__(log.C_RUN, name) + self.conf = conf + +############################# +# PUBLIC (test API included) +############################# + @abstractmethod + def set_attenuation(self, db): + """Set attenuation in dB on the configured channel""" + pass + + +from . import rfemu_amarisoftctrl, rfemu_minicircuits + +KNOWN_RFEMU_TYPES = { + 'amarisoftctl' : rfemu_amarisoftctrl.RFemulationAmarisoftCtrl, + 'minicircuits' : rfemu_minicircuits.RFemulationMinicircuitsHTTP, +} + +def get_instance_by_type(rfemu_type, rfemu_opt): + """Allocate a RFemulation child class based on type. Opts are passed to the newly created object.""" + obj = KNOWN_RFEMU_TYPES.get(rfemu_type, None) + if not obj: + raise log.Error('RFemulation type not supported:', rfemu_type) + return obj(rfemu_opt) + + + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py b/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py new file mode 100644 index 0000000..1b980f1 --- /dev/null +++ b/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py @@ -0,0 +1,61 @@ +# osmo_gsm_tester: class defining a RF emulation object implemented using Amarisoft Ctl interface +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# Author: Pau Espin Pedrol +# +# 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 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 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 +from websocket import create_connection + +from ..core import log +from .rfemu import RFemulation + +class RFemulationAmarisoftCtrl(RFemulation): +############## +# PROTECTED +############## + def __init__(self, conf): + super().__init__(conf, 'amarisoftctl') + self.addr = conf.get('addr') + self.port = conf.get('port') + if self.addr is None: + raise log.Error('No "addr" attribute provided in supply conf!') + if self.port is None: + raise log.Error('No "port" attribute provided in supply conf!') + self.set_name('amarisoftctl(%s:%d)' % (self.addr, self.port)) + self.cell_id = conf.get('cell_id') + if self.cell_id is None: + raise log.Error('No "cell_id" attribute provided in supply conf!') + self.ws = create_connection("ws://%s:%s" % (self.addr, self.port)) + + def __del__(self): + self.dbg('closing CTRL websocket') + self.ws.close() + +############################# +# PUBLIC (test API included) +############################# + def set_attenuation(self, db): + msg = { "message": "cell_gain", "cell_id": int(self.cell_id), "gain": -db } + msg_str = json.dumps(msg) + self.dbg('sending CTRL msg: "%s"' % msg_str) + self.ws.send(msg_str) + self.dbg('waiting CTRL recv...') + result = self.ws.recv() + self.dbg('Received CTRL msg: "%s"' % result) + + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/rfemu_minicircuits.py b/src/osmo_gsm_tester/obj/rfemu_minicircuits.py new file mode 100644 index 0000000..896dada --- /dev/null +++ b/src/osmo_gsm_tester/obj/rfemu_minicircuits.py @@ -0,0 +1,64 @@ +# osmo_gsm_tester: class defining a RF emulation object implemented using a Minicircuits RC4DAT-6G-60 device +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# Author: Pau Espin Pedrol +# +# 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 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 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 urllib.request +import xml.etree.ElementTree as ET + +from ..core import log +from .rfemu import RFemulation + +# https://www.minicircuits.com/softwaredownload/Prog_Manual-6-Programmable_Attenuator.pdf +class RFemulationMinicircuitsHTTP(RFemulation): + + # HTTP request timeout, in seconds + HTTP_TIMEOUT = 5 + +############## +# PROTECTED +############## + def __init__(self, conf): + super().__init__(conf, 'minicircuits') + self.addr = conf.get('addr') + self.port = conf.get('port') + if self.addr is None: + raise log.Error('No "addr" attribute provided in supply conf!') + if self.port is None: + raise log.Error('No "port" attribute provided in supply conf!') + self.set_name('minicircuits(%s:%d)' % (self.addr, self.port)) + + def _url_prefix(self): + #http://10.12.1.216/:SetAttPerChan:1:0_2:0_3:0_4:0 + return 'http://' + self.addr + + def _utl_set_attenauation(self, db): + return self._url_prefix() + '/:CHAN:' + str(port) + ':SETATT:' + str(db) + +############################# +# PUBLIC (test API included) +############################# + def set_attenuation(self, db): + url = self._utl_set_attenauation(db) + self.dbg('sending HTTP req: "%s"' % url) + data = urllib.request.urlopen(url, timeout = self.HTTP_TIMEOUT).read() + self.dbg('Received response: "%s"' % data) + #[Status] + # 0 Command failed or invalid attenuation set + # 1 Command completed successfully + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 61f2b11..09b6f8e 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -90,7 +90,6 @@ 'enb[].addr': schema.IPV4, 'enb[].num_prb': schema.UINT, 'enb[].transmission_mode': schema.LTE_TRANSMISSION_MODE, - 'enb[].num_cells': schema.UINT, 'enb[].rf_dev_type': schema.STR, 'enb[].rf_dev_args': schema.STR, 'enb[].additional_args': schema.STR, @@ -107,6 +106,13 @@ 'enb[].a3_report_value': schema.INT, 'enb[].a3_hysteresis': schema.INT, 'enb[].a3_time_to_trigger': schema.INT, + 'enb[].num_cells': schema.UINT, + 'enb[].cell_list[].cell_id': schema.UINT, + 'enb[].cell_list[].scell_list[]': schema.UINT, + 'enb[].cell_list[].dl_earfcn': schema.UINT, + 'enb[].cell_list[].dl_rfemu.type': schema.STR, + 'enb[].cell_list[].dl_rfemu.addr': schema.IPV4, + 'enb[].cell_list[].dl_rfemu.port': schema.UINT, 'arfcn[].arfcn': schema.INT, 'arfcn[].band': schema.BAND, 'modem[].type': schema.STR, diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index d87e66a..5752ab8 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -55,36 +55,23 @@ /* list of cells */ cell_list: [ - { - // First cell - dl_earfcn: 2850, - rf_port: 0, - cell_id: 0x01, - n_id_cell: 1, - tac: 0x0001, - root_sequence_index: 204, /* PRACH root sequence index */ -% if enb.get('num_cells') == '2': - scell_list: [ - { cell_id: 0x02, cross_carrier_scheduling: false, scheduling_cell_id: 0x01, ul_allowed: true}, - ], -% endif - }, -% if enb.get('num_cells') == '2': +%for cell in enb.cell_list: { - // Second Cell - dl_earfcn: 3050, - rf_port: 1, - cell_id: 0x02, - n_id_cell: 2, + dl_earfcn: ${cell.dl_earfcn}, + rf_port: ${loop.index}, + cell_id: ${cell.cell_id}, + n_id_cell: ${loop.index + 1}, tac: 0x0001, - root_sequence_index: 205, + root_sequence_index: ${loop.index + 204}, /* PRACH root sequence index */ scell_list: [ - { cell_id: 0x01, cross_carrier_scheduling: false, scheduling_cell_id: 0x02, ul_allowed: true}, +%for scell_id in cell.scell_list: + { cell_id: ${scell_id}, cross_carrier_scheduling: false, scheduling_cell_id: ${cell.cell_id}, ul_allowed: true}, +%endfor ], }, -% endif +%endfor ], /* cell_list */ /* default cell parameters */ diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index f3994bb..bf5bce1 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -123,6 +123,13 @@ a3_report_value: 6 a3_hysteresis: 0 a3_time_to_trigger: 480 + cell_list: + - cell_id: 0x01 + dl_earfcn: 2850 + scell_list: [0x02] + - cell_id: 0x02 + dl_earfcn: 3050 + scell_list: [0x01] srsenb: num_prb: 100 diff --git a/sysmocom/suites/4g/handover.py b/sysmocom/suites/4g/handover.py new file mode 100755 index 0000000..3a49321 --- /dev/null +++ b/sysmocom/suites/4g/handover.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +epc = suite.epc() +enb = suite.enb() +ue = suite.modem() + +epc.subscriber_add(ue) +epc.start() +enb.ue_add(ue) +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) +print('waiting for UE to attach...') +wait(ue.is_connected, None) +print('UE is attached') + +sleep(2) + +rfemu = enb.get_rfemu() +for att in range(1, 10, 1): + print("Setting cell attenuation %d..." % att) + rfemu.set_attenuation(att) + sleep(1) +print("Done") -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17842 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: I4fd30a3e37789b76bfaddc2beba1815154daab7f Gerrit-Change-Number: 17842 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 Apr 17 13:02:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 13:02:40 +0000 Subject: Change in osmo-ci[master]: jenkins: add osmo-uecups to gerrit+master References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/17843 ) Change subject: jenkins: add osmo-uecups to gerrit+master ...................................................................... jenkins: add osmo-uecups to gerrit+master Change-Id: I3ca141edcd61ae4126fa28f6560c99a1f568dec7 --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/43/17843/1 diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index 18df857..c2566cd 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -232,6 +232,7 @@ - osmo-cbc - osmo-e1-recorder - gapk + - osmo-uecups - pysim: slave_axis: !!python/tuple [simtester] diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index c4226ac..b117014 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -326,6 +326,7 @@ - osmo-cbc - osmo-e1-recorder - gapk + - osmo-uecups - rtl-sdr: email: laforge at gnumonks.org steve at steve-m.de -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17843 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I3ca141edcd61ae4126fa28f6560c99a1f568dec7 Gerrit-Change-Number: 17843 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 Apr 17 13:03:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 13:03:06 +0000 Subject: Change in osmo-ci[master]: jenkins: add osmo-uecups to gerrit+master In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17843 ) Change subject: jenkins: add osmo-uecups to gerrit+master ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17843 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I3ca141edcd61ae4126fa28f6560c99a1f568dec7 Gerrit-Change-Number: 17843 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 13:03: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 Apr 17 13:08:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 13:08:42 +0000 Subject: Change in osmo-uecups[master]: jenkins.sh: Fix PKG_CONFIG_DIR References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17844 ) Change subject: jenkins.sh: Fix PKG_CONFIG_DIR ...................................................................... jenkins.sh: Fix PKG_CONFIG_DIR Change-Id: Ie2391ca00e588ddc9b7920dbf28ac69ddd7173e0 --- M contrib/jenkins.sh 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/44/17844/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index f455fcc..1a218b9 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -12,6 +12,12 @@ mkdir "$deps" || true +export PKG_CONFIG_PATH="$inst/lib/pkgconfig:$PKG_CONFIG_PATH" +export LD_LIBRARY_PATH="$inst/lib" +export PATH="$inst/bin:$PATH" + +verify_value_string_arrays_are_terminated.py $(find . -name "*.[hc]") + osmo-build-dep.sh libosmocore "" ac_cv_path_DOXYGEN=false osmo-build-dep.sh libosmo-abis "" ac_cv_path_DOXYGEN=false osmo-build-dep.sh libosmo-netif "" ac_cv_path_DOXYGEN=false -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17844 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Ie2391ca00e588ddc9b7920dbf28ac69ddd7173e0 Gerrit-Change-Number: 17844 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 Apr 17 13:15:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 13:15:37 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: Add osmo-uecups dependencies References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17845 ) Change subject: debian-stretch-jenkins: Add osmo-uecups dependencies ...................................................................... debian-stretch-jenkins: Add osmo-uecups dependencies The new osmo-uecups project requires libnl-3 + jansson Change-Id: I592e8ae8677d5d0a90a6b6a5ed9a89789d7c9a5a --- M debian-stretch-jenkins/Dockerfile 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/45/17845/1 diff --git a/debian-stretch-jenkins/Dockerfile b/debian-stretch-jenkins/Dockerfile index ddf8f87..e519f26 100644 --- a/debian-stretch-jenkins/Dockerfile +++ b/debian-stretch-jenkins/Dockerfile @@ -58,10 +58,13 @@ libgnutls28-dev \ libgps-dev \ libgsm1-dev \ + libjansson-dev \ liblua5.3-dev \ libmnl-dev \ libncurses5-dev \ libnewlib-arm-none-eabi \ + libnl-3-dev \ + libnl-route-3-dev \ liboping-dev \ libortp-dev \ libpcap-dev \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I592e8ae8677d5d0a90a6b6a5ed9a89789d7c9a5a Gerrit-Change-Number: 17845 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 Apr 17 13:22:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 13:22:44 +0000 Subject: Change in pysim[master]: Populate AIDs present on the UICC In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17833 ) Change subject: Populate AIDs present on the UICC ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17833/3/pysim-testdata/fakemagicsim.ok File pysim-testdata/fakemagicsim.ok: https://gerrit.osmocom.org/c/pysim/+/17833/3/pysim-testdata/fakemagicsim.ok at 1 PS3, Line 1: (dev=5) inter I'm not quite sure about this change. Maybe pmaier can comment? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4d0d8f5f1e8cb252be55a2995b730927cfa7004d Gerrit-Change-Number: 17833 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 13:22: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 Fri Apr 17 13:23:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 13:23:15 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: Add osmo-uecups dependencies In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17845 ) Change subject: debian-stretch-jenkins: Add osmo-uecups dependencies ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I592e8ae8677d5d0a90a6b6a5ed9a89789d7c9a5a Gerrit-Change-Number: 17845 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 13:23: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 Apr 17 13:23:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 13:23:18 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: Add osmo-uecups dependencies In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17845 ) Change subject: debian-stretch-jenkins: Add osmo-uecups dependencies ...................................................................... debian-stretch-jenkins: Add osmo-uecups dependencies The new osmo-uecups project requires libnl-3 + jansson Change-Id: I592e8ae8677d5d0a90a6b6a5ed9a89789d7c9a5a --- M debian-stretch-jenkins/Dockerfile 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/debian-stretch-jenkins/Dockerfile b/debian-stretch-jenkins/Dockerfile index ddf8f87..e519f26 100644 --- a/debian-stretch-jenkins/Dockerfile +++ b/debian-stretch-jenkins/Dockerfile @@ -58,10 +58,13 @@ libgnutls28-dev \ libgps-dev \ libgsm1-dev \ + libjansson-dev \ liblua5.3-dev \ libmnl-dev \ libncurses5-dev \ libnewlib-arm-none-eabi \ + libnl-3-dev \ + libnl-route-3-dev \ liboping-dev \ libortp-dev \ libpcap-dev \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I592e8ae8677d5d0a90a6b6a5ed9a89789d7c9a5a Gerrit-Change-Number: 17845 Gerrit-PatchSet: 2 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 Apr 17 13:27:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 13:27:12 +0000 Subject: Change in osmo-ci[master]: jenkins: Add libnl-3 for osmo-uecups References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/17846 ) Change subject: jenkins: Add libnl-3 for osmo-uecups ...................................................................... jenkins: Add libnl-3 for osmo-uecups Change-Id: I97114b60a647c6823eaeb031ea799c07af2b7aa0 --- M ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/46/17846/1 diff --git a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml index 92ff822..90c86b0 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml @@ -74,6 +74,8 @@ - libgnutls28-dev - libgps-dev - libgsm1-dev + - libnl-3-dev + - libnl-route-3-dev - libmnl-dev # by osmo-sysmon - liboping-dev -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I97114b60a647c6823eaeb031ea799c07af2b7aa0 Gerrit-Change-Number: 17846 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 Apr 17 13:27:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 13:27:48 +0000 Subject: Change in osmo-ci[master]: jenkins: Add libnl-3 for osmo-uecups In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17846 ) Change subject: jenkins: Add libnl-3 for osmo-uecups ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I97114b60a647c6823eaeb031ea799c07af2b7aa0 Gerrit-Change-Number: 17846 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 13:27: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 Apr 17 13:27:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 13:27:51 +0000 Subject: Change in osmo-ci[master]: jenkins: Add libnl-3 for osmo-uecups In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17846 ) Change subject: jenkins: Add libnl-3 for osmo-uecups ...................................................................... jenkins: Add libnl-3 for osmo-uecups Change-Id: I97114b60a647c6823eaeb031ea799c07af2b7aa0 --- M ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml index 92ff822..90c86b0 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml @@ -74,6 +74,8 @@ - libgnutls28-dev - libgps-dev - libgsm1-dev + - libnl-3-dev + - libnl-route-3-dev - libmnl-dev # by osmo-sysmon - liboping-dev -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I97114b60a647c6823eaeb031ea799c07af2b7aa0 Gerrit-Change-Number: 17846 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 Apr 17 13:27:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 13:27:54 +0000 Subject: Change in osmo-ci[master]: jenkins: add osmo-uecups to gerrit+master In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17843 ) Change subject: jenkins: add osmo-uecups to gerrit+master ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17843 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I3ca141edcd61ae4126fa28f6560c99a1f568dec7 Gerrit-Change-Number: 17843 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 13:27: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 Apr 17 13:27:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 13:27:57 +0000 Subject: Change in osmo-ci[master]: jenkins: add osmo-uecups to gerrit+master In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17843 ) Change subject: jenkins: add osmo-uecups to gerrit+master ...................................................................... jenkins: add osmo-uecups to gerrit+master Change-Id: I3ca141edcd61ae4126fa28f6560c99a1f568dec7 --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index 18df857..c2566cd 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -232,6 +232,7 @@ - osmo-cbc - osmo-e1-recorder - gapk + - osmo-uecups - pysim: slave_axis: !!python/tuple [simtester] diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index c4226ac..b117014 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -326,6 +326,7 @@ - osmo-cbc - osmo-e1-recorder - gapk + - osmo-uecups - rtl-sdr: email: laforge at gnumonks.org steve at steve-m.de -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17843 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I3ca141edcd61ae4126fa28f6560c99a1f568dec7 Gerrit-Change-Number: 17843 Gerrit-PatchSet: 2 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 Apr 17 14:33:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 17 Apr 2020 14:33:02 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Implement initial RF emulation API References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 ) Change subject: enb: Implement initial RF emulation API ...................................................................... enb: Implement initial RF emulation API Two implementations are provided: * Amarisoft Ctrl interface (websocket) * Mini-Circuits Programmable Attenuator (HW, HTTP API) [1] in Amarisoft ENBs, if no rfemu is configured explicitly, the Ctrl interface one is used by default, while still being possible to use the HW one. [1] https://www.minicircuits.com/pdfs/RC4DAT-6G-60.pdf Change-Id: Ie98a3fb9bcd2b87b96ecbb5b79e0f53981892a32 --- M check_dependencies.py M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py A src/osmo_gsm_tester/obj/rfemu.py A src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py A src/osmo_gsm_tester/obj/rfemu_minicircuits.py M src/osmo_gsm_tester/resource.py A sysmocom/suites/4g/handover.py 9 files changed, 259 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/47/17847/1 diff --git a/check_dependencies.py b/check_dependencies.py index c3b1d64..c983065 100755 --- a/check_dependencies.py +++ b/check_dependencies.py @@ -6,6 +6,7 @@ from inspect import getframeinfo, stack from mako.lookup import TemplateLookup from mako.template import Template +from websocket import create_connection import argparse import contextlib import copy diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 340ea3a..59b5bfe 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -113,6 +113,11 @@ def ue_max_rate(self, downlink=True): pass + @abstractmethod + def get_rfemu(self, cell=0, dl=True): + 'Get rfemu.RFemulation subclass implementation object for given cell index and direction.' + pass + def addr(self): return self._addr diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index 996af19..0b748e0 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 . import enb +from . import rfemu def rf_type_valid(rf_type_str): return rf_type_str in ('uhd', 'zmq') @@ -62,6 +63,7 @@ self.run_dir = None self.inst = None self._bin_prefix = None + self.gen_conf = None self.config_file = None self.config_sib1_file = None self.config_sib23_file = None @@ -209,6 +211,8 @@ config.overlay(values, dict(trx=dict(rf_dev_type=values['enb'].get('rf_dev_type', None), rf_dev_args=values['enb'].get('rf_dev_args', None)))) + self.gen_conf = values + self.gen_conf_file(self.config_file, AmarisoftENB.CFGFILE, values) self.gen_conf_file(self.config_sib1_file, AmarisoftENB.CFGFILE_SIB1, values) self.gen_conf_file(self.config_sib23_file, AmarisoftENB.CFGFILE_SIB23, values) @@ -233,4 +237,19 @@ def running(self): return not self.process.terminated() + def get_rfemu(self, cell=0, dl=True): + cell_list = self.gen_conf['enb'].get('cell_list', None) + if cell_list is None or len(cell_list) < cell + 1: + raise log.Error('cell_list attribute or subitem not found!') + rfemu_cfg = cell_list[cell].get('dl_rfemu', None) + if rfemu_cfg is None: # craft amarisfot by default: + rfemu_cfg = {'type': 'amarisoftctl', + 'addr': self.addr(), + 'ports': [9001] + } + if rfemu_cfg['type'] == 'amarisoftctl': # this one requires extra config: + config.overlay(rfemu_cfg, dict(cell_id=cell_list[cell]['cell_id'])) + rfemu_obj = rfemu.get_instance_by_type(rfemu_cfg['type'], rfemu_cfg) + return rfemu_obj + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index c9721d1..e657b04 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -22,6 +22,7 @@ from ..core import log, util, config, template, process, remote from . import enb +from . import rfemu def rf_type_valid(rf_type_str): return rf_type_str in ('zmq', 'uhd', 'soapy', 'bladerf') @@ -60,6 +61,7 @@ super().__init__(suite_run, conf, srsENB.BINFILE) self.ue = None self.run_dir = None + self.gen_conf = None self.config_file = None self.config_sib_file = None self.config_rr_file = None @@ -221,6 +223,8 @@ 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) self.gen_conf_file(self.config_sib_file, srsENB.CFGFILE_SIB, values) self.gen_conf_file(self.config_rr_file, srsENB.CFGFILE_RR, values) @@ -243,4 +247,14 @@ def running(self): return not self.process.terminated() + def get_rfemu(self, cell=0, dl=True): + cell_list = self.gen_conf['enb'].get('cell_list', None) + if cell_list is None or len(cell_list) < cell + 1: + raise log.Error('cell_list attribute or subitem not found!') + rfemu_cfg = cell_list[cell].get('dl_rfemu', None) + if rfemu_cfg is None: # craft amarisfot by default: + raise log.Error('rfemu attribute not found in cell_list item!') + rfemu_obj = rfemu.get_instance_by_type(rfemu_cfg['type'], rfemu_cfg) + return rfemu_obj + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/rfemu.py b/src/osmo_gsm_tester/obj/rfemu.py new file mode 100644 index 0000000..80869bb --- /dev/null +++ b/src/osmo_gsm_tester/obj/rfemu.py @@ -0,0 +1,59 @@ +# osmo_gsm_tester: class defining a RF emulation object +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# Author: Pau Espin Pedrol +# +# 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 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 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 abc import ABCMeta, abstractmethod +from ..core import log +from ..core.event_loop import MainLoop + +class RFemulation(log.Origin, metaclass=ABCMeta): + +############## +# PROTECTED +############## + def __init__(self, conf, name): + """Base constructor. Must be called by subclass.""" + super().__init__(log.C_RUN, name) + self.conf = conf + +############################# +# PUBLIC (test API included) +############################# + @abstractmethod + def set_attenuation(self, db): + """Set attenuation in dB on the configured channel""" + pass + + +from . import rfemu_amarisoftctrl, rfemu_minicircuits + +KNOWN_RFEMU_TYPES = { + 'amarisoftctl' : rfemu_amarisoftctrl.RFemulationAmarisoftCtrl, + 'minicircuits' : rfemu_minicircuits.RFemulationMinicircuitsHTTP, +} + +def get_instance_by_type(rfemu_type, rfemu_opt): + """Allocate a RFemulation child class based on type. Opts are passed to the newly created object.""" + obj = KNOWN_RFEMU_TYPES.get(rfemu_type, None) + if not obj: + raise log.Error('RFemulation type not supported:', rfemu_type) + return obj(rfemu_opt) + + + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py b/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py new file mode 100644 index 0000000..87e4cbd --- /dev/null +++ b/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py @@ -0,0 +1,62 @@ +# osmo_gsm_tester: class defining a RF emulation object implemented using Amarisoft Ctl interface +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# Author: Pau Espin Pedrol +# +# 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 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 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 +from websocket import create_connection + +from ..core import log +from .rfemu import RFemulation + +class RFemulationAmarisoftCtrl(RFemulation): +############## +# PROTECTED +############## + def __init__(self, conf): + super().__init__(conf, 'amarisoftctl') + self.addr = conf.get('addr') + self.port = conf.get('ports') + if self.addr is None: + raise log.Error('No "addr" attribute provided in supply conf!') + if self.port is None or len(self.port) != 1: + raise log.Error('No "port" attribute provided in supply conf!') + self.port = self.port[0] + self.set_name('amarisoftctl(%s:%d)' % (self.addr, self.port)) + self.cell_id = conf.get('cell_id') + if self.cell_id is None: + raise log.Error('No "cell_id" attribute provided in supply conf!') + self.ws = create_connection("ws://%s:%s" % (self.addr, self.port)) + + def __del__(self): + self.dbg('closing CTRL websocket') + self.ws.close() + +############################# +# PUBLIC (test API included) +############################# + def set_attenuation(self, db): + msg = { "message": "cell_gain", "cell_id": int(self.cell_id), "gain": -db } + msg_str = json.dumps(msg) + self.dbg('sending CTRL msg: "%s"' % msg_str) + self.ws.send(msg_str) + self.dbg('waiting CTRL recv...') + result = self.ws.recv() + self.dbg('Received CTRL msg: "%s"' % result) + + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/rfemu_minicircuits.py b/src/osmo_gsm_tester/obj/rfemu_minicircuits.py new file mode 100644 index 0000000..eea3a0e --- /dev/null +++ b/src/osmo_gsm_tester/obj/rfemu_minicircuits.py @@ -0,0 +1,67 @@ +# osmo_gsm_tester: class defining a RF emulation object implemented using a Minicircuits RC4DAT-6G-60 device +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# Author: Pau Espin Pedrol +# +# 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 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 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 urllib.request +import xml.etree.ElementTree as ET + +from ..core import log +from .rfemu import RFemulation + +# https://www.minicircuits.com/softwaredownload/Prog_Manual-6-Programmable_Attenuator.pdf +class RFemulationMinicircuitsHTTP(RFemulation): + + # HTTP request timeout, in seconds + HTTP_TIMEOUT = 5 + +############## +# PROTECTED +############## + def __init__(self, conf): + super().__init__(conf, 'minicircuits') + self.addr = conf.get('addr') + self.ports = conf.get('ports') + if self.addr is None: + raise log.Error('No "addr" attribute provided in supply conf!') + if self.ports is None or len(self.ports) == 0: + raise log.Error('No "port" attribute provided in supply conf!') + self.set_name('minicircuits(%s:%r)' % (self.addr, self.ports)) + + def _url_prefix(self): + #http://10.12.1.216/:SetAttPerChan:1:0_2:0_3:0_4:0 + return 'http://' + self.addr + + def _utl_set_attenauation(self, db): + ports_str = "" + for port in self.ports: + ports_str = ports_str + str(port) + ":" + + return self._url_prefix() + '/:CHAN:' + ports_str + 'SETATT:' + str(db) + +############################# +# PUBLIC (test API included) +############################# + def set_attenuation(self, db): + url = self._utl_set_attenauation(db) + self.dbg('sending HTTP req: "%s"' % url) + data = urllib.request.urlopen(url, timeout = self.HTTP_TIMEOUT).read() + data_str = str(data, 'utf-8') + self.dbg('Received response: "%s"' % data_str) + if data_str != '1': + raise log.Error('Mini-circuits attenuation device returned failure! %s' & data_str) +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index efb7d5a..d4757f3 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -111,6 +111,9 @@ 'enb[].cell_list[].cell_id': schema.UINT, 'enb[].cell_list[].scell_list[]': schema.UINT, 'enb[].cell_list[].dl_earfcn': schema.UINT, + 'enb[].cell_list[].dl_rfemu.type': schema.STR, + 'enb[].cell_list[].dl_rfemu.addr': schema.IPV4, + 'enb[].cell_list[].dl_rfemu.ports[]': schema.UINT, 'arfcn[].arfcn': schema.INT, 'arfcn[].band': schema.BAND, 'modem[].type': schema.STR, diff --git a/sysmocom/suites/4g/handover.py b/sysmocom/suites/4g/handover.py new file mode 100755 index 0000000..3a49321 --- /dev/null +++ b/sysmocom/suites/4g/handover.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +epc = suite.epc() +enb = suite.enb() +ue = suite.modem() + +epc.subscriber_add(ue) +epc.start() +enb.ue_add(ue) +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) +print('waiting for UE to attach...') +wait(ue.is_connected, None) +print('UE is attached') + +sleep(2) + +rfemu = enb.get_rfemu() +for att in range(1, 10, 1): + print("Setting cell attenuation %d..." % att) + rfemu.set_attenuation(att) + sleep(1) +print("Done") -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 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: Ie98a3fb9bcd2b87b96ecbb5b79e0f53981892a32 Gerrit-Change-Number: 17847 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 Apr 17 15:45:14 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Fri, 17 Apr 2020 15:45:14 +0000 Subject: Change in pysim[master]: commands.py: fix read_binary for lengths > 256 References: Message-ID: guilly at gmail.com has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17848 ) Change subject: commands.py: fix read_binary for lengths > 256 ...................................................................... commands.py: fix read_binary for lengths > 256 Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a --- M pySim/commands.py 1 file changed, 8 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/48/17848/1 diff --git a/pySim/commands.py b/pySim/commands.py index cc7acc6..9369422 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -119,8 +119,14 @@ return (None, None) if length is None: length = self.__len(r) - offset - pdu = self.cla_byte + 'b0%04x%02x' % (offset, (min(256, length) & 0xff)) - return self._tp.send_apdu(pdu) + total_data = '' + while offset < length: + data_chunk = (min(255, length-offset) & 0xff) + pdu = self.cla_byte + 'b0%04x%02x' % (offset, data_chunk) + data,sw = self._tp.send_apdu(pdu) + total_data += data + offset += data_chunk + return total_data, sw def update_binary(self, ef, data, offset=0): self.select_file(ef) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a Gerrit-Change-Number: 17848 Gerrit-PatchSet: 1 Gerrit-Owner: guilly at gmail.com Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Apr 17 15:55:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 15:55:53 +0000 Subject: Change in osmo-uecups[master]: jenkins.sh: Fix PKG_CONFIG_DIR In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17844 ) Change subject: jenkins.sh: Fix PKG_CONFIG_DIR ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17844 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Ie2391ca00e588ddc9b7920dbf28ac69ddd7173e0 Gerrit-Change-Number: 17844 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 15:55: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 Apr 17 15:56:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 15:56:03 +0000 Subject: Change in osmo-uecups[master]: jenkins.sh: Fix PKG_CONFIG_DIR In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17844 ) Change subject: jenkins.sh: Fix PKG_CONFIG_DIR ...................................................................... jenkins.sh: Fix PKG_CONFIG_DIR Change-Id: Ie2391ca00e588ddc9b7920dbf28ac69ddd7173e0 --- M contrib/jenkins.sh 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index f455fcc..1a218b9 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -12,6 +12,12 @@ mkdir "$deps" || true +export PKG_CONFIG_PATH="$inst/lib/pkgconfig:$PKG_CONFIG_PATH" +export LD_LIBRARY_PATH="$inst/lib" +export PATH="$inst/bin:$PATH" + +verify_value_string_arrays_are_terminated.py $(find . -name "*.[hc]") + osmo-build-dep.sh libosmocore "" ac_cv_path_DOXYGEN=false osmo-build-dep.sh libosmo-abis "" ac_cv_path_DOXYGEN=false osmo-build-dep.sh libosmo-netif "" ac_cv_path_DOXYGEN=false -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17844 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Ie2391ca00e588ddc9b7920dbf28ac69ddd7173e0 Gerrit-Change-Number: 17844 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 Fri Apr 17 15:59:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 15:59:13 +0000 Subject: Change in pysim[master]: commands.py: fix read_binary for lengths > 256 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17848 ) Change subject: commands.py: fix read_binary for lengths > 256 ...................................................................... Patch Set 1: thanks for the contribution. We have to figure out how to add a test case for it. we do operate a CI setup that performs pySim operations against a series of different SIM cards. @pmaier: I guess it should be sufficient to test reading at leaset one file that's longer than 256 bytes from at least one card type? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a Gerrit-Change-Number: 17848 Gerrit-PatchSet: 1 Gerrit-Owner: guilly at gmail.com Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 15:59: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 Fri Apr 17 15:59:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 15:59:24 +0000 Subject: Change in osmo-uecups[master]: move VTY and SCTP UECUPS sockets to port 4268 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17841 ) Change subject: move VTY and SCTP UECUPS sockets to port 4268 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17841 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Ifd8a9418184147e1bb3d74192167207c981453de Gerrit-Change-Number: 17841 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 15:59: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 Fri Apr 17 15:59:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 15:59:27 +0000 Subject: Change in osmo-uecups[master]: move VTY and SCTP UECUPS sockets to port 4268 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17841 ) Change subject: move VTY and SCTP UECUPS sockets to port 4268 ...................................................................... move VTY and SCTP UECUPS sockets to port 4268 This is the port number listed on http://osmocom.org/projects/cellular-infrastructure/wiki/Port_Numbers Change-Id: Ifd8a9418184147e1bb3d74192167207c981453de --- M daemon/internal.h M daemon/main.c M ttcn3/UECUPS_Types.ttcn 3 files changed, 10 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/daemon/internal.h b/daemon/internal.h index cbccbfc..f0e1382 100644 --- a/daemon/internal.h +++ b/daemon/internal.h @@ -200,6 +200,8 @@ * GTP Daemon ***********************************************************************/ +#define UECUPS_SCTP_PORT 4268 + struct gtp_daemon { /* global lists of various objects */ struct llist_head gtp_endpoints; diff --git a/daemon/main.c b/daemon/main.c index 2375877..c49b771 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -421,6 +421,10 @@ * GTP Daemon ***********************************************************************/ +#ifndef OSMO_VTY_PORT_UECUPS +#define OSMO_VTY_PORT_UECUPS 4268 +#endif + struct gtp_daemon *g_daemon; static int g_daemonize; static char *g_config_file = "osmo-gtpu-daemon.cfg"; @@ -441,7 +445,7 @@ INIT_LLIST_HEAD(&d->cups_clients); d->cfg.cups_local_ip = talloc_strdup(d, "localhost"); - d->cfg.cups_local_port = 4300; + d->cfg.cups_local_port = UECUPS_SCTP_PORT; return d; } @@ -504,7 +508,7 @@ exit(2); } - rc = telnet_init_dynif(ctx, NULL, vty_get_bind_addr(), OSMO_VTY_PORT_GGSN); + rc = telnet_init_dynif(ctx, NULL, vty_get_bind_addr(), OSMO_VTY_PORT_UECUPS); if (rc < 0) exit(1); diff --git a/ttcn3/UECUPS_Types.ttcn b/ttcn3/UECUPS_Types.ttcn index 8c00090..3699dee 100644 --- a/ttcn3/UECUPS_Types.ttcn +++ b/ttcn3/UECUPS_Types.ttcn @@ -3,6 +3,8 @@ import from General_Types all; import from Osmocom_Types all; +const integer UECUPS_SCTP_PORT := 4268; + type enumerated UECUPS_AddrType { IPV4 (1), IPV6 (2) -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17841 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Ifd8a9418184147e1bb3d74192167207c981453de Gerrit-Change-Number: 17841 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 Fri Apr 17 16:02:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 16:02:24 +0000 Subject: Change in osmo-pcu[master]: TODO: remove those that have obviously been implemented 5+ years ago In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17754 ) Change subject: TODO: remove those that have obviously been implemented 5+ years ago ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17754 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I56581c9b2a08edb1b6d4dc53ad9eb6fdd1800a0d Gerrit-Change-Number: 17754 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 17 Apr 2020 16: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 Fri Apr 17 16:02:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 16:02:26 +0000 Subject: Change in osmo-pcu[master]: TODO: remove those that have obviously been implemented 5+ years ago In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17754 ) Change subject: TODO: remove those that have obviously been implemented 5+ years ago ...................................................................... TODO: remove those that have obviously been implemented 5+ years ago The TODO file hasn't seen any updates sicne 2014, while the code has evolved. I'm not sure about some of the topics, but at least several can for sure be removed by now Change-Id: I56581c9b2a08edb1b6d4dc53ad9eb6fdd1800a0d --- M TODO 1 file changed, 0 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/TODO b/TODO index a449398..028865e 100644 --- a/TODO +++ b/TODO @@ -1,13 +1,5 @@ -* Make the TBF ul/dl list per BTS -* Make the SBA per BTS -* Make the tbf point to the BTS so we can kill plenty of parameters -* Group more into in classes.. remove bts pointers. * Change functions with 100 parameters to get a struct as param * Move move into the TBF class -* Replace trx/ts with pointers. E.g. a PDCH should know the trx - it is on... then we can omit trx, ts and parameters and just pass - the pdch. -* On global free/reset... also flush the timing advance.. * tbf/llc window code appears to be duplicated and nested in other methods. This needs to be cleaned. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17754 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I56581c9b2a08edb1b6d4dc53ad9eb6fdd1800a0d Gerrit-Change-Number: 17754 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 gerrit-no-reply at lists.osmocom.org Fri Apr 17 17:41:29 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 17 Apr 2020 17:41:29 +0000 Subject: Change in pysim[master]: commands.py: fix read_binary for lengths > 256 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17848 ) Change subject: commands.py: fix read_binary for lengths > 256 ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/pysim/+/17848/1/pySim/commands.py File pySim/commands.py: https://gerrit.osmocom.org/c/pysim/+/17848/1/pySim/commands.py at 124 PS1, Line 124: data_chunk Let's rather call it 'chunk_len', the current name is confusing. https://gerrit.osmocom.org/c/pysim/+/17848/1/pySim/commands.py at 124 PS1, Line 124: 0xff Do we really need to do (X & 0xff) where X is always <= 0xff? https://gerrit.osmocom.org/c/pysim/+/17848/1/pySim/commands.py at 126 PS1, Line 126: sw We may probably want to check sw here. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a Gerrit-Change-Number: 17848 Gerrit-PatchSet: 1 Gerrit-Owner: guilly at gmail.com Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 17 Apr 2020 17:41: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 Fri Apr 17 17:44:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 17 Apr 2020 17:44:19 +0000 Subject: Change in osmo-gsm-tester[master]: powersupply: Import sublcass module only if used References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17849 ) Change subject: powersupply: Import sublcass module only if used ...................................................................... powersupply: Import sublcass module only if used This way we avoid unconditionally importing all subclass dependencies, and make them optional based on whether the setup has devices of that type or not. Change-Id: I0d2f8b26364b45f0d837cc51078784d1d0fa7ea1 --- M src/osmo_gsm_tester/obj/powersupply.py 1 file changed, 8 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/49/17849/1 diff --git a/src/osmo_gsm_tester/obj/powersupply.py b/src/osmo_gsm_tester/obj/powersupply.py index 90e84ef..d0d315c 100644 --- a/src/osmo_gsm_tester/obj/powersupply.py +++ b/src/osmo_gsm_tester/obj/powersupply.py @@ -50,23 +50,17 @@ MainLoop.sleep(self, sleep) self.power_set(True) - -from . import powersupply_sispm, powersupply_intellinet - -KNOWN_PWSUPPLY_TYPES = { - 'sispm' : powersupply_sispm.PowerSupplySispm, - 'intellinet' : powersupply_intellinet.PowerSupplyIntellinet, -} - -def register_type(name, clazz): - """Register a new PoerSupply child class at runtime.""" - KNOWN_PWSUPPLY_TYPES[name] = clazz - def get_instance_by_type(pwsupply_type, pwsupply_opt): """Allocate a PowerSupply child class based on type. Opts are passed to the newly created object.""" - obj = KNOWN_PWSUPPLY_TYPES.get(pwsupply_type, None) - if not obj: + if pwsupply_type == 'sispm': + from powersupply_sispm import PowerSupplySispm + obj = PowerSupplySispm + elif pwsupply_type == 'intellinet': + from powersupply_intellinet import PowerSupplyIntellinet + obj = PowerSupplyIntellinet + else: raise log.Error('PowerSupply type not supported:', pwsupply_type) + return obj(pwsupply_opt) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17849 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: I0d2f8b26364b45f0d837cc51078784d1d0fa7ea1 Gerrit-Change-Number: 17849 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 Apr 17 17:44:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 17 Apr 2020 17:44:19 +0000 Subject: Change in osmo-gsm-tester[master]: check_dependencies: Import modules dynamically and find related debia... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17850 ) Change subject: check_dependencies: Import modules dynamically and find related debian packages ...................................................................... check_dependencies: Import modules dynamically and find related debian packages This way we don't need to manually add new imports here or drop unusued ones. It also makes sure local imports in all our py files is correct. For instance, running the script already caught an issue which is added to this patch (osmo_ms_driver/__main__.py). This new version of the script also allows specifying subsets of features to skip when checking for dependencies. This way, for instance somebody not willing to use a sispm powersupply can stil check all the needed dependencies are fine. This new tool will make it easier to slowly make some dependencies only used by some object test classes optional (for instance, python-smpplib if user doesn't want to run an ESME node). Change-Id: I29ddf8971837754abd930d847bd1036e8e510de6 --- M check_dependencies.py M src/osmo_ms_driver/__main__.py 2 files changed, 125 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/50/17850/1 diff --git a/check_dependencies.py b/check_dependencies.py index c3b1d64..3efbaf9 100755 --- a/check_dependencies.py +++ b/check_dependencies.py @@ -3,31 +3,128 @@ # just import all python3 modules used by osmo-gsm-tester to make sure they are # installed. -from inspect import getframeinfo, stack -from mako.lookup import TemplateLookup -from mako.template import Template -import argparse -import contextlib -import copy -import difflib -import fcntl -import inspect -import io -import os -import pprint -import re -import subprocess -import sys -import tempfile -import time -import traceback -import yaml -import pydbus -import sqlite3 -import sispm -import smpplib -import urllib.request -import xml.etree.ElementTree -import numpy -print('dependencies ok') + +import os +import sys +import argparse +import pprint +import subprocess + +feature_module_map = { + 'powersupply_intellinet' : ['powersupply_intellinet'], + 'powersupply_sispm' : ['powersupply_sispm'], + 'rfemu_amarisoftctrl': ['rfemu_amarisoftctrl'], + 'rfemu_minicircuits': ['rfemu_minicircuits'], +} + +def skip_features_to_skip_modules(skip_features): + skip_obj_modules = [] + + for skip_feature in skip_features: + if skip_feature not in feature_module_map: + raise Exception('feature %s doesn\'t exist!' % skip_feature) + for skip_module in feature_module_map[skip_feature]: + skip_obj_modules.append(skip_module) + return skip_obj_modules + +def import_runtime_dependencies(): + # we don't have any right now, but in the future if we import a module during runtime (eg inside a function), then we need to place it here: + # import foobar + pass + +def import_all_py_in_dir(rel_path, skip_modules=[]): + selfdir = os.path.dirname(os.path.abspath(__file__)) + dir = os.path.join(selfdir, rel_path) + print('importing files in directory %s' % dir) + for entry in os.listdir(dir): + full_entry = os.path.join(selfdir, rel_path, entry) + if not os.path.isfile(full_entry): + if args.verbose: + print('skipping entry %s' % full_entry) + continue + if not full_entry.endswith('.py'): + if args.verbose: + print('skipping file %s' % full_entry) + continue + modulename = entry[:-3] + if modulename in skip_modules: + if args.verbose: + print('skipping module %s' % modulename) + continue + modulepath = rel_path.replace('/', '.') + '.' + modulename + print('importing %s' % modulepath) + __import__(modulepath, globals(), locals()) + +def get_module_names(): + all_modules=sys.modules.items() + all_modules_filtered = {} + for mname, m in all_modules: + if not hasattr(m, '__file__'): + continue # skip built-in modules + if mname.startswith('_'): + continue # skip internal modules + if mname.startswith('src.osmo_') or 'osmo_gsm_tester' in mname or 'osmo_ms_driver' in mname: + continue # skip our own local modules + mname = mname.split('.')[0] # store only main module + if m not in all_modules_filtered.values(): + all_modules_filtered[mname] = m + return all_modules_filtered + +def print_deb_packages(modules): + packages_deb = [] + modules_err = [] + for mname, m in modules.items(): + proc = subprocess.Popen(["dpkg", "-S", m.__file__], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + outs, errs = proc.communicate() + if args.verbose: + print('out: %s, err: %s' %(outs, errs)) + if len(errs): # error -> package not found (installed through pip?) + modules_err.append((mname, errs.decode('utf-8'))) + elif len(outs): + outs = outs.decode('utf-8') + outs = outs.split()[0].rstrip(':') # first part is debian package name + if not outs in packages_deb: + packages_deb.append(outs) + else: + print('WARNING: dpkg returns empty!') + + print('Debian packages:') + for pkgname in packages_deb: + print("\t" + pkgname) + print() + print('Modules without debian package (pip or setuptools?):') + for mname, err in modules_err: + print("\t" + mname.ljust(20) + " [" + err.rstrip() +"]") + +parser = argparse.ArgumentParser(epilog=__doc__, formatter_class=argparse.RawTextHelpFormatter) +parser.add_argument('-s', '--skip-feature', dest='skip_features', choices=feature_module_map.keys(), action='append', + help='''All osmo-gsm-tester features not used by the user running the script''') +parser.add_argument('-p', '--distro-packages', dest='distro_packages', action='store_true', + help='Print distro packages installing modules') +parser.add_argument('-v', '--verbose', dest='verbose', action='store_true', + help='Print a lot more information') +args = parser.parse_args() + +skip_obj_modules = skip_features_to_skip_modules(list(args.skip_features or [])) + +print('Skip checking modules: %r' % skip_obj_modules) + +# We need to add it for cross-references between osmo_ms_driver and osmo_gsm_tester to work: +sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), 'src/')) +import_all_py_in_dir('src/osmo_ms_driver') +import_all_py_in_dir('src/osmo_gsm_tester/core') +import_all_py_in_dir('src/osmo_gsm_tester/obj', skip_obj_modules) +import_all_py_in_dir('src/osmo_gsm_tester') +import_runtime_dependencies() +print('Importing dependencies ok, all installed') + +print('Retreiving list of imported modules...') +modules = get_module_names() +if args.verbose: + for mname, m in modules.items(): + print('%s --> %s' %(mname, m.__file__)) + +if args.distro_packages: + print('Generating distro package list from imported module list...') + print_deb_packages(modules) diff --git a/src/osmo_ms_driver/__main__.py b/src/osmo_ms_driver/__main__.py index a4276d9..f84be88 100644 --- a/src/osmo_ms_driver/__main__.py +++ b/src/osmo_ms_driver/__main__.py @@ -23,7 +23,7 @@ from .starter import BinaryOptions, MobileTestStarter from .test_support import imsi_ki_gen from osmo_gsm_tester.core import log, util -from osmo_gsm_tester import ms_osmo_mobile +from osmo_gsm_tester.obj import ms_osmo_mobile # System modules from datetime import timedelta -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17850 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: I29ddf8971837754abd930d847bd1036e8e510de6 Gerrit-Change-Number: 17850 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 Apr 17 17:45:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 17 Apr 2020 17:45:31 +0000 Subject: Change in osmo-gsm-tester[master]: check_dependencies: Import modules dynamically and find related debia... In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17850 ) Change subject: check_dependencies: Import modules dynamically and find related debian packages ...................................................................... check_dependencies: Import modules dynamically and find related debian packages This way we don't need to manually add new imports here or drop unusued ones. It also makes sure local imports in all our py files is correct. For instance, running the script already caught an issue which is added to this patch (osmo_ms_driver/__main__.py). This new version of the script also allows specifying subsets of features to skip when checking for dependencies. This way, for instance somebody not willing to use a sispm powersupply can stil check all the needed dependencies are fine. This new tool will make it easier to slowly make some dependencies only used by some object test classes optional (for instance, python-smpplib if user doesn't want to run an ESME node). It also allows to retrieve the required debian/manually installed packages when run with "-p" option: """ Debian packages: libpython3.5-minimal:amd64 python3-gi python3-six libpython3.5-stdlib:amd64 python3-pygments python3-yaml python3-mako python3-numpy python3-markupsafe Modules without debian package (pip or setuptools?): usb [dpkg-query: no path found matching pattern /usr/local/lib/python3.5/dist-packages/usb/_interop.py] pydbus [dpkg-query: no path found matching pattern /usr/local/lib/python3.5/dist-packages/pydbus/proxy.py] smpplib [dpkg-query: no path found matching pattern /usr/local/lib/python3.5/dist-packages/smpplib/command_codes.py] sispm [dpkg-query: no path found matching pattern /usr/local/lib/python3.5/dist-packages/sispm/__init__.py] """ Change-Id: I29ddf8971837754abd930d847bd1036e8e510de6 --- M check_dependencies.py M src/osmo_ms_driver/__main__.py 2 files changed, 125 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/50/17850/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17850 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: I29ddf8971837754abd930d847bd1036e8e510de6 Gerrit-Change-Number: 17850 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Apr 17 18:05:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 17 Apr 2020 18:05:43 +0000 Subject: Change in osmo-ci[master]: ansible: gsm-tester: Add dependency python3-websocket References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/17851 ) Change subject: ansible: gsm-tester: Add dependency python3-websocket ...................................................................... ansible: gsm-tester: Add dependency python3-websocket osmo-gsm-tester needs it in rfemu_amarisoftctrl.py to connect to Amarisoft CTRL interface (which is implemented through a websocket). Change-Id: Iab03cfdcfb1c197ae002d95e0bb56d86e0aac97b --- M ansible/roles/gsm-tester/tasks/main.yml 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/51/17851/1 diff --git a/ansible/roles/gsm-tester/tasks/main.yml b/ansible/roles/gsm-tester/tasks/main.yml index 6258fde..7f0bad1 100644 --- a/ansible/roles/gsm-tester/tasks/main.yml +++ b/ansible/roles/gsm-tester/tasks/main.yml @@ -217,6 +217,7 @@ - python3-mako - python3-gi - python3-numpy + - python3-websocket - ofono - patchelf - libcap2-bin -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iab03cfdcfb1c197ae002d95e0bb56d86e0aac97b Gerrit-Change-Number: 17851 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 Apr 17 18:09:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 17 Apr 2020 18:09:28 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Implement initial RF emulation API 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/+/17847 to look at the new patch set (#2). Change subject: enb: Implement initial RF emulation API ...................................................................... enb: Implement initial RF emulation API Two implementations are provided: * Amarisoft Ctrl interface (websocket) * Mini-Circuits Programmable Attenuator (HW, HTTP API) [1] in Amarisoft ENBs, if no rfemu is configured explicitly, the Ctrl interface one is used by default, while still being possible to use the HW one. [1] https://www.minicircuits.com/pdfs/RC4DAT-6G-60.pdf Change-Id: Ie98a3fb9bcd2b87b96ecbb5b79e0f53981892a32 --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py A src/osmo_gsm_tester/obj/rfemu.py A src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py A src/osmo_gsm_tester/obj/rfemu_minicircuits.py M src/osmo_gsm_tester/resource.py A sysmocom/suites/4g/handover.py 8 files changed, 256 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/47/17847/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 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: Ie98a3fb9bcd2b87b96ecbb5b79e0f53981892a32 Gerrit-Change-Number: 17847 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 Fri Apr 17 19:41:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 19:41:18 +0000 Subject: Change in libosmocore[master]: exec: Introduce osmo_system_nowait2() to allow specify a user References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17852 ) Change subject: exec: Introduce osmo_system_nowait2() to allow specify a user ...................................................................... exec: Introduce osmo_system_nowait2() to allow specify a user For a process running as root, it may be desirable to drop privileges down to a normal user before executing an external command. Let's add a new API function for that. Change-Id: If1431f930f72a8d6c1d102426874a11b7a2debd9 --- M include/osmocom/core/exec.h M src/exec.c 2 files changed, 28 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/52/17852/1 diff --git a/include/osmocom/core/exec.h b/include/osmocom/core/exec.h index 6bbd352..e63ec11 100644 --- a/include/osmocom/core/exec.h +++ b/include/osmocom/core/exec.h @@ -25,4 +25,5 @@ int osmo_environment_filter(char **out, size_t out_len, char **in, const char **whitelist); int osmo_environment_append(char **out, size_t out_len, char **in); int osmo_close_all_fds_above(int last_fd_to_keep); +int osmo_system_nowait2(const char *command, const char **env_whitelist, char **addl_env, const char *user); int osmo_system_nowait(const char *command, const char **env_whitelist, char **addl_env); diff --git a/src/exec.c b/src/exec.c index 62f5919..dfe019b 100644 --- a/src/exec.c +++ b/src/exec.c @@ -23,6 +23,7 @@ #include "config.h" #ifndef EMBEDDED +#define _GNU_SOURCE #include #include @@ -31,6 +32,7 @@ #include #include #include +#include #include #include @@ -203,12 +205,20 @@ * \param[in] command the shell command to be executed, see system(3) * \param[in] env_whitelist A white-list of keys for environment variables * \param[in] addl_env any additional environment variables to be appended + * \param[in] user name of the user to which we should switch before executing the command * \returns PID of generated child process; negative on error */ -int osmo_system_nowait(const char *command, const char **env_whitelist, char **addl_env) +int osmo_system_nowait2(const char *command, const char **env_whitelist, char **addl_env, const char *user) { + struct passwd *pw = NULL; int rc; + if (user) { + pw = getpwnam(user); + if (!pw) + return -EINVAL; + } + rc = fork(); if (rc == 0) { /* we are in the child */ @@ -232,6 +242,16 @@ return rc; } + /* drop privileges */ + if (pw) { + if (setresgid(pw->pw_gid, pw->pw_gid, pw->pw_gid) < 0) + exit(1); + + if (setresuid(pw->pw_uid, pw->pw_uid, pw->pw_uid) < 0) + exit(1); + + } + /* if we want to behave like system(3), we must go via the shell */ execle("/bin/sh", "sh", "-c", command, (char *) NULL, new_env); /* only reached in case of error */ @@ -244,4 +264,10 @@ } } +int osmo_system_nowait(const char *command, const char **env_whitelist, char **addl_env) +{ + return osmo_system_nowait2(command, env_whitelist, addl_env, NULL); +} + + #endif /* EMBEDDED */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If1431f930f72a8d6c1d102426874a11b7a2debd9 Gerrit-Change-Number: 17852 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 Apr 17 19:41:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 17 Apr 2020 19:41:18 +0000 Subject: Change in libosmocore[master]: select.c: Introduce support for signalfd References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17853 ) Change subject: select.c: Introduce support for signalfd ...................................................................... select.c: Introduce support for signalfd The signalfd(2) mechanism of Linux allows signals to be delivered and processed via normal file descriptor I/O. This avoids any of the usual problems about re-entrancy of signal processing, as signals can be processed from the osmocom select() loop abstraction just like any other event. Change-Id: If8d89dd1f6989e1cd9b9367fad954d65f91ada30 --- M configure.ac M include/osmocom/core/select.h M src/select.c 3 files changed, 76 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/53/17853/1 diff --git a/configure.ac b/configure.ac index 92457f1..352648b 100644 --- a/configure.ac +++ b/configure.ac @@ -62,7 +62,7 @@ dnl checks for header files AC_HEADER_STDC -AC_CHECK_HEADERS(execinfo.h sys/select.h sys/socket.h sys/timerfd.h syslog.h ctype.h netinet/tcp.h netinet/in.h) +AC_CHECK_HEADERS(execinfo.h sys/select.h sys/socket.h sys/signalfd.h sys/timerfd.h syslog.h ctype.h netinet/tcp.h netinet/in.h) # for src/conv.c AC_FUNC_ALLOCA AC_SEARCH_LIBS([dlopen], [dl dld], [LIBRARY_DLOPEN="$LIBS";LIBS=""]) diff --git a/include/osmocom/core/select.h b/include/osmocom/core/select.h index 92904e2..bc60198 100644 --- a/include/osmocom/core/select.h +++ b/include/osmocom/core/select.h @@ -7,6 +7,7 @@ #include #include #include +#include /*! \defgroup select Select loop abstraction * @{ @@ -68,4 +69,21 @@ const struct timespec *interval); int osmo_timerfd_setup(struct osmo_fd *ofd, int (*cb)(struct osmo_fd *, unsigned int), void *data); +/* signalfd integration */ +struct osmo_signalfd; +struct signalfd_siginfo; + +typedef void osmo_signalfd_cb(struct osmo_signalfd *osfd, const struct signalfd_siginfo *fdsi); + +struct osmo_signalfd { + struct osmo_fd ofd; + sigset_t sigset; + osmo_signalfd_cb *cb; + void *data; +}; + +struct osmo_signalfd * +osmo_signalfd_setup(void *ctx, sigset_t set, osmo_signalfd_cb *cb, void *data); + + /*! @} */ diff --git a/src/select.c b/src/select.c index b997122..5c10a40 100644 --- a/src/select.c +++ b/src/select.c @@ -392,6 +392,63 @@ #endif /* HAVE_SYS_TIMERFD_H */ +#ifdef HAVE_SYS_SIGNALFD_H +#include + +static int signalfd_callback(struct osmo_fd *ofd, unsigned int what) +{ + struct osmo_signalfd *osfd = ofd->data; + struct signalfd_siginfo fdsi; + int rc; + + rc = read(ofd->fd, &fdsi, sizeof(fdsi)); + if (rc < 0) { + close(ofd->fd); + ofd->fd = -1; + return rc; + } + + osfd->cb(osfd, &fdsi); + + return 0; +}; + +/*! create a signalfd and register it with osmocom select loop. + * \param[in] ctx talloc context from which osmo_signalfd is to be allocated + * \param[in] set of signals to be accept via this file descriptor + * \param[in] cb call-back function to be called for each arriving signal + * \param[in] data opaque user-provided data to pass to callback + * \returns pointer to newly-allocated + registered osmo_signalfd; NULL on error */ +struct osmo_signalfd * +osmo_signalfd_setup(void *ctx, sigset_t set, osmo_signalfd_cb *cb, void *data) +{ + struct osmo_signalfd *osfd = talloc_size(ctx, sizeof(*osfd)); + int fd, rc; + + if (!osfd) + return NULL; + + osfd->data = data; + osfd->sigset = set; + osfd->cb = cb; + + fd = signalfd(-1, &osfd->sigset, O_NONBLOCK); + if (fd < 0) { + talloc_free(osfd); + return NULL; + } + + osmo_fd_setup(&osfd->ofd, fd, OSMO_FD_READ, signalfd_callback, osfd, 0); + rc = osmo_fd_register(&osfd->ofd); + if (rc < 0) { + close(fd); + return NULL; + } + + return osfd; +} + +#endif /* HAVE_SYS_SIGNALFD_H */ /*! @} */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8d89dd1f6989e1cd9b9367fad954d65f91ada30 Gerrit-Change-Number: 17853 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 Apr 17 21:09:04 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 17 Apr 2020 21:09:04 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Implement initial RF emulation API In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 ) Change subject: enb: Implement initial RF emulation API ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847/2/sysmocom/suites/4g/handover.py File sysmocom/suites/4g/handover.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847/2/sysmocom/suites/4g/handover.py at 25 PS2, Line 25: for att in range(1, 10, 1): this test is called handover but you're only increasing the attenuation for one cell. Perhaps a suitable example would be the zig-zac of the test we've done between two cells. Also do demonstrate the API usage to manipulate different cells -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 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: Ie98a3fb9bcd2b87b96ecbb5b79e0f53981892a32 Gerrit-Change-Number: 17847 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Fri, 17 Apr 2020 21:09:04 +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 Apr 17 21:48:24 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 17 Apr 2020 21:48:24 +0000 Subject: Change in libosmocore[master]: select.c: Introduce support for signalfd In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17853 ) Change subject: select.c: Introduce support for signalfd ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17853/1/src/select.c File src/select.c: https://gerrit.osmocom.org/c/libosmocore/+/17853/1/src/select.c at 445 PS1, Line 445: return NULL; Shouldn't we free() osfd here? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8d89dd1f6989e1cd9b9367fad954d65f91ada30 Gerrit-Change-Number: 17853 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 17 Apr 2020 21:48: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 Fri Apr 17 21:52:32 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 17 Apr 2020 21:52:32 +0000 Subject: Change in libosmocore[master]: exec: Introduce osmo_system_nowait2() to allow specify a user In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17852 ) Change subject: exec: Introduce osmo_system_nowait2() to allow specify a user ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17852/1/src/exec.c File src/exec.c: https://gerrit.osmocom.org/c/libosmocore/+/17852/1/src/exec.c at 248 PS1, Line 248: exit I think documentation for this function should be updated to state that the process would terminate on error. Or should a negative number be returned instead? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If1431f930f72a8d6c1d102426874a11b7a2debd9 Gerrit-Change-Number: 17852 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 17 Apr 2020 21:52:32 +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 Apr 17 22:13:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 17 Apr 2020 22:13:38 +0000 Subject: Change in libosmocore[master]: exec: Introduce osmo_system_nowait2() to allow specify a user In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17852 ) Change subject: exec: Introduce osmo_system_nowait2() to allow specify a user ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/17852/1/src/exec.c File src/exec.c: https://gerrit.osmocom.org/c/libosmocore/+/17852/1/src/exec.c at 217 PS1, Line 217: pw = getpwnam(user); Use getpwnam_r() instead, so this API can be used in multithread apps (though indeed it's probably not nice mixing multi-threads with fork()) BTW, this is only used in the child right? why not calling it there? https://gerrit.osmocom.org/c/libosmocore/+/17852/1/src/exec.c at 248 PS1, Line 248: exit > I think documentation for this function should be updated to state that the process would terminate [?] It probably makes sense to fprintf(stderr) something here, to get some kind of feedback if something goes wrong. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If1431f930f72a8d6c1d102426874a11b7a2debd9 Gerrit-Change-Number: 17852 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 17 Apr 2020 22:13:38 +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 Apr 17 22:25:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 17 Apr 2020 22:25:08 +0000 Subject: Change in libosmocore[master]: select.c: Introduce support for signalfd In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17853 ) Change subject: select.c: Introduce support for signalfd ...................................................................... Patch Set 1: (3 comments) I wonder where why is this extra structure needed at all. sigset is only used during setup, and even that can be easily done manually with the generic ofd... https://gerrit.osmocom.org/c/libosmocore/+/17853/1/include/osmocom/core/select.h File include/osmocom/core/select.h: https://gerrit.osmocom.org/c/libosmocore/+/17853/1/include/osmocom/core/select.h at 74 PS1, Line 74: struct signalfd_siginfo; osmo_signalfd_siginfo? https://gerrit.osmocom.org/c/libosmocore/+/17853/1/src/select.c File src/select.c: https://gerrit.osmocom.org/c/libosmocore/+/17853/1/src/select.c at 435 PS1, Line 435: fd = signalfd(-1, &osfd->sigset, O_NONBLOCK); are you sure O_NONBLOCK is correct here? I don't find it in "man signalfd", but there's SFD_NONBLOCK https://gerrit.osmocom.org/c/libosmocore/+/17853/1/src/select.c at 445 PS1, Line 445: return NULL; > Shouldn't we free() osfd here? agree with fixeria -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8d89dd1f6989e1cd9b9367fad954d65f91ada30 Gerrit-Change-Number: 17853 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 17 Apr 2020 22:25:08 +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 admin at opensuse.org Sat Apr 18 01:55:38 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 18 Apr 2020 01:55:38 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5e9a5e3a4d063_2c8c2ae0c1c5a5f432868e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/Debian_8.0/i586 Package network:osmocom:nightly/osmo-ggsn failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: [ 509s] make[3]: Leaving directory '/usr/src/packages/BUILD/ggsn' [ 509s] Making all in sgsnemu [ 509s] make[3]: Entering directory '/usr/src/packages/BUILD/sgsnemu' [ 509s] CC sgsnemu.o [ 509s] sgsnemu.c: In function 'main': [ 509s] sgsnemu.c:1705:36: error: 'IN6_ADDR_GEN_MODE_NONE' undeclared (first use in this function) [ 509s] snprintf(buf, sizeof(buf), "%u", IN6_ADDR_GEN_MODE_NONE); [ 509s] ^ [ 509s] sgsnemu.c:1705:36: note: each undeclared identifier is reported only once for each function it appears in [ 509s] Makefile:410: recipe for target 'sgsnemu.o' failed [ 509s] make[3]: *** [sgsnemu.o] Error 1 [ 509s] make[3]: Leaving directory '/usr/src/packages/BUILD/sgsnemu' [ 509s] Makefile:468: recipe for target 'all-recursive' failed [ 509s] make[2]: *** [all-recursive] Error 1 [ 509s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 510s] Makefile:370: recipe for target 'all' failed [ 510s] make[1]: *** [all] Error 2 [ 510s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 510s] dh_auto_build: make -j1 returned exit code 2 [ 510s] debian/rules:15: recipe for target 'build' failed [ 510s] make: *** [build] Error 2 [ 510s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 510s] ### VM INTERACTION START ### [ 511s] Powering off. [ 511s] [ 466.070896] reboot: Power down [ 511s] ### VM INTERACTION END ### [ 511s] [ 511s] lamb27 failed "build osmo-ggsn_1.5.0.22.a1b3.dsc" at Sat Apr 18 01:55:30 UTC 2020. [ 511s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Apr 18 02:27:38 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 18 Apr 2020 02:27:38 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5e9a65ba8ec03_2c8c2ae0c1c5a5f43338c2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-ggsn failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: [ 183s] make[3]: Leaving directory '/usr/src/packages/BUILD/ggsn' [ 183s] Making all in sgsnemu [ 183s] make[3]: Entering directory '/usr/src/packages/BUILD/sgsnemu' [ 183s] CC sgsnemu.o [ 183s] sgsnemu.c: In function 'main': [ 183s] sgsnemu.c:1705:36: error: 'IN6_ADDR_GEN_MODE_NONE' undeclared (first use in this function) [ 183s] snprintf(buf, sizeof(buf), "%u", IN6_ADDR_GEN_MODE_NONE); [ 183s] ^ [ 183s] sgsnemu.c:1705:36: note: each undeclared identifier is reported only once for each function it appears in [ 183s] Makefile:410: recipe for target 'sgsnemu.o' failed [ 183s] make[3]: *** [sgsnemu.o] Error 1 [ 183s] make[3]: Leaving directory '/usr/src/packages/BUILD/sgsnemu' [ 183s] Makefile:468: recipe for target 'all-recursive' failed [ 183s] make[2]: *** [all-recursive] Error 1 [ 183s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 183s] Makefile:370: recipe for target 'all' failed [ 183s] make[1]: *** [all] Error 2 [ 183s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 183s] dh_auto_build: make -j1 returned exit code 2 [ 183s] debian/rules:15: recipe for target 'build' failed [ 183s] make: *** [build] Error 2 [ 183s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 183s] ### VM INTERACTION START ### [ 184s] Powering off. [ 184s] [ 172.839862] reboot: Power down [ 184s] ### VM INTERACTION END ### [ 184s] [ 184s] lamb14 failed "build osmo-ggsn_1.5.0.22.a1b3.dsc" at Sat Apr 18 02:27:34 UTC 2020. [ 184s] -- 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 Apr 18 05:26:06 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Sat, 18 Apr 2020 05:26:06 +0000 Subject: Change in pysim[master]: cards.py: added read_sst_raw and read_sst methods In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17827 ) Change subject: cards.py: added read_sst_raw and read_sst methods ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17827/1/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/17827/1/pySim/cards.py at 239 PS1, Line 239: def read_sst(self): First of all, pretty function you wrote here, great job. However I would like to point out that there is already such a function called parse_st in utils.py which takes the raw S/U/I Service Table hex string and returns an array of available/activated services. Also, this function is applicable to just SST and since there is also UST and IST tables a more generic solution would be good just to avoid code duplication. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4e85b3e6c25ede4ad4c3c46db83f8314864a036f Gerrit-Change-Number: 17827 Gerrit-PatchSet: 1 Gerrit-Owner: guilly at gmail.com Gerrit-Assignee: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-CC: herlesupreeth Gerrit-Comment-Date: Sat, 18 Apr 2020 05:26:06 +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 Sat Apr 18 07:29:01 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Sat, 18 Apr 2020 07:29:01 +0000 Subject: Change in pysim[master]: commands.py: fix read_binary for lengths > 256 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/+/17848 to look at the new patch set (#2). Change subject: commands.py: fix read_binary for lengths > 256 ...................................................................... commands.py: fix read_binary for lengths > 256 fixed commit with commented changes Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a --- M pySim/commands.py 1 file changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/48/17848/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a Gerrit-Change-Number: 17848 Gerrit-PatchSet: 2 Gerrit-Owner: guilly at gmail.com Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter 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 Sat Apr 18 07:38:03 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Sat, 18 Apr 2020 07:38:03 +0000 Subject: Change in pysim[master]: cards.py: added read_sst_raw and read_sst methods In-Reply-To: References: Message-ID: guilly at gmail.com has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17827 ) Change subject: cards.py: added read_sst_raw and read_sst methods ...................................................................... Patch Set 1: > Patch Set 1: > > (1 comment) yes, I missed the implementation in utils.py, found it later. I also agree that would be nice a more generic approach to avoid code duplication (that's one of the reasons for splitting into a _raw function). But I saw the same approach for the PLMN tables, so thought it would be ok Probably this will need to be refactored to support the 31101 standard anyway, which uses a different table. Still thinking about how to do it, this was just a "generic" submission, feel free to reject it -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4e85b3e6c25ede4ad4c3c46db83f8314864a036f Gerrit-Change-Number: 17827 Gerrit-PatchSet: 1 Gerrit-Owner: guilly at gmail.com Gerrit-Assignee: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: guilly at gmail.com Gerrit-CC: herlesupreeth Gerrit-Comment-Date: Sat, 18 Apr 2020 07:38: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 Sat Apr 18 07:41:16 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Sat, 18 Apr 2020 07:41:16 +0000 Subject: Change in pysim[master]: commands.py: fix read_binary for lengths > 256 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/+/17848 to look at the new patch set (#3). Change subject: commands.py: fix read_binary for lengths > 256 ...................................................................... commands.py: fix read_binary for lengths > 256 fixed commit with commented changes Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a --- M pySim/commands.py 1 file changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/48/17848/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a Gerrit-Change-Number: 17848 Gerrit-PatchSet: 3 Gerrit-Owner: guilly at gmail.com Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter 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 Sat Apr 18 07:41:43 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Sat, 18 Apr 2020 07:41:43 +0000 Subject: Change in pysim[master]: commands.py: fix read_binary for lengths > 256 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/+/17848 to look at the new patch set (#4). Change subject: commands.py: fix read_binary for lengths > 256 ...................................................................... commands.py: fix read_binary for lengths > 256 fixed commit with commented changes Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a --- M pySim/commands.py 1 file changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/48/17848/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a Gerrit-Change-Number: 17848 Gerrit-PatchSet: 4 Gerrit-Owner: guilly at gmail.com Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter 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 Sat Apr 18 08:49:19 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Sat, 18 Apr 2020 08:49:19 +0000 Subject: Change in pysim[master]: cards.py: added read_sst_raw and read_sst methods In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17827 ) Change subject: cards.py: added read_sst_raw and read_sst methods ...................................................................... Patch Set 1: > Patch Set 1: > > > Patch Set 1: > > > > (1 comment) > > yes, I missed the implementation in utils.py, found it later. I also agree that would be nice a more generic approach to avoid code duplication (that's one of the reasons for splitting into a _raw function). But I saw the same approach for the PLMN tables, so thought it would be ok > Probably this will need to be refactored to support the 31101 standard anyway, which uses a different table. Still thinking about how to do it, this was just a "generic" submission, feel free to reject it Btw, I have a generic implementation in my forked repo (https://github.com/herlesupreeth/pysim). I am just waiting for gerrit reviews (17833 and 17834) to go through master as they are bit crucial for the further commits. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4e85b3e6c25ede4ad4c3c46db83f8314864a036f Gerrit-Change-Number: 17827 Gerrit-PatchSet: 1 Gerrit-Owner: guilly at gmail.com Gerrit-Assignee: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: guilly at gmail.com Gerrit-CC: herlesupreeth Gerrit-Comment-Date: Sat, 18 Apr 2020 08:49: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 Sat Apr 18 09:19:43 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Sat, 18 Apr 2020 09:19:43 +0000 Subject: Change in pysim[master]: commands.py: fix read_binary for lengths > 256 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/+/17848 to look at the new patch set (#5). Change subject: commands.py: fix read_binary for lengths > 256 ...................................................................... commands.py: fix read_binary for lengths > 256 fixed commit with commented changes Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a --- M pySim/cards.py M pySim/commands.py 2 files changed, 12 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/48/17848/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a Gerrit-Change-Number: 17848 Gerrit-PatchSet: 5 Gerrit-Owner: guilly at gmail.com Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter 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 Sat Apr 18 09:27:09 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Sat, 18 Apr 2020 09:27:09 +0000 Subject: Change in pysim[master]: cards.py: added read_sst_raw and read_sst methods In-Reply-To: References: Message-ID: guilly at gmail.com has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17827 ) Change subject: cards.py: added read_sst_raw and read_sst methods ...................................................................... Patch Set 1: > Patch Set 1: > > > Patch Set 1: > > > > > Patch Set 1: > > > > > > (1 comment) > > > > yes, I missed the implementation in utils.py, found it later. I also agree that would be nice a more generic approach to avoid code duplication (that's one of the reasons for splitting into a _raw function). But I saw the same approach for the PLMN tables, so thought it would be ok > > Probably this will need to be refactored to support the 31101 standard anyway, which uses a different table. Still thinking about how to do it, this was just a "generic" submission, feel free to reject it > > Btw, I have a generic implementation in my forked repo (https://github.com/herlesupreeth/pysim). I am just waiting for gerrit reviews (17833 and 17834) to go through master as they are bit crucial for the further commits. ah, nice you already have the 31101 table there, I also had that in the pipeline. I also started at github, but will try to stick to gerrit, to avoid divergences. All I need is helper functions to read the SIM after all, would be nice if you can have that merged soon :-) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4e85b3e6c25ede4ad4c3c46db83f8314864a036f Gerrit-Change-Number: 17827 Gerrit-PatchSet: 1 Gerrit-Owner: guilly at gmail.com Gerrit-Assignee: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: guilly at gmail.com Gerrit-CC: herlesupreeth Gerrit-Comment-Date: Sat, 18 Apr 2020 09:27:09 +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 Apr 18 09:36:04 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Sat, 18 Apr 2020 09:36:04 +0000 Subject: Change in pysim[master]: commands.py: fix read_binary for lengths > 256 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/+/17848 to look at the new patch set (#6). Change subject: commands.py: fix read_binary for lengths > 256 ...................................................................... commands.py: fix read_binary for lengths > 256 fixed commit with commented changes Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a --- M pySim/commands.py 1 file changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/48/17848/6 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a Gerrit-Change-Number: 17848 Gerrit-PatchSet: 6 Gerrit-Owner: guilly at gmail.com Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter 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 Sat Apr 18 10:00:37 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 18 Apr 2020 10:00:37 +0000 Subject: Change in pysim[master]: commands.py: fix read_binary for lengths > 256 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17848 ) Change subject: commands.py: fix read_binary for lengths > 256 ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a Gerrit-Change-Number: 17848 Gerrit-PatchSet: 6 Gerrit-Owner: guilly at gmail.com Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 18 Apr 2020 10: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 Apr 18 12:13:53 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Sat, 18 Apr 2020 12:13:53 +0000 Subject: Change in osmo-bts[master]: Merge branch 'rafael2k/litecell15_missing_features' of ssh://gerrit.o... 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/+/17809 to look at the new patch set (#2). Change subject: Merge branch 'rafael2k/litecell15_missing_features' of ssh://gerrit.osmocom.org:29418/osmo-bts into rafael2k/litecell15_missing_features ...................................................................... Merge branch 'rafael2k/litecell15_missing_features' of ssh://gerrit.osmocom.org:29418/osmo-bts into rafael2k/litecell15_missing_features Change-Id: I363656e55fe7828cc452df14c0ff0420180e2af5 --- M src/osmo-bts-litecell15/l1_if.c M src/osmo-bts-litecell15/lc15bts.c 3 files changed, 8 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/09/17809/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17809 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I363656e55fe7828cc452df14c0ff0420180e2af5 Gerrit-Change-Number: 17809 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Apr 18 12:31:19 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Sat, 18 Apr 2020 12:31:19 +0000 Subject: Change in osmo-bts[master]: Merge branch 'rafael2k/litecell15_missing_features' of ssh://gerrit.o... References: Message-ID: rafael2k has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17854 ) Change subject: Merge branch 'rafael2k/litecell15_missing_features' of ssh://gerrit.osmocom.org:29418/osmo-bts into rafael2k/litecell15_missing_features ...................................................................... Merge branch 'rafael2k/litecell15_missing_features' of ssh://gerrit.osmocom.org:29418/osmo-bts into rafael2k/litecell15_missing_features Change-Id: I7af749a543c840f6e3898f17aaea23a30a0b1989 --- M src/osmo-bts-litecell15/l1_if.c M src/osmo-bts-litecell15/oml.c 3 files changed, 6 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/54/17854/1 diff --git a/src/osmo-bts-litecell15/l1_if.c b/src/osmo-bts-litecell15/l1_if.c index 1bdc726..6a8cb3c 100644 --- a/src/osmo-bts-litecell15/l1_if.c +++ b/src/osmo-bts-litecell15/l1_if.c @@ -1265,11 +1265,7 @@ get_value_string(lc15bts_l1status_names, status)); bts_shutdown(trx->bts, "RF-ACT failure"); } else { -<<<<<<< HEAD (a02d12 Merge branch 'rafael2k/litecell15_missing_features' of ssh:/) if (bts_lc15->led_ctrl_mode == LC15_LED_CONTROL_BTS) -======= - if(bts_lc15->led_ctrl_mode == LC15_LED_CONTROL_BTS) ->>>>>>> BRANCH (1d6514 Merge branch 'rafael2k/litecell15_missing_features' of ssh:/) bts_update_status(BTS_STATUS_RF_ACTIVE, 1); } @@ -1282,11 +1278,7 @@ for (i = 0; i < ARRAY_SIZE(trx->ts); i++) oml_mo_state_chg(&trx->ts[i].mo, NM_OPSTATE_DISABLED, NM_AVSTATE_DEPENDENCY); } else { -<<<<<<< HEAD (a02d12 Merge branch 'rafael2k/litecell15_missing_features' of ssh:/) if (bts_lc15->led_ctrl_mode == LC15_LED_CONTROL_BTS) -======= - if(bts_lc15->led_ctrl_mode == LC15_LED_CONTROL_BTS) ->>>>>>> BRANCH (1d6514 Merge branch 'rafael2k/litecell15_missing_features' of ssh:/) bts_update_status(BTS_STATUS_RF_ACTIVE, 0); oml_mo_state_chg(&trx->mo, NM_OPSTATE_DISABLED, NM_AVSTATE_OFF_LINE); oml_mo_state_chg(&trx->bb_transc.mo, NM_OPSTATE_DISABLED, NM_AVSTATE_OFF_LINE); diff --git a/src/osmo-bts-litecell15/oml.c b/src/osmo-bts-litecell15/oml.c index a519b38..51494c2 100644 --- a/src/osmo-bts-litecell15/oml.c +++ b/src/osmo-bts-litecell15/oml.c @@ -1179,7 +1179,9 @@ { GsmL1_ConfigParamId_SetTxPowerLevel, "Set Tx power level" }, { GsmL1_ConfigParamId_SetLogChParams, "Set logical channel params" }, { GsmL1_ConfigParamId_SetCipheringParams,"Configure ciphering params" }, +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) { GsmL1_ConfigParamId_Set8pskPowerReduction, "Set 8PSK Tx power reduction" }, +#endif { 0, NULL } }; @@ -1428,6 +1430,7 @@ return l1if_gsm_req_compl(fl1h, msg, chmod_txpower_compl_cb, NULL); } +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) int l1if_set_txpower_backoff_8psk(struct lc15l1_hdl *fl1h, uint8_t backoff) { struct msgb *msg = l1p_msgb_alloc(); @@ -1468,6 +1471,7 @@ return l1if_req_compl(fl1h, msg, chmod_c0_idle_pwr_red_compl_cb, NULL); } +#endif const enum GsmL1_CipherId_t rsl2l1_ciph[] = { [0] = GsmL1_CipherId_A50, @@ -1836,7 +1840,7 @@ /* Did we go through MphInit yet? If yes fire and forget */ if (fl1h->hLayer1) { power_ramp_start(trx, get_p_target_mdBm(trx, 0), 0); - +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) if (fl1h->phy_inst->u.lc15.tx_pwr_red_8psk != trx->max_power_backoff_8psk) { /* update current Tx power backoff for 8-PSK */ fl1h->phy_inst->u.lc15.tx_pwr_red_8psk = trx->max_power_backoff_8psk; @@ -1850,6 +1854,7 @@ /* instruct L1 to apply C0 idle slot power reduction */ l1if_set_txpower_c0_idle_pwr_red(fl1h, fl1h->phy_inst->u.lc15.tx_c0_idle_pwr_red); } +#endif } } /* FIXME: we actually need to send a ACK or NACK for the OML message */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7af749a543c840f6e3898f17aaea23a30a0b1989 Gerrit-Change-Number: 17854 Gerrit-PatchSet: 1 Gerrit-Owner: rafael2k Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Apr 18 12:42:30 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Sat, 18 Apr 2020 12:42:30 +0000 Subject: Change in pysim[master]: cards.py: added read_sst_raw and read_sst methods 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/+/17827 to look at the new patch set (#2). Change subject: cards.py: added read_sst_raw and read_sst methods ...................................................................... cards.py: added read_sst_raw and read_sst methods read_sst generates a an array of strings of the form service N: service name it simply calls read_sst_raw and parses it read_sst_raw generates a string consisting of an array of bits, ordered from 1 to N Change-Id: I4e85b3e6c25ede4ad4c3c46db83f8314864a036f --- M pySim/cards.py 1 file changed, 26 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/27/17827/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4e85b3e6c25ede4ad4c3c46db83f8314864a036f Gerrit-Change-Number: 17827 Gerrit-PatchSet: 2 Gerrit-Owner: guilly at gmail.com Gerrit-Assignee: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: guilly at gmail.com Gerrit-CC: herlesupreeth Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Apr 18 13:00:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 13:00:35 +0000 Subject: Change in libosmocore[master]: exec: Introduce osmo_system_nowait2() to allow specify a user In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17852 ) Change subject: exec: Introduce osmo_system_nowait2() to allow specify a user ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/17852/1/src/exec.c File src/exec.c: https://gerrit.osmocom.org/c/libosmocore/+/17852/1/src/exec.c at 217 PS1, Line 217: pw = getpwnam(user); > Use getpwnam_r() instead, so this API can be used in multithread apps (though indeed it's probably n [?] I wanted to detect situations where the username is invalid/unknown in the parent so it can be reported before even forking. Will change to getpwnam_r() https://gerrit.osmocom.org/c/libosmocore/+/17852/1/src/exec.c at 248 PS1, Line 248: exit > It probably makes sense to fprintf(stderr) something here, to get some kind of feedback if something [?] @fixeria: it's not the parent process but only the child that terminates [before it ever execs the requested program]. You cannot return anything to the parent at this point anymore. @pespin: ACK -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If1431f930f72a8d6c1d102426874a11b7a2debd9 Gerrit-Change-Number: 17852 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 18 Apr 2020 13:00:35 +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 Sat Apr 18 13:07:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 13:07:42 +0000 Subject: Change in libosmocore[master]: select.c: Introduce support for signalfd In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/17853 to look at the new patch set (#2). Change subject: select.c: Introduce support for signalfd ...................................................................... select.c: Introduce support for signalfd The signalfd(2) mechanism of Linux allows signals to be delivered and processed via normal file descriptor I/O. This avoids any of the usual problems about re-entrancy of signal processing, as signals can be processed from the osmocom select() loop abstraction just like any other event. Change-Id: If8d89dd1f6989e1cd9b9367fad954d65f91ada30 --- M configure.ac M include/osmocom/core/select.h M src/select.c 3 files changed, 77 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/53/17853/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8d89dd1f6989e1cd9b9367fad954d65f91ada30 Gerrit-Change-Number: 17853 Gerrit-PatchSet: 2 Gerrit-Owner: laforge 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 Sat Apr 18 13:07:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 13:07:42 +0000 Subject: Change in libosmocore[master]: exec: Introduce osmo_system_nowait2() to allow specify a user 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/+/17852 to look at the new patch set (#2). Change subject: exec: Introduce osmo_system_nowait2() to allow specify a user ...................................................................... exec: Introduce osmo_system_nowait2() to allow specify a user For a process running as root, it may be desirable to drop privileges down to a normal user before executing an external command. Let's add a new API function for that. Change-Id: If1431f930f72a8d6c1d102426874a11b7a2debd9 --- M include/osmocom/core/exec.h M src/exec.c 2 files changed, 49 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/52/17852/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If1431f930f72a8d6c1d102426874a11b7a2debd9 Gerrit-Change-Number: 17852 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge 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 Sat Apr 18 13:08:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 13:08:35 +0000 Subject: Change in osmo-bts[master]: Merge branch 'rafael2k/litecell15_missing_features' of ssh://gerrit.o... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17854 ) Change subject: Merge branch 'rafael2k/litecell15_missing_features' of ssh://gerrit.osmocom.org:29418/osmo-bts into rafael2k/litecell15_missing_features ...................................................................... Patch Set 1: Code-Review-2 please don't push "merge" commits to gerrit. Rather, rebase all your changes and push the series of commits to gerrit. Pleease abandon this one. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7af749a543c840f6e3898f17aaea23a30a0b1989 Gerrit-Change-Number: 17854 Gerrit-PatchSet: 1 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 18 Apr 2020 13:08: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 Sat Apr 18 13:08:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 13:08:42 +0000 Subject: Change in osmo-bts[master]: Merge branch 'rafael2k/litecell15_missing_features' of ssh://gerrit.o... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17809 ) Change subject: Merge branch 'rafael2k/litecell15_missing_features' of ssh://gerrit.osmocom.org:29418/osmo-bts into rafael2k/litecell15_missing_features ...................................................................... Patch Set 2: Code-Review-2 please don't push "merge" commits to gerrit. Rather, rebase all your changes and push the series of commits to gerrit. Pleease abandon this one. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17809 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I363656e55fe7828cc452df14c0ff0420180e2af5 Gerrit-Change-Number: 17809 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 18 Apr 2020 13:08: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 Sat Apr 18 13:09:42 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Sat, 18 Apr 2020 13:09:42 +0000 Subject: Change in osmo-bts[master]: Merge branch 'rafael2k/litecell15_missing_features' of ssh://gerrit.o... In-Reply-To: References: Message-ID: rafael2k has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17809 ) Change subject: Merge branch 'rafael2k/litecell15_missing_features' of ssh://gerrit.osmocom.org:29418/osmo-bts into rafael2k/litecell15_missing_features ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17809 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I363656e55fe7828cc452df14c0ff0420180e2af5 Gerrit-Change-Number: 17809 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k 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 Sat Apr 18 13:10:07 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Sat, 18 Apr 2020 13:10:07 +0000 Subject: Change in osmo-bts[master]: Merge branch 'rafael2k/litecell15_missing_features' of ssh://gerrit.o... In-Reply-To: References: Message-ID: rafael2k has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17854 ) Change subject: Merge branch 'rafael2k/litecell15_missing_features' of ssh://gerrit.osmocom.org:29418/osmo-bts into rafael2k/litecell15_missing_features ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7af749a543c840f6e3898f17aaea23a30a0b1989 Gerrit-Change-Number: 17854 Gerrit-PatchSet: 1 Gerrit-Owner: rafael2k 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 Sat Apr 18 13:20:16 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Sat, 18 Apr 2020 13:20:16 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: rafael2k has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17808 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 2: (2 comments) > Patch Set 2: > > > Description set to "I'm not sure why there is a case with failing > > build, as the software build and runs fine in the LC 1.5." > > Hi Juba, If you follow the jenkins link to the build, you can see which build failed, there you can access the entire log for the build. > > There, at least, we can see: > > lc15bts.c:126:7: error: ?Litecell15_PrimId_SetMaxCellSizeReq? undeclared (first use in this function) > > That certainly looks wrong. As I already flagged this might come up, I'd verify the LC15 headers being used for the build on jenkins. > > There's also a whole bunch of other warnings there that should probably be cleaned up? I'm fixing the problems in the rafael2k/litecell15_missing_features. Soon I'll send another patch. https://gerrit.osmocom.org/c/osmo-bts/+/17808/2/src/osmo-bts-litecell15/l1_if.c File src/osmo-bts-litecell15/l1_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/17808/2/src/osmo-bts-litecell15/l1_if.c at 1268 PS2, Line 1268: if( > coding style: missing space Done https://gerrit.osmocom.org/c/osmo-bts/+/17808/2/src/osmo-bts-litecell15/l1_if.c at 1281 PS2, Line 1281: if( > coding style: missing space Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17808 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id41bba798440b00a3b11441b64b2e8094a946bf2 Gerrit-Change-Number: 17808 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: rafael2k Gerrit-CC: fixeria Gerrit-CC: keith Gerrit-Comment-Date: Sat, 18 Apr 2020 13:20:16 +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 Apr 18 13:20:55 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Sat, 18 Apr 2020 13:20:55 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: rafael2k has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17808 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 2: > Patch Set 2: > > (1 comment) > > > > Description set to "I'm not sure why there is a case with failing > > > build, as the software build and runs fine in the LC 1.5." > > > > > l1_if.c:1714:36: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types] > fl1h->hw_alive.dsp_alive_timer.cb = dsp_alive_timer_cb; Fixing in rafael2k/litecell15_missing_features. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17808 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id41bba798440b00a3b11441b64b2e8094a946bf2 Gerrit-Change-Number: 17808 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: rafael2k Gerrit-CC: fixeria Gerrit-CC: keith Gerrit-Comment-Date: Sat, 18 Apr 2020 13:20: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 Sat Apr 18 14:03:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 18 Apr 2020 14:03:22 +0000 Subject: Change in libosmocore[master]: exec: Introduce osmo_system_nowait2() to allow specify a user In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17852 ) Change subject: exec: Introduce osmo_system_nowait2() to allow specify a user ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If1431f930f72a8d6c1d102426874a11b7a2debd9 Gerrit-Change-Number: 17852 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 18 Apr 2020 14:03: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 Apr 18 14:05:43 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Sat, 18 Apr 2020 14:05:43 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. References: Message-ID: rafael2k has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... osmo-bts-litecell15: Implement missing features. Many hardware parameters of the LC 1.5 were not exposed to the user. This patchset introduces most of the features, being very similar to osmo-bts-oc2g code. Try 2. Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d --- M include/osmo-bts/phy_link.h M src/osmo-bts-litecell15/l1_if.c M src/osmo-bts-litecell15/l1_if.h M src/osmo-bts-litecell15/lc15bts.c M src/osmo-bts-litecell15/lc15bts.h M src/osmo-bts-litecell15/lc15bts_vty.c M src/osmo-bts-litecell15/main.c M src/osmo-bts-litecell15/oml.c 8 files changed, 563 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/55/17855/1 diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index 116297b..cf877bd 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -135,6 +135,7 @@ uint8_t dsp_alive_period; /* DSP alive timer period */ uint8_t tx_pwr_adj_mode; /* 0: no auto adjust power, 1: auto adjust power using RMS detector */ uint8_t tx_pwr_red_8psk; /* 8-PSK maximum Tx power reduction level in dB */ + uint8_t tx_c0_idle_pwr_red; /* C0 idle slot Tx power reduction level in dB */ } lc15; struct { /* configuration */ diff --git a/src/osmo-bts-litecell15/l1_if.c b/src/osmo-bts-litecell15/l1_if.c index abf48bc..6dead92 100644 --- a/src/osmo-bts-litecell15/l1_if.c +++ b/src/osmo-bts-litecell15/l1_if.c @@ -1257,14 +1257,17 @@ LOGP(DL1C, LOGL_INFO, "Rx RF-%sACT.conf (status=%s)\n", on ? "" : "DE", get_value_string(lc15bts_l1status_names, status)); + struct bts_lc15_priv *bts_lc15 = trx->bts->model_priv; if (on) { if (status != GsmL1_Status_Success) { LOGP(DL1C, LOGL_FATAL, "RF-ACT.conf with status %s\n", get_value_string(lc15bts_l1status_names, status)); bts_shutdown(trx->bts, "RF-ACT failure"); - } else - bts_update_status(BTS_STATUS_RF_ACTIVE, 1); + } else { + if (bts_lc15->led_ctrl_mode == LC15_LED_CONTROL_BTS) + bts_update_status(BTS_STATUS_RF_ACTIVE, 1); + } /* signal availability */ oml_mo_state_chg(&trx->mo, NM_OPSTATE_DISABLED, NM_AVSTATE_OK); @@ -1275,7 +1278,8 @@ for (i = 0; i < ARRAY_SIZE(trx->ts); i++) oml_mo_state_chg(&trx->ts[i].mo, NM_OPSTATE_DISABLED, NM_AVSTATE_DEPENDENCY); } else { - bts_update_status(BTS_STATUS_RF_ACTIVE, 0); + if (bts_lc15->led_ctrl_mode == LC15_LED_CONTROL_BTS) + bts_update_status(BTS_STATUS_RF_ACTIVE, 0); oml_mo_state_chg(&trx->mo, NM_OPSTATE_DISABLED, NM_AVSTATE_OFF_LINE); oml_mo_state_chg(&trx->bb_transc.mo, NM_OPSTATE_DISABLED, NM_AVSTATE_OFF_LINE); } @@ -1290,17 +1294,28 @@ { struct msgb *msg = sysp_msgb_alloc(); Litecell15_Prim_t *sysp = msgb_sysprim(msg); + struct phy_instance *pinst = hdl->phy_inst; if (on) { sysp->id = Litecell15_PrimId_ActivateRfReq; sysp->u.activateRfReq.msgq.u8UseTchMsgq = 0; sysp->u.activateRfReq.msgq.u8UsePdtchMsgq = pcu_direct; - sysp->u.activateRfReq.u8UnusedTsMode = 0; + sysp->u.activateRfReq.u8UnusedTsMode = pinst->u.lc15.pedestal_mode; + sysp->u.activateRfReq.u8McCorrMode = 0; + /* diversity mode: 0: SISO-A, 1: SISO-B, 2: MRC */ + sysp->u.activateRfReq.u8DiversityMode = pinst->u.lc15.diversity_mode; + /* maximum cell size in quarter-bits, 90 == 12.456 km */ - sysp->u.activateRfReq.u8MaxCellSize = 90; + sysp->u.activateRfReq.u8MaxCellSize = pinst->u.lc15.max_cell_size; + +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + /* auto tx power adjustment mode 0:none, 1: automatic*/ + sysp->u.activateRfReq.u8EnAutoPowerAdjust = pinst->u.lc15.tx_pwr_adj_mode; +#endif + } else { sysp->id = Litecell15_PrimId_DeactivateRfReq; } @@ -1589,6 +1604,56 @@ return 0; } +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) +static void dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) +{ + Litecell15_Prim_t *sysp = msgb_sysprim(resp); + Litecell15_IsAliveCnf_t *sac = &sysp->u.isAliveCnf; + struct lc15l1_hdl *fl1h = trx_lc15l1_hdl(trx); + + fl1h->hw_alive.dsp_alive_cnt++; + LOGP(DL1C, LOGL_DEBUG, "Rx SYS prim %s, status=%d (%d)\n", + get_value_string(lc15bts_sysprim_names, sysp->id), sac->status, trx->nr); + + msgb_free(resp); +} + +static int dsp_alive_timer_cb(void *data) +{ + struct lc15l1_hdl *fl1h = data; + struct gsm_bts_trx *trx = fl1h->phy_inst->trx; + struct msgb *msg = sysp_msgb_alloc(); + int rc; + + Litecell15_Prim_t *sys_prim = msgb_sysprim(msg); + sys_prim->id = Litecell15_PrimId_IsAliveReq; + + if (fl1h->hw_alive.dsp_alive_cnt == 0) { + LOGP(DL1C, LOGL_ERROR, "Timeout waiting for SYS prim %s primitive (%d)\n", + get_value_string(lc15bts_sysprim_names, sys_prim->id + 1), trx->nr); + + if( fl1h->phy_inst->trx ){ + fl1h->phy_inst->trx->mo.obj_inst.trx_nr = fl1h->phy_inst->trx->nr; + } + } + + LOGP(DL1C, LOGL_DEBUG, "Tx SYS prim %s (%d)\n", + get_value_string(lc15bts_sysprim_names, sys_prim->id), trx->nr); + + rc = l1if_req_compl(fl1h, msg, dsp_alive_compl_cb, NULL); + if (rc < 0) { + LOGP(DL1C, LOGL_FATAL, "Failed to send %s primitive\n", get_value_string(lc15bts_sysprim_names, sys_prim->id)); + return -EIO; + } + + /* restart timer */ + fl1h->hw_alive.dsp_alive_cnt = 0; + osmo_timer_schedule(&fl1h->hw_alive.dsp_alive_timer, fl1h->hw_alive.dsp_alive_period, 0); + + return 0; +} +#endif + int bts_model_phy_link_open(struct phy_link *plink) { struct phy_instance *pinst = phy_instance_by_num(plink, 0); @@ -1608,6 +1673,29 @@ return -EIO; } + /* Set default PHY parameters */ + if (!pinst->u.lc15.max_cell_size) + pinst->u.lc15.max_cell_size = LC15_BTS_MAX_CELL_SIZE_DEFAULT; + + if (!pinst->u.lc15.diversity_mode) + pinst->u.lc15.diversity_mode = LC15_BTS_DIVERSITY_MODE_DEFAULT; + + if (!pinst->u.lc15.pedestal_mode) + pinst->u.lc15.pedestal_mode = LC15_BTS_PEDESTAL_MODE_DEFAULT; + +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + if (!pinst->u.lc15.dsp_alive_period) + pinst->u.lc15.dsp_alive_period = LC15_BTS_DSP_ALIVE_TMR_DEFAULT; + + if (!pinst->u.lc15.tx_pwr_adj_mode) + pinst->u.lc15.tx_pwr_adj_mode = LC15_BTS_TX_PWR_ADJ_DEFAULT; + + if (!pinst->u.lc15.tx_pwr_red_8psk) + pinst->u.lc15.tx_pwr_red_8psk = LC15_BTS_TX_RED_PWR_8PSK_DEFAULT; + + if (!pinst->u.lc15.tx_c0_idle_pwr_red) + pinst->u.lc15.tx_c0_idle_pwr_red = LC15_BTS_TX_C0_IDLE_RED_PWR_DEFAULT; +#endif struct lc15l1_hdl *fl1h = pinst->u.lc15.hdl; fl1h->dsp_trace_f = dsp_trace; @@ -1616,5 +1704,27 @@ phy_link_state_set(plink, PHY_LINK_CONNECTED); +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + /* Send first IS_ALIVE primitive */ + struct msgb *msg = sysp_msgb_alloc(); + int rc; + + Litecell15_Prim_t *sys_prim = msgb_sysprim(msg); + sys_prim->id = Litecell15_PrimId_IsAliveReq; + + rc = l1if_req_compl(fl1h, msg, dsp_alive_compl_cb, NULL); + if (rc < 0) { + LOGP(DL1C, LOGL_FATAL, "Failed to send %s primitive\n", get_value_string(lc15bts_sysprim_names, sys_prim->id)); + return -EIO; + } + + /* initialize DSP heart beat alive timer */ + fl1h->hw_alive.dsp_alive_timer.cb = dsp_alive_timer_cb; + fl1h->hw_alive.dsp_alive_timer.data = fl1h; + fl1h->hw_alive.dsp_alive_cnt = 0; + fl1h->hw_alive.dsp_alive_period = pinst->u.lc15.dsp_alive_period; + osmo_timer_schedule(&fl1h->hw_alive.dsp_alive_timer, fl1h->hw_alive.dsp_alive_period, 0); +#endif + return 0; } diff --git a/src/osmo-bts-litecell15/l1_if.h b/src/osmo-bts-litecell15/l1_if.h index aac2607..f5efa91 100644 --- a/src/osmo-bts-litecell15/l1_if.h +++ b/src/osmo-bts-litecell15/l1_if.h @@ -30,6 +30,12 @@ _NUM_MQ_WRITE }; +/* gsm_bts->model_priv, specific to Litecell 1.5 BTS */ +struct bts_lc15_priv { + uint8_t led_ctrl_mode; /* 0: control by BTS, 1: not control by BTS */ + unsigned int rtp_drift_thres_ms; /* RTP timestamp drift detection threshold */ +}; + struct calib_send_state { FILE *fp; const char *path; @@ -62,6 +68,15 @@ struct calib_send_state st; uint8_t last_rf_mute[8]; + +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + struct { + struct osmo_timer_list dsp_alive_timer; + unsigned int dsp_alive_cnt; + uint8_t dsp_alive_period; + } hw_alive; +#endif + }; #define msgb_l1prim(msg) ((GsmL1_Prim_t *)(msg)->l1h) diff --git a/src/osmo-bts-litecell15/lc15bts.c b/src/osmo-bts-litecell15/lc15bts.c index 172a7e4..0d096dc 100644 --- a/src/osmo-bts-litecell15/lc15bts.c +++ b/src/osmo-bts-litecell15/lc15bts.c @@ -121,6 +121,14 @@ case Litecell15_PrimId_MuteRfCnf: return L1P_T_CONF; case Litecell15_PrimId_SetRxAttenReq: return L1P_T_REQ; case Litecell15_PrimId_SetRxAttenCnf: return L1P_T_CONF; + case Litecell15_PrimId_SetMaxCellSizeReq: return L1P_T_REQ; + case Litecell15_PrimId_SetMaxCellSizeCnf: return L1P_T_CONF; +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + case Litecell15_PrimId_IsAliveReq: return L1P_T_REQ; + case Litecell15_PrimId_IsAliveCnf: return L1P_T_CONF; + case Litecell15_PrimId_SetC0IdleSlotPowerReductionReq: return L1P_T_REQ; + case Litecell15_PrimId_SetC0IdleSlotPowerReductionCnf: return L1P_T_CONF; +#endif default: return L1P_T_INVALID; } } @@ -142,6 +150,14 @@ { Litecell15_PrimId_MuteRfCnf, "MUTE-RF.cnf" }, { Litecell15_PrimId_SetRxAttenReq, "SET-RX-ATTEN.req" }, { Litecell15_PrimId_SetRxAttenCnf, "SET-RX-ATTEN-CNF.cnf" }, + { Litecell15_PrimId_SetMaxCellSizeReq, "SET-MAX-CELL-SIZE.req" }, + { Litecell15_PrimId_SetMaxCellSizeCnf, "SET-MAX-CELL-SIZE.cnf" }, +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + { Litecell15_PrimId_IsAliveReq, "IS-ALIVE.req" }, + { Litecell15_PrimId_IsAliveCnf, "IS-ALIVE-CNF.cnf" }, + { Litecell15_PrimId_SetC0IdleSlotPowerReductionReq, "SET-C0-IDLE-PWR-RED.req" }, + { Litecell15_PrimId_SetC0IdleSlotPowerReductionCnf, "SET-C0-IDLE-PWR-RED.cnf" }, +#endif { 0, NULL } }; @@ -155,6 +171,11 @@ case Litecell15_PrimId_SetCalibTblReq: return Litecell15_PrimId_SetCalibTblCnf; case Litecell15_PrimId_MuteRfReq: return Litecell15_PrimId_MuteRfCnf; case Litecell15_PrimId_SetRxAttenReq: return Litecell15_PrimId_SetRxAttenCnf; + case Litecell15_PrimId_SetMaxCellSizeReq: return Litecell15_PrimId_SetMaxCellSizeCnf; +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + case Litecell15_PrimId_IsAliveReq: return Litecell15_PrimId_IsAliveCnf; + case Litecell15_PrimId_SetC0IdleSlotPowerReductionReq: return Litecell15_PrimId_SetC0IdleSlotPowerReductionCnf; +#endif default: return -1; // Weak } } diff --git a/src/osmo-bts-litecell15/lc15bts.h b/src/osmo-bts-litecell15/lc15bts.h index 4c40db0..776df50 100644 --- a/src/osmo-bts-litecell15/lc15bts.h +++ b/src/osmo-bts-litecell15/lc15bts.h @@ -22,6 +22,30 @@ L1P_T_IND, }; + +enum lc15_diversity_mode{ + LC15_DIVERSITY_SISO_A = 0, + LC15_DIVERSITY_SISO_B, + LC15_DIVERSITY_MRC, +}; + +enum lc15_pedestal_mode{ + LC15_PEDESTAL_OFF = 0, + LC15_PEDESTAL_ON, +}; + +enum lc15_led_control_mode{ + LC15_LED_CONTROL_BTS = 0, + LC15_LED_CONTROL_EXT, +}; + +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) +enum lc15_auto_pwr_adjust_mode{ + LC15_TX_PWR_ADJ_NONE = 0, + LC15_TX_PWR_ADJ_AUTO, +}; +#endif + enum l1prim_type lc15bts_get_l1prim_type(GsmL1_PrimId_t id); const struct value_string lc15bts_l1prim_names[GsmL1_PrimId_NUM+1]; GsmL1_PrimId_t lc15bts_get_l1prim_conf(GsmL1_PrimId_t id); @@ -61,4 +85,17 @@ const uint8_t pdch_msu_size[_NUM_PDCH_CS]; +/* LC15 default parameters */ +#define LC15_BTS_MAX_CELL_SIZE_DEFAULT 166 /* 166 qbits is default value */ +#define LC15_BTS_DIVERSITY_MODE_DEFAULT 0 /* SISO-A is default mode */ +#define LC15_BTS_PEDESTAL_MODE_DEFAULT 0 /* Unused TS is off by default */ +#define LC15_BTS_LED_CTRL_MODE_DEFAULT 0 /* LED is controlled by BTS by default */ +#define LC15_BTS_RTP_DRIFT_THRES_DEFAULT 0 /* Default RTP drift threshold is 0 ms (disabled) */ +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) +#define LC15_BTS_DSP_ALIVE_TMR_DEFAULT 5 /* Default DSP alive timer is 5 seconds */ +#define LC15_BTS_TX_PWR_ADJ_DEFAULT 0 /* Default Tx power auto adjustment is none */ +#define LC15_BTS_TX_RED_PWR_8PSK_DEFAULT 0 /* Default 8-PSK maximum power level is 0 dB */ +#define LC15_BTS_TX_C0_IDLE_RED_PWR_DEFAULT 0 /* Default C0 idle slot reduction power level is 0 dB */ +#endif + #endif /* LC15BTS_H */ diff --git a/src/osmo-bts-litecell15/lc15bts_vty.c b/src/osmo-bts-litecell15/lc15bts_vty.c index d27ec28..f9c7597 100644 --- a/src/osmo-bts-litecell15/lc15bts_vty.c +++ b/src/osmo-bts-litecell15/lc15bts_vty.c @@ -43,6 +43,11 @@ #include #include +#include +#include +#include +#include + #include #include #include @@ -55,6 +60,7 @@ #include "utils.h" extern int lchan_activate(struct gsm_lchan *lchan); +extern int rsl_tx_preproc_meas_res(struct gsm_lchan *lchan); #define TRX_STR "Transceiver related commands\n" "TRX number\n" @@ -65,6 +71,31 @@ static struct gsm_bts *vty_bts; +static const struct value_string lc15_diversity_mode_strs[] = { + { LC15_DIVERSITY_SISO_A, "siso-a" }, + { LC15_DIVERSITY_SISO_B, "siso-b" }, + { LC15_DIVERSITY_MRC, "mrc" }, + { 0, NULL } +}; + +static const struct value_string lc15_pedestal_mode_strs[] = { + { LC15_PEDESTAL_OFF, "off" }, + { LC15_PEDESTAL_ON, "on" }, + { 0, NULL } +}; + +static const struct value_string lc15_led_mode_strs[] = { + { LC15_LED_CONTROL_BTS, "bts" }, + { LC15_LED_CONTROL_EXT, "external" }, + { 0, NULL } +}; + +static const struct value_string lc15_auto_adj_pwr_strs[] = { + { LC15_TX_PWR_ADJ_NONE, "none" }, + { LC15_TX_PWR_ADJ_AUTO, "auto" }, + { 0, NULL } +}; + /* configuration */ DEFUN(cfg_phy_cal_path, cfg_phy_cal_path_cmd, @@ -321,8 +352,166 @@ return CMD_SUCCESS; } +DEFUN(cfg_phy_max_cell_size, cfg_phy_max_cell_size_cmd, + "max-cell-size <0-166>", + "Set the maximum cell size in qbits\n") +{ + 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; +} + +DEFUN(cfg_phy_diversity_mode, cfg_phy_diversity_mode_cmd, + "diversity-mode (siso-a|siso-b|mrc)", + "Set reception diversity mode \n" + "Reception diversity mode can be (siso-a, siso-b, mrc)\n") +{ + 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; + } + + pinst->u.lc15.diversity_mode = (uint8_t)val; + return CMD_SUCCESS; +} + +DEFUN(cfg_phy_pedestal_mode, cfg_phy_pedestal_mode_cmd, + "pedestal-mode (on|off)", + "Set unused time-slot transmission in pedestal mode\n" + "Transmission pedestal mode can be (off, on)\n") +{ + 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; + } + + pinst->u.lc15.pedestal_mode = (uint8_t)val; + return CMD_SUCCESS; +} + +DEFUN(cfg_bts_led_mode, cfg_bts_led_mode_cmd, + "led-control-mode (bts|external)", + "Set LED controlled by BTS or external software\n" + "LED can be controlled by (bts, external)\n") +{ + 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; + } + + struct bts_lc15_priv *bts_lc15 = bts->model_priv; + bts_lc15->led_ctrl_mode = (uint8_t)val; + return CMD_SUCCESS; +} + +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) +DEFUN(cfg_phy_dsp_alive_timer, cfg_phy_dsp_alive_timer_cmd, + "dsp-alive-period <0-60>", + "Set DSP alive timer period in second\n") +{ + 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; +} + +DEFUN(cfg_phy_auto_tx_pwr_adj, cfg_phy_auto_tx_pwr_adj_cmd, + "pwr-adj-mode (none|auto)", + "Set output power adjustment mode\n") +{ + 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; + } + + pinst->u.lc15.tx_pwr_adj_mode = (uint8_t)val; + return CMD_SUCCESS; +} + +DEFUN(cfg_phy_tx_red_pwr_8psk, cfg_phy_tx_red_pwr_8psk_cmd, + "tx-red-pwr-8psk <0-40>", + "Set reduction output power for 8-PSK scheme in dB unit\n") +{ + 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; +} + +DEFUN(cfg_phy_c0_idle_red_pwr, cfg_phy_c0_idle_red_pwr_cmd, + "c0-idle-red-pwr <0-40>", + "Set reduction output power for C0 idle slot in dB unit\n") +{ + 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; +} +#endif + +DEFUN(cfg_bts_rtp_drift_threshold, cfg_bts_rtp_drift_threshold_cmd, + "rtp-drift-threshold <0-10000>", + "RTP parameters\n" + "RTP timestamp drift threshold in ms\n") +{ + struct gsm_bts *bts = vty->index; + + struct bts_lc15_priv *bts_lc15 = bts->model_priv; + bts_lc15->rtp_drift_thres_ms = (unsigned int) atoi(argv[0]); + + return CMD_SUCCESS; +} + void bts_model_config_write_bts(struct vty *vty, struct gsm_bts *bts) { + struct bts_lc15_priv *bts_lc15 = bts->model_priv; + vty_out(vty, " led-control-mode %s%s", + get_value_string(lc15_led_mode_strs, bts_lc15->led_ctrl_mode), VTY_NEWLINE); + + vty_out(vty, " rtp-drift-threshold %d%s", + bts_lc15->rtp_drift_thres_ms, VTY_NEWLINE); + } void bts_model_config_write_trx(struct vty *vty, struct gsm_bts_trx *trx) @@ -349,6 +538,29 @@ if (pinst->u.lc15.calib_path) vty_out(vty, " trx-calibration-path %s%s", pinst->u.lc15.calib_path, VTY_NEWLINE); + + vty_out(vty, " max-cell-size %d%s", + pinst->u.lc15.max_cell_size, VTY_NEWLINE); + + vty_out(vty, " diversity-mode %s%s", + get_value_string(lc15_diversity_mode_strs, pinst->u.lc15.diversity_mode), VTY_NEWLINE); + + vty_out(vty, " pedestal-mode %s%s", + get_value_string(lc15_pedestal_mode_strs, pinst->u.lc15.pedestal_mode) , VTY_NEWLINE); + +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + vty_out(vty, " dsp-alive-period %d%s", + pinst->u.lc15.dsp_alive_period, VTY_NEWLINE); + + vty_out(vty, " pwr-adj-mode %s%s", + get_value_string(lc15_auto_adj_pwr_strs, pinst->u.lc15.tx_pwr_adj_mode), VTY_NEWLINE); + + vty_out(vty, " tx-red-pwr-8psk %d%s", + pinst->u.lc15.tx_pwr_red_8psk, VTY_NEWLINE); + + vty_out(vty, " c0-idle-red-pwr %d%s", + pinst->u.lc15.tx_c0_idle_pwr_red, VTY_NEWLINE); +#endif } int bts_model_vty_init(struct gsm_bts *bts) @@ -401,6 +613,8 @@ install_element(BTS_NODE, &cfg_bts_auto_band_cmd); install_element(BTS_NODE, &cfg_bts_no_auto_band_cmd); + install_element(BTS_NODE, &cfg_bts_led_mode_cmd); + install_element(BTS_NODE, &cfg_bts_rtp_drift_threshold_cmd); install_element(TRX_NODE, &cfg_trx_nominal_power_cmd); @@ -408,6 +622,15 @@ install_element(PHY_INST_NODE, &cfg_phy_no_dsp_trace_f_cmd); install_element(PHY_INST_NODE, &cfg_phy_cal_path_cmd); + install_element(PHY_INST_NODE, &cfg_phy_diversity_mode_cmd); + install_element(PHY_INST_NODE, &cfg_phy_pedestal_mode_cmd); + install_element(PHY_INST_NODE, &cfg_phy_max_cell_size_cmd); +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + install_element(PHY_INST_NODE, &cfg_phy_dsp_alive_timer_cmd); + install_element(PHY_INST_NODE, &cfg_phy_auto_tx_pwr_adj_cmd); + install_element(PHY_INST_NODE, &cfg_phy_tx_red_pwr_8psk_cmd); + install_element(PHY_INST_NODE, &cfg_phy_c0_idle_red_pwr_cmd); +#endif return 0; } diff --git a/src/osmo-bts-litecell15/main.c b/src/osmo-bts-litecell15/main.c index 6f3fc00..ef02135 100644 --- a/src/osmo-bts-litecell15/main.c +++ b/src/osmo-bts-litecell15/main.c @@ -83,14 +83,21 @@ int bts_model_init(struct gsm_bts *bts) { - struct gsm_bts_trx *trx; struct stat st; static struct osmo_fd accept_fd, read_fd; int rc; + struct bts_lc15_priv *bts_lc15 = talloc(bts, struct bts_lc15_priv); + + bts->model_priv = bts_lc15; bts->variant = BTS_OSMO_LITECELL15; bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3); + /* specific default values for LC15 platform */ + bts_lc15->led_ctrl_mode = LC15_BTS_LED_CTRL_MODE_DEFAULT; + /* RTP drift threshold default */ + bts_lc15->rtp_drift_thres_ms = LC15_BTS_RTP_DRIFT_THRES_DEFAULT; + rc = oml_router_init(bts, OML_ROUTER_PATH, &accept_fd, &read_fd); if (rc < 0) { fprintf(stderr, "Error creating the OML router: %s rc=%d\n", diff --git a/src/osmo-bts-litecell15/oml.c b/src/osmo-bts-litecell15/oml.c index edc49ec..f6cbb62 100644 --- a/src/osmo-bts-litecell15/oml.c +++ b/src/osmo-bts-litecell15/oml.c @@ -384,7 +384,7 @@ struct msgb *msg; GsmL1_MphInitReq_t *mi_req; GsmL1_DeviceParam_t *dev_par; - int lc15_band; + int rc, lc15_band; if (!gsm_abis_mo_check_attr(&trx->mo, trx_rqd_attr, ARRAY_SIZE(trx_rqd_attr))) { @@ -394,6 +394,15 @@ //return oml_mo_opstart_nack(&trx->mo, NM_NACK_CANT_PERFORM); } + /* Update TRX band */ + rc = gsm_arfcn2band_rc(trx->arfcn, &trx->bts->band); + if (rc) { + /* FIXME: abort initialization? */ + LOGP(DL1C, LOGL_ERROR, "Could not pick GSM band " + "for ARFCN %u\n", trx->arfcn); + trx->bts->band = 0x00; + } + lc15_band = lc15bts_select_lc15_band(trx, trx->arfcn); if (lc15_band < 0) { LOGP(DL1C, LOGL_ERROR, "Unsupported GSM band %s\n", @@ -1170,6 +1179,9 @@ { GsmL1_ConfigParamId_SetTxPowerLevel, "Set Tx power level" }, { GsmL1_ConfigParamId_SetLogChParams, "Set logical channel params" }, { GsmL1_ConfigParamId_SetCipheringParams,"Configure ciphering params" }, +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + { GsmL1_ConfigParamId_Set8pskPowerReduction, "Set 8PSK Tx power reduction" }, +#endif { 0, NULL } }; @@ -1227,6 +1239,58 @@ return 0; } +static int chmod_max_cell_size_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, + void *data) +{ + Litecell15_Prim_t *sysp = msgb_sysprim(resp); + Litecell15_SetMaxCellSizeCnf_t *sac = &sysp->u.setMaxCellSizeCnf; + + LOGP(DL1C, LOGL_INFO, "%s Rx SYS prim %s -> %s\n", + gsm_trx_name(trx), + get_value_string(lc15bts_sysprim_names, sysp->id), + get_value_string(lc15bts_l1status_names, sac->status)); + + msgb_free(resp); + + return 0; +} + +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) +static int chmod_txpower_backoff_8psk_compl_cb(struct gsm_bts_trx *trx, struct msgb *l1_msg, + void *data) +{ + GsmL1_Prim_t *l1p = msgb_l1prim(l1_msg); + GsmL1_MphConfigCnf_t *cc = &l1p->u.mphConfigCnf; + + LOGP(DL1C, LOGL_INFO, "%s MPH-CONFIG.conf (%s) ", + gsm_trx_name(trx), + get_value_string(lc15bts_l1cfgt_names, cc->cfgParamId)); + + LOGPC(DL1C, LOGL_INFO, "Backoff %u dB\n", + cc->cfgParams.set8pskPowerReduction.u8PowerReduction); + + msgb_free(l1_msg); + + return 0; +} + +static int chmod_c0_idle_pwr_red_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, + void *data) +{ + Litecell15_Prim_t *sysp = msgb_sysprim(resp); + Litecell15_SetC0IdleSlotPowerReductionCnf_t *sac = &sysp->u.setC0IdleSlotPowerReductionCnf; + + LOGP(DL1C, LOGL_INFO, "%s Rx SYS prim %s -> %s\n", + gsm_trx_name(trx), + get_value_string(lc15bts_sysprim_names, sysp->id), + get_value_string(lc15bts_l1status_names, sac->status)); + + msgb_free(resp); + + return 0; +} +#endif + static int chmod_modif_compl_cb(struct gsm_bts_trx *trx, struct msgb *l1_msg, void *data) { @@ -1368,6 +1432,49 @@ return l1if_gsm_req_compl(fl1h, msg, chmod_txpower_compl_cb, NULL); } +int l1if_set_max_cell_size(struct lc15l1_hdl *fl1h, uint8_t cell_size) +{ + struct msgb *msg = sysp_msgb_alloc(); + Litecell15_Prim_t *sys_prim = msgb_sysprim(msg); + sys_prim->id = Litecell15_PrimId_SetMaxCellSizeReq; + sys_prim->u.setMaxCellSizeReq.u8MaxCellSize = cell_size; + + LOGP(DL1C, LOGL_INFO, "%s Set max cell size = %d qbits\n", + gsm_trx_name(fl1h->phy_inst->trx), + cell_size); + + return l1if_req_compl(fl1h, msg, chmod_max_cell_size_compl_cb, NULL); + +} + +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) +int l1if_set_txpower_backoff_8psk(struct lc15l1_hdl *fl1h, uint8_t backoff) +{ + struct msgb *msg = l1p_msgb_alloc(); + GsmL1_MphConfigReq_t *conf_req; + + conf_req = prim_init(msgb_l1prim(msg), GsmL1_PrimId_MphConfigReq, fl1h, 0); + conf_req->cfgParamId = GsmL1_ConfigParamId_Set8pskPowerReduction; + conf_req->cfgParams.set8pskPowerReduction.u8PowerReduction = backoff; + + return l1if_gsm_req_compl(fl1h, msg, chmod_txpower_backoff_8psk_compl_cb, NULL); +} + +int l1if_set_txpower_c0_idle_pwr_red(struct lc15l1_hdl *fl1h, uint8_t red) +{ + struct msgb *msg = sysp_msgb_alloc(); + Litecell15_Prim_t *sys_prim = msgb_sysprim(msg); + sys_prim->id = Litecell15_PrimId_SetC0IdleSlotPowerReductionReq; + sys_prim->u.setC0IdleSlotPowerReductionReq.u8PowerReduction = red; + + LOGP(DL1C, LOGL_INFO, "%s Set C0 idle slot power reduction = %d dB\n", + gsm_trx_name(fl1h->phy_inst->trx), + red); + + return l1if_req_compl(fl1h, msg, chmod_c0_idle_pwr_red_compl_cb, NULL); +} +#endif + const enum GsmL1_CipherId_t rsl2l1_ciph[] = { [0] = GsmL1_CipherId_A50, [1] = GsmL1_CipherId_A50, @@ -1700,7 +1807,8 @@ /* 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) && + 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)) { LOGP(DOML, LOGL_ERROR, "Channel TSC %u != BSIC-TSC %u\n", *TLVP_VAL(new_attr, NM_ATT_TSC), bts->bsic & 7); @@ -1718,12 +1826,39 @@ if (kind == NM_OC_RADIO_CARRIER) { struct gsm_bts_trx *trx = obj; struct lc15l1_hdl *fl1h = trx_lc15l1_hdl(trx); + /* convert max TA to max cell size in qbits */ + uint8_t cell_size = bts->max_ta << 2; + + /* We do not need to check for L1 handle + * because the max cell size parameter can receive before MphInit */ + if (fl1h->phy_inst->u.lc15.max_cell_size != cell_size) { + /* instruct L1 to apply max cell size */ + l1if_set_max_cell_size(fl1h, cell_size); + /* update current max cell size */ + fl1h->phy_inst->u.lc15.max_cell_size = cell_size; + } + /* Did we go through MphInit yet? If yes fire and forget */ - if (fl1h->hLayer1) + if (fl1h->hLayer1) { power_ramp_start(trx, get_p_target_mdBm(trx, 0), 0); - } +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + if (fl1h->phy_inst->u.lc15.tx_pwr_red_8psk != trx->max_power_backoff_8psk) { + /* update current Tx power backoff for 8-PSK */ + fl1h->phy_inst->u.lc15.tx_pwr_red_8psk = trx->max_power_backoff_8psk; + /* instruct L1 to apply Tx power backoff for 8 PSK */ + l1if_set_txpower_backoff_8psk(fl1h, fl1h->phy_inst->u.lc15.tx_pwr_red_8psk); + } + if (fl1h->phy_inst->u.lc15.tx_c0_idle_pwr_red != trx->c0_idle_power_red) { + /* update current C0 idle slot Tx power reduction */ + fl1h->phy_inst->u.lc15.tx_c0_idle_pwr_red = trx->c0_idle_power_red; + /* instruct L1 to apply C0 idle slot power reduction */ + l1if_set_txpower_c0_idle_pwr_red(fl1h, fl1h->phy_inst->u.lc15.tx_c0_idle_pwr_red); + } +#endif + } + } /* FIXME: we actually need to send a ACK or NACK for the OML message */ return oml_fom_ack_nack(msg, 0); } @@ -1893,6 +2028,8 @@ cb_ts_disconnected(ts); + msgb_free(l1_msg); + return 0; } @@ -1927,6 +2064,8 @@ cb_ts_connected(ts, 0); + msgb_free(l1_msg); + return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 1 Gerrit-Owner: rafael2k Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Apr 18 14:06:38 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Sat, 18 Apr 2020 14:06:38 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: rafael2k has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17808 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Abandoned Sorry everybody - I messed up on git. Starting again at: https://gerrit.osmocom.org/c/osmo-bts/+/17855 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17808 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id41bba798440b00a3b11441b64b2e8094a946bf2 Gerrit-Change-Number: 17808 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: rafael2k Gerrit-CC: fixeria Gerrit-CC: keith Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Apr 18 14:10:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 18 Apr 2020 14:10:26 +0000 Subject: Change in libosmocore[master]: select.c: Introduce support for signalfd In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17853 ) Change subject: select.c: Introduce support for signalfd ...................................................................... Patch Set 2: (1 comment) I'm not sure whether these APIs are really needed/helpful, specially having the wrapper struct, but fine. https://gerrit.osmocom.org/c/libosmocore/+/17853/2/src/select.c File src/select.c: https://gerrit.osmocom.org/c/libosmocore/+/17853/2/src/select.c at 405 PS2, Line 405: if (rc < 0) { wondering how could this happen. Shouldn't we call osmo_fd_unregister() here? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8d89dd1f6989e1cd9b9367fad954d65f91ada30 Gerrit-Change-Number: 17853 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 18 Apr 2020 14:10:26 +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 Sat Apr 18 14:30:25 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Sat, 18 Apr 2020 14:30:25 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. 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/+/17855 to look at the new patch set (#2). Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... osmo-bts-litecell15: Implement missing features. Many hardware parameters of the LC 1.5 were not exposed to the user. This patchset introduces most of the features, being very similar to osmo-bts-oc2g code. Try 2. Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d --- M include/osmo-bts/phy_link.h M src/osmo-bts-litecell15/l1_if.c M src/osmo-bts-litecell15/l1_if.h M src/osmo-bts-litecell15/lc15bts.c M src/osmo-bts-litecell15/lc15bts.h M src/osmo-bts-litecell15/lc15bts_vty.c M src/osmo-bts-litecell15/main.c M src/osmo-bts-litecell15/oml.c 8 files changed, 566 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/55/17855/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Apr 18 17:43:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 17:43:33 +0000 Subject: Change in osmo-uecups[master]: add "start_program" support References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17856 ) Change subject: add "start_program" support ...................................................................... add "start_program" support This allows the controlling instance (ttcn3 test case) to start a process (shell command) within the namespace of a given tunnel / tun device. The controlling instance is informed of the success/failure of starting the process, as well as the exit code at time of termination. Change-Id: I94db625de9f5968e53bf67ce2f941673d9a15fbc --- M daemon/internal.h M daemon/main.c M daemon/tun_device.c M ttcn3/UECUPS_Types.ttcn 4 files changed, 234 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/56/17856/1 diff --git a/daemon/internal.h b/daemon/internal.h index f0e1382..09ba52e 100644 --- a/daemon/internal.h +++ b/daemon/internal.h @@ -116,6 +116,9 @@ tun_device_find_or_create(struct gtp_daemon *d, const char *devname, const char *netns_name); struct tun_device * +tun_device_find_netns(struct gtp_daemon *d, const char *netns_name); + +struct tun_device * _tun_device_find(struct gtp_daemon *d, const char *devname); void _tun_device_deref_destroy(struct tun_device *tun); @@ -202,11 +205,14 @@ #define UECUPS_SCTP_PORT 4268 +struct osmo_signalfd; + struct gtp_daemon { /* global lists of various objects */ struct llist_head gtp_endpoints; struct llist_head tun_devices; struct llist_head gtp_tunnels; + struct llist_head subprocesses; /* lock protecting all of the above lists */ pthread_rwlock_t rwlock; /* main thread ID */ @@ -214,6 +220,7 @@ /* client CUPS interface */ struct llist_head cups_clients; struct osmo_stream_srv_link *cups_link; + struct osmo_signalfd *signalfd; struct { char *cups_local_ip; diff --git a/daemon/main.c b/daemon/main.c index c49b771..155d5d5 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -20,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -40,6 +42,8 @@ * Client (Contol/User Plane Separation) Socket ***********************************************************************/ +#include + #define CUPS_MSGB_SIZE 1024 #define LOGCC(cc, lvl, fmt, args ...) \ @@ -55,6 +59,15 @@ char sockname[OSMO_SOCK_NAME_MAXLEN]; }; +struct subprocess { + /* member in daemon->cups_clients */ + struct llist_head list; + /* pointer to the client that started us */ + struct cups_client *cups_client; + /* PID of the process */ + pid_t pid; +}; + /* Send JSON to a given client/connection */ static int cups_client_tx_json(struct cups_client *cc, json_t *jtx) { @@ -289,6 +302,151 @@ return 0; } +static json_t *gen_uecups_term_ind(pid_t pid, int status) +{ + json_t *jterm = json_object(); + json_t *jret = json_object(); + + json_object_set_new(jterm, "pid", json_integer(pid)); + json_object_set_new(jterm, "exit_code", json_integer(status)); + + json_object_set_new(jret, "program_term_ind", jterm); + + return jret; +} + + +static struct subprocess *subprocess_by_pid(struct gtp_daemon *d, pid_t pid) +{ + struct subprocess *sproc; + llist_for_each_entry(sproc, &d->subprocesses, list) { + if (sproc->pid == pid) + return sproc; + } + return NULL; +} + +static void sigchild_cb(struct osmo_signalfd *osfd, const struct signalfd_siginfo *fdsi) +{ + struct gtp_daemon *d = osfd->data; + struct subprocess *sproc; + json_t *jterm_ind; + + OSMO_ASSERT(fdsi->ssi_signo == SIGCHLD); + + LOGP(DUECUPS, LOGL_DEBUG, "SIGCHLD receive from pid %u; status=%d\n", + fdsi->ssi_pid, fdsi->ssi_status); + + sproc = subprocess_by_pid(d, fdsi->ssi_pid); + if (!sproc) { + LOGP(DUECUPS, LOGL_NOTICE, "subprocess %u terminated (status=%d) but we don't know it?\n", + fdsi->ssi_pid, fdsi->ssi_status); + return; + } + + /* FIXME: generate prog_term_ind towards control plane */ + jterm_ind = gen_uecups_term_ind(fdsi->ssi_pid, fdsi->ssi_status); + if (!jterm_ind) + return; + + cups_client_tx_json(sproc->cups_client, jterm_ind); + + llist_del(&sproc->list); + talloc_free(sproc); +} + +static json_t *gen_uecups_start_res(pid_t pid, const char *result) +{ + json_t *ret = gen_uecups_result("start_program_res", result); + json_object_set_new(json_object_get(ret, "start_program_res"), "pid", json_integer(pid)); + + return ret; +} + +static int cups_client_handle_start_program(struct cups_client *cc, json_t *sprog) +{ + json_t *juser, *jcmd, *jenv, *jnetns, *jres; + struct gtp_daemon *d = cc->d; + const char *cmd, *user; + char **addl_env = NULL; + sigset_t oldmask; + int nsfd, rc; + + juser = json_object_get(sprog, "run_as_user"); + jcmd = json_object_get(sprog, "command"); + jenv = json_object_get(sprog, "environment"); + jnetns = json_object_get(sprog, "tun_netns_name"); + + /* mandatory parts */ + if (!juser || !jcmd) + return -EINVAL; + if (!json_is_string(juser) || !json_is_string(jcmd)) + return -EINVAL; + + /* optional parts */ + if (jenv && !json_is_array(jenv)) + return -EINVAL; + if (jnetns && !json_is_string(jnetns)) + return -EINVAL; + + cmd = json_string_value(jcmd); + user = json_string_value(juser); + if (jnetns) { + struct tun_device *tun = tun_device_find_netns(d, json_string_value(jnetns)); + if (!tun) + return -ENODEV; + nsfd = tun->netns_fd; + } + + /* build environment */ + if (jenv) { + json_t *j; + int i; + addl_env = talloc_zero_array(cc, char *, json_array_size(jenv)+1); + if (!addl_env) + return -ENOMEM; + json_array_foreach(jenv, i, j) { + addl_env[i] = talloc_strdup(addl_env, json_string_value(j)); + } + } + + if (jnetns) { + rc = switch_ns(nsfd, &oldmask); + if (rc < 0) { + talloc_free(addl_env); + return -EIO; + } + } + + rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); + + if (jnetns) { + OSMO_ASSERT(restore_ns(&oldmask) == 0); + } + + talloc_free(addl_env); + + if (rc > 0) { + /* create a record about the subprocess we started, so we can notify the + * client that crated it upon termination */ + struct subprocess *sproc = talloc_zero(cc, struct subprocess); + if (!sproc) + return -ENOMEM; + + sproc->cups_client = cc; + sproc->pid = rc; + llist_add_tail(&sproc->list, &d->subprocesses); + jres = gen_uecups_start_res(sproc->pid, "OK"); + } else { + jres = gen_uecups_start_res(0, "ERR_INVALID_DATA"); + } + + cups_client_tx_json(cc, jres); + + return 0; +} + + static int cups_client_handle_json(struct cups_client *cc, json_t *jroot) { void *iter; @@ -309,6 +467,8 @@ rc = cups_client_handle_create_tun(cc, cmd); } else if (!strcmp(key, "destroy_tun")) { rc = cups_client_handle_destroy_tun(cc, cmd); + } else if (!strcmp(key, "start_program")) { + rc = cups_client_handle_start_program(cc, cmd); } else { LOGCC(cc, LOGL_NOTICE, "Unknown command '%s' received\n", key); return -EINVAL; @@ -387,6 +547,17 @@ static int cups_client_closed_cb(struct osmo_stream_srv *conn) { struct cups_client *cc = osmo_stream_srv_get_data(conn); + struct gtp_daemon *d = cc->d; + struct subprocess *p, *p2; + + /* kill + forget about all subprocesses of this client */ + llist_for_each_entry_safe(p, p2, &d->subprocesses, list) { + if (p->cups_client == cc) { + kill(p->pid, SIGKILL); + llist_del(&p->list); + talloc_free(p); + } + } LOGCC(cc, LOGL_INFO, "UECUPS connection lost\n"); llist_del(&cc->list); @@ -404,6 +575,7 @@ if (!cc) return -1; + cc->d = d; osmo_sock_get_name_buf(cc->sockname, sizeof(cc->sockname), fd); cc->srv = osmo_stream_srv_create(cc, link, fd, cups_client_read_cb, cups_client_closed_cb, cc); if (!cc->srv) { @@ -439,6 +611,7 @@ INIT_LLIST_HEAD(&d->gtp_endpoints); INIT_LLIST_HEAD(&d->tun_devices); INIT_LLIST_HEAD(&d->gtp_tunnels); + INIT_LLIST_HEAD(&d->subprocesses); pthread_rwlock_init(&d->rwlock, NULL); d->main_thread = pthread_self(); @@ -528,6 +701,13 @@ osmo_stream_srv_link_set_accept_cb(g_daemon->cups_link, cups_accept_cb); osmo_stream_srv_link_open(g_daemon->cups_link); + /* block SIGCHLD via normal delivery; redirect it to signalfd */ + sigset_t sigset; + sigemptyset(&sigset); + sigaddset(&sigset, SIGCHLD); + sigprocmask(SIG_BLOCK, &sigset, NULL); + g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, sigchild_cb, g_daemon); + if (g_daemonize) { rc = osmo_daemonize(); if (rc < 0) { diff --git a/daemon/tun_device.c b/daemon/tun_device.c index f6553ca..e20607d 100644 --- a/daemon/tun_device.c +++ b/daemon/tun_device.c @@ -337,6 +337,23 @@ return NULL; } +/* find the first tun device within given named netns */ +struct tun_device * +tun_device_find_netns(struct gtp_daemon *d, const char *netns_name) +{ + struct tun_device *tun; + + pthread_rwlock_rdlock(&d->rwlock); + llist_for_each_entry(tun, &d->tun_devices, list) { + if (!strcmp(tun->netns_name, netns_name)) { + pthread_rwlock_unlock(&d->rwlock); + return tun; + } + } + pthread_rwlock_unlock(&d->rwlock); + return NULL; +} + struct tun_device * tun_device_find_or_create(struct gtp_daemon *d, const char *devname, const char *netns_name) { diff --git a/ttcn3/UECUPS_Types.ttcn b/ttcn3/UECUPS_Types.ttcn index 3699dee..4ccc19a 100644 --- a/ttcn3/UECUPS_Types.ttcn +++ b/ttcn3/UECUPS_Types.ttcn @@ -56,11 +56,40 @@ UECUPS_Result result }; +/* User requests deaemon to start a program in given network namespace */ +type record UECUPS_StartProgram { + /* user + group to use when starting command */ + charstring run_as_user, + charstring run_as_group, + /* the command to be started (with optional environment entries) */ + charstring command, + charstring_list environment optional, + /* network namespace in which to start the command */ + charstring tun_netns_name optional +}; +type record of charstring charstring_list; + +/* Daemon informs us that a program has been started */ +type record UECUPS_StartProgramRes { + UECUPS_Result result, + integer pid +}; + +/* Daemon informs us that a program has terminated */ +type record UECUPS_ProgramTermInd { + integer pid, + integer exit_code +}; + + type union PDU_UECUPS { UECUPS_CreateTun create_tun, UECUPS_CreateTunRes create_tun_res, UECUPS_DestroyTun destroy_tun, - UECUPS_DestroyTunRes destroy_tun_res + UECUPS_DestroyTunRes destroy_tun_res, + UECUPS_StartProgram start_program, + UECUPS_StartProgramRes start_program_res, + UECUPS_ProgramTermInd program_term_ind }; -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17856 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I94db625de9f5968e53bf67ce2f941673d9a15fbc Gerrit-Change-Number: 17856 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 Apr 18 18:55:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 18:55:07 +0000 Subject: Change in osmo-uecups[master]: add "start_program" 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-uecups/+/17856 to look at the new patch set (#2). Change subject: add "start_program" support ...................................................................... add "start_program" support This allows the controlling instance (ttcn3 test case) to start a process (shell command) within the namespace of a given tunnel / tun device. The controlling instance is informed of the success/failure of starting the process, as well as the exit code at time of termination. Change-Id: I94db625de9f5968e53bf67ce2f941673d9a15fbc --- M daemon/internal.h M daemon/main.c M daemon/tun_device.c M ttcn3/UECUPS_Types.ttcn 4 files changed, 233 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/56/17856/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17856 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I94db625de9f5968e53bf67ce2f941673d9a15fbc Gerrit-Change-Number: 17856 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 Sat Apr 18 19:05:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:05:57 +0000 Subject: Change in osmo-uecups[master]: Add support for UeCUPS_ResetAllState References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17857 ) Change subject: Add support for UeCUPS_ResetAllState ...................................................................... Add support for UeCUPS_ResetAllState This allows the controlling entity (testsuite) to reset all state in the daemon. Change-Id: I18c952b3874324a9efafb26b5f2c64f8396ff36a --- M daemon/main.c M ttcn3/UECUPS_Types.ttcn 2 files changed, 48 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/57/17857/1 diff --git a/daemon/main.c b/daemon/main.c index 155d5d5..a458e16 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -68,6 +68,14 @@ pid_t pid; }; +/* kill the specified subprocess and forget about it */ +static void subprocess_destroy(struct subprocess *p, int signal) +{ + kill(p->pid, signal); + llist_del(&p->list); + talloc_free(p); +} + /* Send JSON to a given client/connection */ static int cups_client_tx_json(struct cups_client *cc, json_t *jtx) { @@ -446,6 +454,29 @@ return 0; } +static int cups_client_handle_reset_all_state(struct cups_client *cc, json_t *sprog) +{ + struct gtp_daemon *d = cc->d; + struct gtp_tunnel *t, *t2; + struct subprocess *p, *p2; + json_t *jres; + + pthread_rwlock_wrlock(&d->rwlock); + llist_for_each_entry_safe(t, t2, &d->gtp_tunnels, list) { + _gtp_tunnel_destroy(t); + } + pthread_rwlock_unlock(&d->rwlock); + + /* no locking needed as this list is only used by main thread */ + llist_for_each_entry_safe(p, p2, &d->subprocesses, list) { + subprocess_destroy(p, SIGKILL); + } + + jres = gen_uecups_result("reset_all_state_res", "OK"); + cups_client_tx_json(cc, jres); + + return 0; +} static int cups_client_handle_json(struct cups_client *cc, json_t *jroot) { @@ -469,6 +500,8 @@ rc = cups_client_handle_destroy_tun(cc, cmd); } else if (!strcmp(key, "start_program")) { rc = cups_client_handle_start_program(cc, cmd); + } else if (!strcmp(key, "reset_all_state")) { + rc = cups_client_handle_reset_all_state(cc, cmd); } else { LOGCC(cc, LOGL_NOTICE, "Unknown command '%s' received\n", key); return -EINVAL; @@ -551,12 +584,10 @@ struct subprocess *p, *p2; /* kill + forget about all subprocesses of this client */ + /* We need no locking here as the subprocess list is only used from the main thread */ llist_for_each_entry_safe(p, p2, &d->subprocesses, list) { - if (p->cups_client == cc) { - kill(p->pid, SIGKILL); - llist_del(&p->list); - talloc_free(p); - } + if (p->cups_client == cc) + subprocess_destroy(p, SIGKILL); } LOGCC(cc, LOGL_INFO, "UECUPS connection lost\n"); diff --git a/ttcn3/UECUPS_Types.ttcn b/ttcn3/UECUPS_Types.ttcn index 8861998..bbd849f 100644 --- a/ttcn3/UECUPS_Types.ttcn +++ b/ttcn3/UECUPS_Types.ttcn @@ -80,15 +80,26 @@ integer exit_code }; +type record UeCUPS_ResetAllState { +}; + +type record UeCUPS_ResetAllStateRes { + UECUPS_Result result +}; type union PDU_UECUPS { UECUPS_CreateTun create_tun, UECUPS_CreateTunRes create_tun_res, + UECUPS_DestroyTun destroy_tun, UECUPS_DestroyTunRes destroy_tun_res, + UECUPS_StartProgram start_program, UECUPS_StartProgramRes start_program_res, - UECUPS_ProgramTermInd program_term_ind + UECUPS_ProgramTermInd program_term_ind, + + UeCUPS_ResetAllState reset_all_state, + UeCUPS_ResetAllStateRes reset_all_state_res }; -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17857 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I18c952b3874324a9efafb26b5f2c64f8396ff36a Gerrit-Change-Number: 17857 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 Apr 18 19:10:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:10:17 +0000 Subject: Change in libosmocore[master]: exec: Introduce osmo_system_nowait2() to allow specify a user In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17852 ) Change subject: exec: Introduce osmo_system_nowait2() to allow specify a user ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If1431f930f72a8d6c1d102426874a11b7a2debd9 Gerrit-Change-Number: 17852 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 18 Apr 2020 19:10: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 Apr 18 19:10:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:10:21 +0000 Subject: Change in libosmocore[master]: exec: Introduce osmo_system_nowait2() to allow specify a user In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17852 ) Change subject: exec: Introduce osmo_system_nowait2() to allow specify a user ...................................................................... exec: Introduce osmo_system_nowait2() to allow specify a user For a process running as root, it may be desirable to drop privileges down to a normal user before executing an external command. Let's add a new API function for that. Change-Id: If1431f930f72a8d6c1d102426874a11b7a2debd9 --- M include/osmocom/core/exec.h M src/exec.c 2 files changed, 49 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/core/exec.h b/include/osmocom/core/exec.h index 6bbd352..e63ec11 100644 --- a/include/osmocom/core/exec.h +++ b/include/osmocom/core/exec.h @@ -25,4 +25,5 @@ int osmo_environment_filter(char **out, size_t out_len, char **in, const char **whitelist); int osmo_environment_append(char **out, size_t out_len, char **in); int osmo_close_all_fds_above(int last_fd_to_keep); +int osmo_system_nowait2(const char *command, const char **env_whitelist, char **addl_env, const char *user); int osmo_system_nowait(const char *command, const char **env_whitelist, char **addl_env); diff --git a/src/exec.c b/src/exec.c index 62f5919..578e2b1 100644 --- a/src/exec.c +++ b/src/exec.c @@ -23,6 +23,7 @@ #include "config.h" #ifndef EMBEDDED +#define _GNU_SOURCE #include #include @@ -31,6 +32,7 @@ #include #include #include +#include #include #include @@ -192,23 +194,34 @@ /* Seems like POSIX has no header file for this, and even glibc + __USE_GNU doesn't help */ extern char **environ; -/*! call an external shell command without waiting for it. +/*! call an external shell command as 'user' without waiting for it. * * This mimics the behavior of system(3), with the following differences: * - it doesn't wait for completion of the child process * - it closes all non-stdio file descriptors by iterating /proc/self/fd * - it constructs a reduced environment where only whitelisted keys survive * - it (optionally) appends additional variables to the environment + * - it (optionally) changes the user ID to that of 'user' (requires execution as root) * * \param[in] command the shell command to be executed, see system(3) * \param[in] env_whitelist A white-list of keys for environment variables * \param[in] addl_env any additional environment variables to be appended + * \param[in] user name of the user to which we should switch before executing the command * \returns PID of generated child process; negative on error */ -int osmo_system_nowait(const char *command, const char **env_whitelist, char **addl_env) +int osmo_system_nowait2(const char *command, const char **env_whitelist, char **addl_env, const char *user) { + struct passwd _pw, *pw; + int getpw_buflen = sysconf(_SC_GETPW_R_SIZE_MAX); int rc; + if (user) { + char buf[getpw_buflen]; + getpwnam_r(user, &_pw, buf, sizeof(buf), &pw); + if (!pw) + return -EINVAL; + } + rc = fork(); if (rc == 0) { /* we are in the child */ @@ -232,6 +245,20 @@ return rc; } + /* drop privileges */ + if (pw) { + if (setresgid(pw->pw_gid, pw->pw_gid, pw->pw_gid) < 0) { + perror("setresgid() during privilege drop"); + exit(1); + } + + if (setresuid(pw->pw_uid, pw->pw_uid, pw->pw_uid) < 0) { + perror("setresuid() during privilege drop"); + exit(1); + } + + } + /* if we want to behave like system(3), we must go via the shell */ execle("/bin/sh", "sh", "-c", command, (char *) NULL, new_env); /* only reached in case of error */ @@ -244,4 +271,23 @@ } } +/*! call an external shell command without waiting for it. + * + * This mimics the behavior of system(3), with the following differences: + * - it doesn't wait for completion of the child process + * - it closes all non-stdio file descriptors by iterating /proc/self/fd + * - it constructs a reduced environment where only whitelisted keys survive + * - it (optionally) appends additional variables to the environment + * + * \param[in] command the shell command to be executed, see system(3) + * \param[in] env_whitelist A white-list of keys for environment variables + * \param[in] addl_env any additional environment variables to be appended + * \returns PID of generated child process; negative on error + */ +int osmo_system_nowait(const char *command, const char **env_whitelist, char **addl_env) +{ + return osmo_system_nowait2(command, env_whitelist, addl_env, NULL); +} + + #endif /* EMBEDDED */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If1431f930f72a8d6c1d102426874a11b7a2debd9 Gerrit-Change-Number: 17852 Gerrit-PatchSet: 2 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 Apr 18 19:14:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:14:31 +0000 Subject: Change in libosmocore[master]: select.c: Introduce support for signalfd In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17853 ) Change subject: select.c: Introduce support for signalfd ...................................................................... Patch Set 2: (1 comment) > Patch Set 2: > > (1 comment) > > I'm not sure whether these APIs are really needed/helpful, specially having the wrapper struct, but fine. well, it is about convenience. I assume most of our programs will use this, so I think we should make it easy to use. As the number of signalfd's is likely always very small (there are only few singals to begin with), having a few dynamica allocations at the start of the program shouldn't be controversial. The wrapper avoids every program having to implement their own read (and getting that error handling right). https://gerrit.osmocom.org/c/libosmocore/+/17853/2/src/select.c File src/select.c: https://gerrit.osmocom.org/c/libosmocore/+/17853/2/src/select.c at 405 PS2, Line 405: if (rc < 0) { > wondering how could this happen. [?] thanks, nice catch. I chopied it from the timerfd code above, which has the same issue :/ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8d89dd1f6989e1cd9b9367fad954d65f91ada30 Gerrit-Change-Number: 17853 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 18 Apr 2020 19:14: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 Sat Apr 18 19:16:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:16:44 +0000 Subject: Change in libosmocore[master]: select.c: Introduce support for signalfd In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/17853 to look at the new patch set (#3). Change subject: select.c: Introduce support for signalfd ...................................................................... select.c: Introduce support for signalfd The signalfd(2) mechanism of Linux allows signals to be delivered and processed via normal file descriptor I/O. This avoids any of the usual problems about re-entrancy of signal processing, as signals can be processed from the osmocom select() loop abstraction just like any other event. Change-Id: If8d89dd1f6989e1cd9b9367fad954d65f91ada30 --- M configure.ac M include/osmocom/core/select.h M src/select.c 3 files changed, 78 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/53/17853/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8d89dd1f6989e1cd9b9367fad954d65f91ada30 Gerrit-Change-Number: 17853 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Apr 18 19:17:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:17:39 +0000 Subject: Change in libosmocore[master]: timerfd: call osmo_fd_unregister() when closing on read error References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17858 ) Change subject: timerfd: call osmo_fd_unregister() when closing on read error ...................................................................... timerfd: call osmo_fd_unregister() when closing on read error Change-Id: I8513126286083ebf02d14043cf072c8297878dd7 --- M src/select.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/58/17858/1 diff --git a/src/select.c b/src/select.c index f0c814b..8e31205 100644 --- a/src/select.c +++ b/src/select.c @@ -382,6 +382,7 @@ rc = osmo_fd_register(ofd); if (rc < 0) { + osmo_fd_unregister(ofd); close(ofd->fd); ofd->fd = -1; return rc; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17858 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8513126286083ebf02d14043cf072c8297878dd7 Gerrit-Change-Number: 17858 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 Apr 18 19:18:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:18:19 +0000 Subject: Change in osmo-uecups[master]: add "start_program" 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-uecups/+/17856 to look at the new patch set (#3). Change subject: add "start_program" support ...................................................................... add "start_program" support This allows the controlling instance (ttcn3 test case) to start a process (shell command) within the namespace of a given tunnel / tun device. The controlling instance is informed of the success/failure of starting the process, as well as the exit code at time of termination. Change-Id: I94db625de9f5968e53bf67ce2f941673d9a15fbc Depends: libosmocore.git If1431f930f72a8d6c1d102426874a11b7a2debd9 Depends: libosmocore.git If8d89dd1f6989e1cd9b9367fad954d65f91ada30 --- M daemon/internal.h M daemon/main.c M daemon/tun_device.c M ttcn3/UECUPS_Types.ttcn 4 files changed, 233 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/56/17856/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17856 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I94db625de9f5968e53bf67ce2f941673d9a15fbc Gerrit-Change-Number: 17856 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 Sat Apr 18 19:18:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:18:19 +0000 Subject: Change in osmo-uecups[master]: Add support for UeCUPS_ResetAllState 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-uecups/+/17857 to look at the new patch set (#2). Change subject: Add support for UeCUPS_ResetAllState ...................................................................... Add support for UeCUPS_ResetAllState This allows the controlling entity (testsuite) to reset all state in the daemon. Change-Id: I18c952b3874324a9efafb26b5f2c64f8396ff36a --- M daemon/main.c M ttcn3/UECUPS_Types.ttcn 2 files changed, 48 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/57/17857/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17857 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I18c952b3874324a9efafb26b5f2c64f8396ff36a Gerrit-Change-Number: 17857 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 Sat Apr 18 19:21:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:21:53 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 2: Code-Review+1 looks fine to me. I guess you (rhizomatica) are the most important/relevant user of the osmocom master lc15 repository, so if this works for you, we should merge it. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 18 Apr 2020 19: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 Sat Apr 18 19:22:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:22:13 +0000 Subject: Change in osmo-ci[master]: ansible: gsm-tester: Add dependency python3-websocket In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17851 ) Change subject: ansible: gsm-tester: Add dependency python3-websocket ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iab03cfdcfb1c197ae002d95e0bb56d86e0aac97b Gerrit-Change-Number: 17851 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 18 Apr 2020 19: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 Sat Apr 18 19:23:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:23:14 +0000 Subject: Change in osmo-gsm-tester[master]: powersupply: Import sublcass module only if used In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17849 ) Change subject: powersupply: Import sublcass module only if used ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17849 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: I0d2f8b26364b45f0d837cc51078784d1d0fa7ea1 Gerrit-Change-Number: 17849 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 18 Apr 2020 19:23: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 Apr 18 19:23:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:23:34 +0000 Subject: Change in osmo-gsm-tester[master]: check_dependencies: Import modules dynamically and find related debia... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17850 ) Change subject: check_dependencies: Import modules dynamically and find related debian packages ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17850 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: I29ddf8971837754abd930d847bd1036e8e510de6 Gerrit-Change-Number: 17850 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 18 Apr 2020 19: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 Sat Apr 18 19:25:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:25:31 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Implement initial RF emulation API In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 ) Change subject: enb: Implement initial RF emulation API ...................................................................... Patch Set 2: Code-Review+1 we should also support the gpio controlled step attenuators of the LTHW main unit this way. pmaier has written example code for this years ago. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 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: Ie98a3fb9bcd2b87b96ecbb5b79e0f53981892a32 Gerrit-Change-Number: 17847 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Sat, 18 Apr 2020 19:25: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 Sat Apr 18 19:26:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:26:22 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: tun_addaddr: Don't set local addr as dstaddr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17822 ) Change subject: sgsnemu: tun_addaddr: Don't set local addr as dstaddr ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iead7e9c7570ba6a9de3089a164997b1db81dc59a Gerrit-Change-Number: 17822 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 18 Apr 2020 19:26: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 Apr 18 19:27:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:27:23 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Handle IPv6 SLAAC in tun iface manually In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17825 ) Change subject: sgsnemu: Handle IPv6 SLAAC in tun iface manually ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iae59cf6ffb181357e10b3080a5c751bd454f4a1f Gerrit-Change-Number: 17825 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 18 Apr 2020 19:27: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 Apr 18 19:27:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:27:50 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Implement ping on IPv6 APNs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17826 ) Change subject: sgsnemu: Implement ping on IPv6 APNs ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17826 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: If9ca7c37a1a397bbc3f8912d67bccdabc4968e0c Gerrit-Change-Number: 17826 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 18 Apr 2020 19: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 Sat Apr 18 19:29:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:29:14 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Fix assumption ipv6 Interface-Identifier of public addr == a... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17828 ) Change subject: sgsnemu: Fix assumption ipv6 Interface-Identifier of public addr == announced Prefix ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17828 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I0d36145250185e4cce699fdaedfe96bd969f5fa1 Gerrit-Change-Number: 17828 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 18 Apr 2020 19:29: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 Apr 18 19:29:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:29:54 +0000 Subject: Change in libosmocore[master]: select.c: Introduce support for signalfd In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17853 ) Change subject: select.c: Introduce support for signalfd ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8d89dd1f6989e1cd9b9367fad954d65f91ada30 Gerrit-Change-Number: 17853 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 18 Apr 2020 19: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 Sat Apr 18 19:29:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:29:59 +0000 Subject: Change in libosmocore[master]: select.c: Introduce support for signalfd In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17853 ) Change subject: select.c: Introduce support for signalfd ...................................................................... select.c: Introduce support for signalfd The signalfd(2) mechanism of Linux allows signals to be delivered and processed via normal file descriptor I/O. This avoids any of the usual problems about re-entrancy of signal processing, as signals can be processed from the osmocom select() loop abstraction just like any other event. Change-Id: If8d89dd1f6989e1cd9b9367fad954d65f91ada30 --- M configure.ac M include/osmocom/core/select.h M src/select.c 3 files changed, 78 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 92457f1..352648b 100644 --- a/configure.ac +++ b/configure.ac @@ -62,7 +62,7 @@ dnl checks for header files AC_HEADER_STDC -AC_CHECK_HEADERS(execinfo.h sys/select.h sys/socket.h sys/timerfd.h syslog.h ctype.h netinet/tcp.h netinet/in.h) +AC_CHECK_HEADERS(execinfo.h sys/select.h sys/socket.h sys/signalfd.h sys/timerfd.h syslog.h ctype.h netinet/tcp.h netinet/in.h) # for src/conv.c AC_FUNC_ALLOCA AC_SEARCH_LIBS([dlopen], [dl dld], [LIBRARY_DLOPEN="$LIBS";LIBS=""]) diff --git a/include/osmocom/core/select.h b/include/osmocom/core/select.h index 92904e2..bc60198 100644 --- a/include/osmocom/core/select.h +++ b/include/osmocom/core/select.h @@ -7,6 +7,7 @@ #include #include #include +#include /*! \defgroup select Select loop abstraction * @{ @@ -68,4 +69,21 @@ const struct timespec *interval); int osmo_timerfd_setup(struct osmo_fd *ofd, int (*cb)(struct osmo_fd *, unsigned int), void *data); +/* signalfd integration */ +struct osmo_signalfd; +struct signalfd_siginfo; + +typedef void osmo_signalfd_cb(struct osmo_signalfd *osfd, const struct signalfd_siginfo *fdsi); + +struct osmo_signalfd { + struct osmo_fd ofd; + sigset_t sigset; + osmo_signalfd_cb *cb; + void *data; +}; + +struct osmo_signalfd * +osmo_signalfd_setup(void *ctx, sigset_t set, osmo_signalfd_cb *cb, void *data); + + /*! @} */ diff --git a/src/select.c b/src/select.c index b997122..f0c814b 100644 --- a/src/select.c +++ b/src/select.c @@ -392,6 +392,65 @@ #endif /* HAVE_SYS_TIMERFD_H */ +#ifdef HAVE_SYS_SIGNALFD_H +#include + +static int signalfd_callback(struct osmo_fd *ofd, unsigned int what) +{ + struct osmo_signalfd *osfd = ofd->data; + struct signalfd_siginfo fdsi; + int rc; + + rc = read(ofd->fd, &fdsi, sizeof(fdsi)); + if (rc < 0) { + osmo_fd_unregister(ofd); + close(ofd->fd); + ofd->fd = -1; + return rc; + } + + osfd->cb(osfd, &fdsi); + + return 0; +}; + +/*! create a signalfd and register it with osmocom select loop. + * \param[in] ctx talloc context from which osmo_signalfd is to be allocated + * \param[in] set of signals to be accept via this file descriptor + * \param[in] cb call-back function to be called for each arriving signal + * \param[in] data opaque user-provided data to pass to callback + * \returns pointer to newly-allocated + registered osmo_signalfd; NULL on error */ +struct osmo_signalfd * +osmo_signalfd_setup(void *ctx, sigset_t set, osmo_signalfd_cb *cb, void *data) +{ + struct osmo_signalfd *osfd = talloc_size(ctx, sizeof(*osfd)); + int fd, rc; + + if (!osfd) + return NULL; + + osfd->data = data; + osfd->sigset = set; + osfd->cb = cb; + + fd = signalfd(-1, &osfd->sigset, SFD_NONBLOCK); + if (fd < 0) { + talloc_free(osfd); + return NULL; + } + + osmo_fd_setup(&osfd->ofd, fd, OSMO_FD_READ, signalfd_callback, osfd, 0); + rc = osmo_fd_register(&osfd->ofd); + if (rc < 0) { + close(fd); + talloc_free(osfd); + return NULL; + } + + return osfd; +} + +#endif /* HAVE_SYS_SIGNALFD_H */ /*! @} */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8d89dd1f6989e1cd9b9367fad954d65f91ada30 Gerrit-Change-Number: 17853 Gerrit-PatchSet: 3 Gerrit-Owner: laforge 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 Sat Apr 18 19:35:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:35:39 +0000 Subject: Change in osmo-uecups[master]: add "start_program" support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17856 ) Change subject: add "start_program" support ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17856 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I94db625de9f5968e53bf67ce2f941673d9a15fbc Gerrit-Change-Number: 17856 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 18 Apr 2020 19:35: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 Apr 18 19:35:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:35:41 +0000 Subject: Change in osmo-uecups[master]: Add support for UeCUPS_ResetAllState In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17857 ) Change subject: Add support for UeCUPS_ResetAllState ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17857 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I18c952b3874324a9efafb26b5f2c64f8396ff36a Gerrit-Change-Number: 17857 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 18 Apr 2020 19: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 Sat Apr 18 19:35:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:35:44 +0000 Subject: Change in osmo-uecups[master]: add "start_program" support In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17856 ) Change subject: add "start_program" support ...................................................................... add "start_program" support This allows the controlling instance (ttcn3 test case) to start a process (shell command) within the namespace of a given tunnel / tun device. The controlling instance is informed of the success/failure of starting the process, as well as the exit code at time of termination. Change-Id: I94db625de9f5968e53bf67ce2f941673d9a15fbc Depends: libosmocore.git If1431f930f72a8d6c1d102426874a11b7a2debd9 Depends: libosmocore.git If8d89dd1f6989e1cd9b9367fad954d65f91ada30 --- M daemon/internal.h M daemon/main.c M daemon/tun_device.c M ttcn3/UECUPS_Types.ttcn 4 files changed, 233 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/daemon/internal.h b/daemon/internal.h index f0e1382..09ba52e 100644 --- a/daemon/internal.h +++ b/daemon/internal.h @@ -116,6 +116,9 @@ tun_device_find_or_create(struct gtp_daemon *d, const char *devname, const char *netns_name); struct tun_device * +tun_device_find_netns(struct gtp_daemon *d, const char *netns_name); + +struct tun_device * _tun_device_find(struct gtp_daemon *d, const char *devname); void _tun_device_deref_destroy(struct tun_device *tun); @@ -202,11 +205,14 @@ #define UECUPS_SCTP_PORT 4268 +struct osmo_signalfd; + struct gtp_daemon { /* global lists of various objects */ struct llist_head gtp_endpoints; struct llist_head tun_devices; struct llist_head gtp_tunnels; + struct llist_head subprocesses; /* lock protecting all of the above lists */ pthread_rwlock_t rwlock; /* main thread ID */ @@ -214,6 +220,7 @@ /* client CUPS interface */ struct llist_head cups_clients; struct osmo_stream_srv_link *cups_link; + struct osmo_signalfd *signalfd; struct { char *cups_local_ip; diff --git a/daemon/main.c b/daemon/main.c index c49b771..155d5d5 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -20,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -40,6 +42,8 @@ * Client (Contol/User Plane Separation) Socket ***********************************************************************/ +#include + #define CUPS_MSGB_SIZE 1024 #define LOGCC(cc, lvl, fmt, args ...) \ @@ -55,6 +59,15 @@ char sockname[OSMO_SOCK_NAME_MAXLEN]; }; +struct subprocess { + /* member in daemon->cups_clients */ + struct llist_head list; + /* pointer to the client that started us */ + struct cups_client *cups_client; + /* PID of the process */ + pid_t pid; +}; + /* Send JSON to a given client/connection */ static int cups_client_tx_json(struct cups_client *cc, json_t *jtx) { @@ -289,6 +302,151 @@ return 0; } +static json_t *gen_uecups_term_ind(pid_t pid, int status) +{ + json_t *jterm = json_object(); + json_t *jret = json_object(); + + json_object_set_new(jterm, "pid", json_integer(pid)); + json_object_set_new(jterm, "exit_code", json_integer(status)); + + json_object_set_new(jret, "program_term_ind", jterm); + + return jret; +} + + +static struct subprocess *subprocess_by_pid(struct gtp_daemon *d, pid_t pid) +{ + struct subprocess *sproc; + llist_for_each_entry(sproc, &d->subprocesses, list) { + if (sproc->pid == pid) + return sproc; + } + return NULL; +} + +static void sigchild_cb(struct osmo_signalfd *osfd, const struct signalfd_siginfo *fdsi) +{ + struct gtp_daemon *d = osfd->data; + struct subprocess *sproc; + json_t *jterm_ind; + + OSMO_ASSERT(fdsi->ssi_signo == SIGCHLD); + + LOGP(DUECUPS, LOGL_DEBUG, "SIGCHLD receive from pid %u; status=%d\n", + fdsi->ssi_pid, fdsi->ssi_status); + + sproc = subprocess_by_pid(d, fdsi->ssi_pid); + if (!sproc) { + LOGP(DUECUPS, LOGL_NOTICE, "subprocess %u terminated (status=%d) but we don't know it?\n", + fdsi->ssi_pid, fdsi->ssi_status); + return; + } + + /* FIXME: generate prog_term_ind towards control plane */ + jterm_ind = gen_uecups_term_ind(fdsi->ssi_pid, fdsi->ssi_status); + if (!jterm_ind) + return; + + cups_client_tx_json(sproc->cups_client, jterm_ind); + + llist_del(&sproc->list); + talloc_free(sproc); +} + +static json_t *gen_uecups_start_res(pid_t pid, const char *result) +{ + json_t *ret = gen_uecups_result("start_program_res", result); + json_object_set_new(json_object_get(ret, "start_program_res"), "pid", json_integer(pid)); + + return ret; +} + +static int cups_client_handle_start_program(struct cups_client *cc, json_t *sprog) +{ + json_t *juser, *jcmd, *jenv, *jnetns, *jres; + struct gtp_daemon *d = cc->d; + const char *cmd, *user; + char **addl_env = NULL; + sigset_t oldmask; + int nsfd, rc; + + juser = json_object_get(sprog, "run_as_user"); + jcmd = json_object_get(sprog, "command"); + jenv = json_object_get(sprog, "environment"); + jnetns = json_object_get(sprog, "tun_netns_name"); + + /* mandatory parts */ + if (!juser || !jcmd) + return -EINVAL; + if (!json_is_string(juser) || !json_is_string(jcmd)) + return -EINVAL; + + /* optional parts */ + if (jenv && !json_is_array(jenv)) + return -EINVAL; + if (jnetns && !json_is_string(jnetns)) + return -EINVAL; + + cmd = json_string_value(jcmd); + user = json_string_value(juser); + if (jnetns) { + struct tun_device *tun = tun_device_find_netns(d, json_string_value(jnetns)); + if (!tun) + return -ENODEV; + nsfd = tun->netns_fd; + } + + /* build environment */ + if (jenv) { + json_t *j; + int i; + addl_env = talloc_zero_array(cc, char *, json_array_size(jenv)+1); + if (!addl_env) + return -ENOMEM; + json_array_foreach(jenv, i, j) { + addl_env[i] = talloc_strdup(addl_env, json_string_value(j)); + } + } + + if (jnetns) { + rc = switch_ns(nsfd, &oldmask); + if (rc < 0) { + talloc_free(addl_env); + return -EIO; + } + } + + rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); + + if (jnetns) { + OSMO_ASSERT(restore_ns(&oldmask) == 0); + } + + talloc_free(addl_env); + + if (rc > 0) { + /* create a record about the subprocess we started, so we can notify the + * client that crated it upon termination */ + struct subprocess *sproc = talloc_zero(cc, struct subprocess); + if (!sproc) + return -ENOMEM; + + sproc->cups_client = cc; + sproc->pid = rc; + llist_add_tail(&sproc->list, &d->subprocesses); + jres = gen_uecups_start_res(sproc->pid, "OK"); + } else { + jres = gen_uecups_start_res(0, "ERR_INVALID_DATA"); + } + + cups_client_tx_json(cc, jres); + + return 0; +} + + static int cups_client_handle_json(struct cups_client *cc, json_t *jroot) { void *iter; @@ -309,6 +467,8 @@ rc = cups_client_handle_create_tun(cc, cmd); } else if (!strcmp(key, "destroy_tun")) { rc = cups_client_handle_destroy_tun(cc, cmd); + } else if (!strcmp(key, "start_program")) { + rc = cups_client_handle_start_program(cc, cmd); } else { LOGCC(cc, LOGL_NOTICE, "Unknown command '%s' received\n", key); return -EINVAL; @@ -387,6 +547,17 @@ static int cups_client_closed_cb(struct osmo_stream_srv *conn) { struct cups_client *cc = osmo_stream_srv_get_data(conn); + struct gtp_daemon *d = cc->d; + struct subprocess *p, *p2; + + /* kill + forget about all subprocesses of this client */ + llist_for_each_entry_safe(p, p2, &d->subprocesses, list) { + if (p->cups_client == cc) { + kill(p->pid, SIGKILL); + llist_del(&p->list); + talloc_free(p); + } + } LOGCC(cc, LOGL_INFO, "UECUPS connection lost\n"); llist_del(&cc->list); @@ -404,6 +575,7 @@ if (!cc) return -1; + cc->d = d; osmo_sock_get_name_buf(cc->sockname, sizeof(cc->sockname), fd); cc->srv = osmo_stream_srv_create(cc, link, fd, cups_client_read_cb, cups_client_closed_cb, cc); if (!cc->srv) { @@ -439,6 +611,7 @@ INIT_LLIST_HEAD(&d->gtp_endpoints); INIT_LLIST_HEAD(&d->tun_devices); INIT_LLIST_HEAD(&d->gtp_tunnels); + INIT_LLIST_HEAD(&d->subprocesses); pthread_rwlock_init(&d->rwlock, NULL); d->main_thread = pthread_self(); @@ -528,6 +701,13 @@ osmo_stream_srv_link_set_accept_cb(g_daemon->cups_link, cups_accept_cb); osmo_stream_srv_link_open(g_daemon->cups_link); + /* block SIGCHLD via normal delivery; redirect it to signalfd */ + sigset_t sigset; + sigemptyset(&sigset); + sigaddset(&sigset, SIGCHLD); + sigprocmask(SIG_BLOCK, &sigset, NULL); + g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, sigchild_cb, g_daemon); + if (g_daemonize) { rc = osmo_daemonize(); if (rc < 0) { diff --git a/daemon/tun_device.c b/daemon/tun_device.c index f6553ca..e20607d 100644 --- a/daemon/tun_device.c +++ b/daemon/tun_device.c @@ -337,6 +337,23 @@ return NULL; } +/* find the first tun device within given named netns */ +struct tun_device * +tun_device_find_netns(struct gtp_daemon *d, const char *netns_name) +{ + struct tun_device *tun; + + pthread_rwlock_rdlock(&d->rwlock); + llist_for_each_entry(tun, &d->tun_devices, list) { + if (!strcmp(tun->netns_name, netns_name)) { + pthread_rwlock_unlock(&d->rwlock); + return tun; + } + } + pthread_rwlock_unlock(&d->rwlock); + return NULL; +} + struct tun_device * tun_device_find_or_create(struct gtp_daemon *d, const char *devname, const char *netns_name) { diff --git a/ttcn3/UECUPS_Types.ttcn b/ttcn3/UECUPS_Types.ttcn index 3699dee..8861998 100644 --- a/ttcn3/UECUPS_Types.ttcn +++ b/ttcn3/UECUPS_Types.ttcn @@ -56,11 +56,39 @@ UECUPS_Result result }; +/* User requests deaemon to start a program in given network namespace */ +type record UECUPS_StartProgram { + /* the command to be started (with optional environment entries) */ + charstring command, + charstring_list environment optional, + /* user + group to use when starting command */ + charstring run_as_user, + /* network namespace in which to start the command */ + charstring tun_netns_name optional +}; +type record of charstring charstring_list; + +/* Daemon informs us that a program has been started */ +type record UECUPS_StartProgramRes { + UECUPS_Result result, + integer pid +}; + +/* Daemon informs us that a program has terminated */ +type record UECUPS_ProgramTermInd { + integer pid, + integer exit_code +}; + + type union PDU_UECUPS { UECUPS_CreateTun create_tun, UECUPS_CreateTunRes create_tun_res, UECUPS_DestroyTun destroy_tun, - UECUPS_DestroyTunRes destroy_tun_res + UECUPS_DestroyTunRes destroy_tun_res, + UECUPS_StartProgram start_program, + UECUPS_StartProgramRes start_program_res, + UECUPS_ProgramTermInd program_term_ind }; -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17856 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I94db625de9f5968e53bf67ce2f941673d9a15fbc Gerrit-Change-Number: 17856 Gerrit-PatchSet: 3 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 Apr 18 19:35:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:35:44 +0000 Subject: Change in osmo-uecups[master]: Add support for UeCUPS_ResetAllState In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17857 ) Change subject: Add support for UeCUPS_ResetAllState ...................................................................... Add support for UeCUPS_ResetAllState This allows the controlling entity (testsuite) to reset all state in the daemon. Change-Id: I18c952b3874324a9efafb26b5f2c64f8396ff36a --- M daemon/main.c M ttcn3/UECUPS_Types.ttcn 2 files changed, 48 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/daemon/main.c b/daemon/main.c index 155d5d5..a458e16 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -68,6 +68,14 @@ pid_t pid; }; +/* kill the specified subprocess and forget about it */ +static void subprocess_destroy(struct subprocess *p, int signal) +{ + kill(p->pid, signal); + llist_del(&p->list); + talloc_free(p); +} + /* Send JSON to a given client/connection */ static int cups_client_tx_json(struct cups_client *cc, json_t *jtx) { @@ -446,6 +454,29 @@ return 0; } +static int cups_client_handle_reset_all_state(struct cups_client *cc, json_t *sprog) +{ + struct gtp_daemon *d = cc->d; + struct gtp_tunnel *t, *t2; + struct subprocess *p, *p2; + json_t *jres; + + pthread_rwlock_wrlock(&d->rwlock); + llist_for_each_entry_safe(t, t2, &d->gtp_tunnels, list) { + _gtp_tunnel_destroy(t); + } + pthread_rwlock_unlock(&d->rwlock); + + /* no locking needed as this list is only used by main thread */ + llist_for_each_entry_safe(p, p2, &d->subprocesses, list) { + subprocess_destroy(p, SIGKILL); + } + + jres = gen_uecups_result("reset_all_state_res", "OK"); + cups_client_tx_json(cc, jres); + + return 0; +} static int cups_client_handle_json(struct cups_client *cc, json_t *jroot) { @@ -469,6 +500,8 @@ rc = cups_client_handle_destroy_tun(cc, cmd); } else if (!strcmp(key, "start_program")) { rc = cups_client_handle_start_program(cc, cmd); + } else if (!strcmp(key, "reset_all_state")) { + rc = cups_client_handle_reset_all_state(cc, cmd); } else { LOGCC(cc, LOGL_NOTICE, "Unknown command '%s' received\n", key); return -EINVAL; @@ -551,12 +584,10 @@ struct subprocess *p, *p2; /* kill + forget about all subprocesses of this client */ + /* We need no locking here as the subprocess list is only used from the main thread */ llist_for_each_entry_safe(p, p2, &d->subprocesses, list) { - if (p->cups_client == cc) { - kill(p->pid, SIGKILL); - llist_del(&p->list); - talloc_free(p); - } + if (p->cups_client == cc) + subprocess_destroy(p, SIGKILL); } LOGCC(cc, LOGL_INFO, "UECUPS connection lost\n"); diff --git a/ttcn3/UECUPS_Types.ttcn b/ttcn3/UECUPS_Types.ttcn index 8861998..bbd849f 100644 --- a/ttcn3/UECUPS_Types.ttcn +++ b/ttcn3/UECUPS_Types.ttcn @@ -80,15 +80,26 @@ integer exit_code }; +type record UeCUPS_ResetAllState { +}; + +type record UeCUPS_ResetAllStateRes { + UECUPS_Result result +}; type union PDU_UECUPS { UECUPS_CreateTun create_tun, UECUPS_CreateTunRes create_tun_res, + UECUPS_DestroyTun destroy_tun, UECUPS_DestroyTunRes destroy_tun_res, + UECUPS_StartProgram start_program, UECUPS_StartProgramRes start_program_res, - UECUPS_ProgramTermInd program_term_ind + UECUPS_ProgramTermInd program_term_ind, + + UeCUPS_ResetAllState reset_all_state, + UeCUPS_ResetAllStateRes reset_all_state_res }; -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17857 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I18c952b3874324a9efafb26b5f2c64f8396ff36a Gerrit-Change-Number: 17857 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 Sat Apr 18 19:43:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 18 Apr 2020 19:43:58 +0000 Subject: Change in osmo-uecups[master]: Add support for SIGUSR1 talloc report + SIGHUP logfile re-open References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17859 ) Change subject: Add support for SIGUSR1 talloc report + SIGHUP logfile re-open ...................................................................... Add support for SIGUSR1 talloc report + SIGHUP logfile re-open Change-Id: I8bfce39443fd29b6acab9a88c9fa5da54c46e824 --- M daemon/main.c 1 file changed, 25 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/59/17859/1 diff --git a/daemon/main.c b/daemon/main.c index a458e16..6ce9042 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -628,11 +628,26 @@ #define OSMO_VTY_PORT_UECUPS 4268 #endif +static void *g_tall_ctx; struct gtp_daemon *g_daemon; static int g_daemonize; static char *g_config_file = "osmo-gtpu-daemon.cfg"; extern struct vty_app_info g_vty_info; +static void signal_cb(struct osmo_signalfd *osfd, const struct signalfd_siginfo *fdsi) +{ + switch (fdsi->ssi_signo) { + case SIGCHLD: + sigchild_cb(osfd, fdsi); + break; + case SIGUSR1: + talloc_report_full(g_tall_ctx, stderr); + break; + default: + break; + } +} + static struct gtp_daemon *gtp_daemon_alloc(void *ctx) { struct gtp_daemon *d = talloc_zero(ctx, struct gtp_daemon); @@ -685,23 +700,23 @@ int main(int argc, char **argv) { - void *ctx = talloc_named_const(NULL, 0, "root"); int rc; - g_vty_info.tall_ctx = ctx; + g_tall_ctx = talloc_named_const(NULL, 0, "root"); + g_vty_info.tall_ctx = g_tall_ctx; osmo_init_ignore_signals(); - osmo_init_logging2(ctx, &log_info); + osmo_init_logging2(g_tall_ctx, &log_info); - g_daemon = gtp_daemon_alloc(ctx); + g_daemon = gtp_daemon_alloc(g_tall_ctx); OSMO_ASSERT(g_daemon); - osmo_stats_init(ctx); + osmo_stats_init(g_tall_ctx); vty_init(&g_vty_info); logging_vty_add_cmds(); osmo_talloc_vty_add_cmds(); osmo_stats_vty_add_cmds(); - rate_ctr_init(ctx); + rate_ctr_init(g_tall_ctx); gtpud_vty_init(); init_netns(); @@ -712,7 +727,7 @@ exit(2); } - rc = telnet_init_dynif(ctx, NULL, vty_get_bind_addr(), OSMO_VTY_PORT_UECUPS); + rc = telnet_init_dynif(g_daemon, NULL, vty_get_bind_addr(), OSMO_VTY_PORT_UECUPS); if (rc < 0) exit(1); @@ -736,8 +751,10 @@ sigset_t sigset; sigemptyset(&sigset); sigaddset(&sigset, SIGCHLD); + sigaddset(&sigset, SIGUSR1); sigprocmask(SIG_BLOCK, &sigset, NULL); - g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, sigchild_cb, g_daemon); + g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); + osmo_init_ignore_signals(); if (g_daemonize) { rc = osmo_daemonize(); -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17859 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I8bfce39443fd29b6acab9a88c9fa5da54c46e824 Gerrit-Change-Number: 17859 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 Apr 18 19:50:48 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Sat, 18 Apr 2020 19:50:48 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Implement initial RF emulation API In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 ) Change subject: enb: Implement initial RF emulation API ...................................................................... Patch Set 2: Just another thing that came to my mind Pau. The example handover.py test looked to me like the gain control is executed in the main processing loop. But how would you do that in the case you have an iperf client running in parallel. Usually, this would be in the main loop so the the gain control loop needs to run in a background thread. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 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: Ie98a3fb9bcd2b87b96ecbb5b79e0f53981892a32 Gerrit-Change-Number: 17847 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Sat, 18 Apr 2020 19:50:48 +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 Apr 18 20:19:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 18 Apr 2020 20:19:36 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Implement initial RF emulation API In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 ) Change subject: enb: Implement initial RF emulation API ...................................................................... Patch Set 2: > Patch Set 2: > > Just another thing that came to my mind Pau. The example handover.py test looked to me like the gain control is executed in the main processing loop. But how would you do that in the case you have an iperf client running in parallel. Usually, this would be in the main loop so the the gain control loop needs to run in a background thread. iperf can run in the background with no issue while the test changes the parameters. Right now we are using proc.launch_sync() for convinience, but you can simply launch() and then poll from time to time to check if the process is done or not. No need for different threads, the event loop cares take of everything. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 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: Ie98a3fb9bcd2b87b96ecbb5b79e0f53981892a32 Gerrit-Change-Number: 17847 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Sat, 18 Apr 2020 20:19:36 +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 Apr 18 20:20:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 18 Apr 2020 20:20:33 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Implement initial RF emulation API In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 ) Change subject: enb: Implement initial RF emulation API ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847/2/sysmocom/suites/4g/handover.py File sysmocom/suites/4g/handover.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847/2/sysmocom/suites/4g/handover.py at 25 PS2, Line 25: for att in range(1, 10, 1): > this test is called handover but you're only increasing the attenuation for one cell. [?] Indeed I'm not implementing the whole test yet only a few bits to test the class implementations. This test should be out of this commit. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 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: Ie98a3fb9bcd2b87b96ecbb5b79e0f53981892a32 Gerrit-Change-Number: 17847 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Sat, 18 Apr 2020 20:20:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: srs_andre Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Apr 18 20:23:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 18 Apr 2020 20:23:31 +0000 Subject: Change in osmo-gsm-tester[master]: powersupply: Import sublcass module only if used In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17849 ) Change subject: powersupply: Import sublcass module only if used ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17849 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: I0d2f8b26364b45f0d837cc51078784d1d0fa7ea1 Gerrit-Change-Number: 17849 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 18 Apr 2020 20:23: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 Sat Apr 18 20:23:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 18 Apr 2020 20:23:34 +0000 Subject: Change in osmo-gsm-tester[master]: check_dependencies: Import modules dynamically and find related debia... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17850 ) Change subject: check_dependencies: Import modules dynamically and find related debian packages ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17850 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: I29ddf8971837754abd930d847bd1036e8e510de6 Gerrit-Change-Number: 17850 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 18 Apr 2020 20: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 Sat Apr 18 20:23:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 18 Apr 2020 20:23:38 +0000 Subject: Change in osmo-gsm-tester[master]: powersupply: Import sublcass module only if used In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17849 ) Change subject: powersupply: Import sublcass module only if used ...................................................................... powersupply: Import sublcass module only if used This way we avoid unconditionally importing all subclass dependencies, and make them optional based on whether the setup has devices of that type or not. Change-Id: I0d2f8b26364b45f0d837cc51078784d1d0fa7ea1 --- M src/osmo_gsm_tester/obj/powersupply.py 1 file changed, 8 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/src/osmo_gsm_tester/obj/powersupply.py b/src/osmo_gsm_tester/obj/powersupply.py index 90e84ef..d0d315c 100644 --- a/src/osmo_gsm_tester/obj/powersupply.py +++ b/src/osmo_gsm_tester/obj/powersupply.py @@ -50,23 +50,17 @@ MainLoop.sleep(self, sleep) self.power_set(True) - -from . import powersupply_sispm, powersupply_intellinet - -KNOWN_PWSUPPLY_TYPES = { - 'sispm' : powersupply_sispm.PowerSupplySispm, - 'intellinet' : powersupply_intellinet.PowerSupplyIntellinet, -} - -def register_type(name, clazz): - """Register a new PoerSupply child class at runtime.""" - KNOWN_PWSUPPLY_TYPES[name] = clazz - def get_instance_by_type(pwsupply_type, pwsupply_opt): """Allocate a PowerSupply child class based on type. Opts are passed to the newly created object.""" - obj = KNOWN_PWSUPPLY_TYPES.get(pwsupply_type, None) - if not obj: + if pwsupply_type == 'sispm': + from powersupply_sispm import PowerSupplySispm + obj = PowerSupplySispm + elif pwsupply_type == 'intellinet': + from powersupply_intellinet import PowerSupplyIntellinet + obj = PowerSupplyIntellinet + else: raise log.Error('PowerSupply type not supported:', pwsupply_type) + return obj(pwsupply_opt) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17849 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: I0d2f8b26364b45f0d837cc51078784d1d0fa7ea1 Gerrit-Change-Number: 17849 Gerrit-PatchSet: 1 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 Sat Apr 18 20:23:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 18 Apr 2020 20:23:39 +0000 Subject: Change in osmo-gsm-tester[master]: check_dependencies: Import modules dynamically and find related debia... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17850 ) Change subject: check_dependencies: Import modules dynamically and find related debian packages ...................................................................... check_dependencies: Import modules dynamically and find related debian packages This way we don't need to manually add new imports here or drop unusued ones. It also makes sure local imports in all our py files is correct. For instance, running the script already caught an issue which is added to this patch (osmo_ms_driver/__main__.py). This new version of the script also allows specifying subsets of features to skip when checking for dependencies. This way, for instance somebody not willing to use a sispm powersupply can stil check all the needed dependencies are fine. This new tool will make it easier to slowly make some dependencies only used by some object test classes optional (for instance, python-smpplib if user doesn't want to run an ESME node). It also allows to retrieve the required debian/manually installed packages when run with "-p" option: """ Debian packages: libpython3.5-minimal:amd64 python3-gi python3-six libpython3.5-stdlib:amd64 python3-pygments python3-yaml python3-mako python3-numpy python3-markupsafe Modules without debian package (pip or setuptools?): usb [dpkg-query: no path found matching pattern /usr/local/lib/python3.5/dist-packages/usb/_interop.py] pydbus [dpkg-query: no path found matching pattern /usr/local/lib/python3.5/dist-packages/pydbus/proxy.py] smpplib [dpkg-query: no path found matching pattern /usr/local/lib/python3.5/dist-packages/smpplib/command_codes.py] sispm [dpkg-query: no path found matching pattern /usr/local/lib/python3.5/dist-packages/sispm/__init__.py] """ Change-Id: I29ddf8971837754abd930d847bd1036e8e510de6 --- M check_dependencies.py M src/osmo_ms_driver/__main__.py 2 files changed, 125 insertions(+), 28 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/check_dependencies.py b/check_dependencies.py index c3b1d64..3efbaf9 100755 --- a/check_dependencies.py +++ b/check_dependencies.py @@ -3,31 +3,128 @@ # just import all python3 modules used by osmo-gsm-tester to make sure they are # installed. -from inspect import getframeinfo, stack -from mako.lookup import TemplateLookup -from mako.template import Template -import argparse -import contextlib -import copy -import difflib -import fcntl -import inspect -import io -import os -import pprint -import re -import subprocess -import sys -import tempfile -import time -import traceback -import yaml -import pydbus -import sqlite3 -import sispm -import smpplib -import urllib.request -import xml.etree.ElementTree -import numpy -print('dependencies ok') + +import os +import sys +import argparse +import pprint +import subprocess + +feature_module_map = { + 'powersupply_intellinet' : ['powersupply_intellinet'], + 'powersupply_sispm' : ['powersupply_sispm'], + 'rfemu_amarisoftctrl': ['rfemu_amarisoftctrl'], + 'rfemu_minicircuits': ['rfemu_minicircuits'], +} + +def skip_features_to_skip_modules(skip_features): + skip_obj_modules = [] + + for skip_feature in skip_features: + if skip_feature not in feature_module_map: + raise Exception('feature %s doesn\'t exist!' % skip_feature) + for skip_module in feature_module_map[skip_feature]: + skip_obj_modules.append(skip_module) + return skip_obj_modules + +def import_runtime_dependencies(): + # we don't have any right now, but in the future if we import a module during runtime (eg inside a function), then we need to place it here: + # import foobar + pass + +def import_all_py_in_dir(rel_path, skip_modules=[]): + selfdir = os.path.dirname(os.path.abspath(__file__)) + dir = os.path.join(selfdir, rel_path) + print('importing files in directory %s' % dir) + for entry in os.listdir(dir): + full_entry = os.path.join(selfdir, rel_path, entry) + if not os.path.isfile(full_entry): + if args.verbose: + print('skipping entry %s' % full_entry) + continue + if not full_entry.endswith('.py'): + if args.verbose: + print('skipping file %s' % full_entry) + continue + modulename = entry[:-3] + if modulename in skip_modules: + if args.verbose: + print('skipping module %s' % modulename) + continue + modulepath = rel_path.replace('/', '.') + '.' + modulename + print('importing %s' % modulepath) + __import__(modulepath, globals(), locals()) + +def get_module_names(): + all_modules=sys.modules.items() + all_modules_filtered = {} + for mname, m in all_modules: + if not hasattr(m, '__file__'): + continue # skip built-in modules + if mname.startswith('_'): + continue # skip internal modules + if mname.startswith('src.osmo_') or 'osmo_gsm_tester' in mname or 'osmo_ms_driver' in mname: + continue # skip our own local modules + mname = mname.split('.')[0] # store only main module + if m not in all_modules_filtered.values(): + all_modules_filtered[mname] = m + return all_modules_filtered + +def print_deb_packages(modules): + packages_deb = [] + modules_err = [] + for mname, m in modules.items(): + proc = subprocess.Popen(["dpkg", "-S", m.__file__], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + outs, errs = proc.communicate() + if args.verbose: + print('out: %s, err: %s' %(outs, errs)) + if len(errs): # error -> package not found (installed through pip?) + modules_err.append((mname, errs.decode('utf-8'))) + elif len(outs): + outs = outs.decode('utf-8') + outs = outs.split()[0].rstrip(':') # first part is debian package name + if not outs in packages_deb: + packages_deb.append(outs) + else: + print('WARNING: dpkg returns empty!') + + print('Debian packages:') + for pkgname in packages_deb: + print("\t" + pkgname) + print() + print('Modules without debian package (pip or setuptools?):') + for mname, err in modules_err: + print("\t" + mname.ljust(20) + " [" + err.rstrip() +"]") + +parser = argparse.ArgumentParser(epilog=__doc__, formatter_class=argparse.RawTextHelpFormatter) +parser.add_argument('-s', '--skip-feature', dest='skip_features', choices=feature_module_map.keys(), action='append', + help='''All osmo-gsm-tester features not used by the user running the script''') +parser.add_argument('-p', '--distro-packages', dest='distro_packages', action='store_true', + help='Print distro packages installing modules') +parser.add_argument('-v', '--verbose', dest='verbose', action='store_true', + help='Print a lot more information') +args = parser.parse_args() + +skip_obj_modules = skip_features_to_skip_modules(list(args.skip_features or [])) + +print('Skip checking modules: %r' % skip_obj_modules) + +# We need to add it for cross-references between osmo_ms_driver and osmo_gsm_tester to work: +sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), 'src/')) +import_all_py_in_dir('src/osmo_ms_driver') +import_all_py_in_dir('src/osmo_gsm_tester/core') +import_all_py_in_dir('src/osmo_gsm_tester/obj', skip_obj_modules) +import_all_py_in_dir('src/osmo_gsm_tester') +import_runtime_dependencies() +print('Importing dependencies ok, all installed') + +print('Retreiving list of imported modules...') +modules = get_module_names() +if args.verbose: + for mname, m in modules.items(): + print('%s --> %s' %(mname, m.__file__)) + +if args.distro_packages: + print('Generating distro package list from imported module list...') + print_deb_packages(modules) diff --git a/src/osmo_ms_driver/__main__.py b/src/osmo_ms_driver/__main__.py index a4276d9..f84be88 100644 --- a/src/osmo_ms_driver/__main__.py +++ b/src/osmo_ms_driver/__main__.py @@ -23,7 +23,7 @@ from .starter import BinaryOptions, MobileTestStarter from .test_support import imsi_ki_gen from osmo_gsm_tester.core import log, util -from osmo_gsm_tester import ms_osmo_mobile +from osmo_gsm_tester.obj import ms_osmo_mobile # System modules from datetime import timedelta -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17850 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: I29ddf8971837754abd930d847bd1036e8e510de6 Gerrit-Change-Number: 17850 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 Sat Apr 18 20:37:53 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Sat, 18 Apr 2020 20:37:53 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Add cell_list attribute In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17842 ) Change subject: enb: Add cell_list attribute ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17842 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: I4fd30a3e37789b76bfaddc2beba1815154daab7f Gerrit-Change-Number: 17842 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Sat, 18 Apr 2020 20:37: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 Sat Apr 18 20:38:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 18 Apr 2020 20:38:21 +0000 Subject: Change in libosmocore[master]: timerfd: call osmo_fd_unregister() when closing on read error In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17858 ) Change subject: timerfd: call osmo_fd_unregister() when closing on read error ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17858 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8513126286083ebf02d14043cf072c8297878dd7 Gerrit-Change-Number: 17858 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 18 Apr 2020 20:38: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 Sat Apr 18 20:39:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 18 Apr 2020 20:39:25 +0000 Subject: Change in osmo-ci[master]: ansible: gsm-tester: Add dependency python3-websocket In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17851 ) Change subject: ansible: gsm-tester: Add dependency python3-websocket ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iab03cfdcfb1c197ae002d95e0bb56d86e0aac97b Gerrit-Change-Number: 17851 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 18 Apr 2020 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 Apr 18 20:39:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 18 Apr 2020 20:39:28 +0000 Subject: Change in osmo-ci[master]: ansible: gsm-tester: Add dependency python3-websocket In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17851 ) Change subject: ansible: gsm-tester: Add dependency python3-websocket ...................................................................... ansible: gsm-tester: Add dependency python3-websocket osmo-gsm-tester needs it in rfemu_amarisoftctrl.py to connect to Amarisoft CTRL interface (which is implemented through a websocket). Change-Id: Iab03cfdcfb1c197ae002d95e0bb56d86e0aac97b --- M ansible/roles/gsm-tester/tasks/main.yml 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/ansible/roles/gsm-tester/tasks/main.yml b/ansible/roles/gsm-tester/tasks/main.yml index 6258fde..7f0bad1 100644 --- a/ansible/roles/gsm-tester/tasks/main.yml +++ b/ansible/roles/gsm-tester/tasks/main.yml @@ -217,6 +217,7 @@ - python3-mako - python3-gi - python3-numpy + - python3-websocket - ofono - patchelf - libcap2-bin -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iab03cfdcfb1c197ae002d95e0bb56d86e0aac97b Gerrit-Change-Number: 17851 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Apr 18 20:41:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 18 Apr 2020 20:41:48 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Add cell_list attribute In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17842 ) Change subject: enb: Add cell_list attribute ...................................................................... enb: Add cell_list attribute It allows configuring each cell_list up to a maximum of 'num_cells'. Change-Id: I4fd30a3e37789b76bfaddc2beba1815154daab7f --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M sysmocom/defaults.conf 6 files changed, 41 insertions(+), 29 deletions(-) Approvals: Jenkins Builder: Verified srs_andre: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index d1f8687..340ea3a 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -38,6 +38,7 @@ self.set_name('%s_%s' % (name, self._addr)) self._txmode = 0 self._num_prb = 0 + self._num_cells = None self._epc = None def configure(self, config_specifics_li): @@ -56,6 +57,25 @@ assert self._epc is not None 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 + + # adjust cell_list to num_cells length: + len_cell_list = len(values['enb']['cell_list']) + if len_cell_list >= self._num_cells: + values['enb']['cell_list'] = values['enb']['cell_list'][:self._num_cells] + else: + raise log.Error('enb.cell_list items (%d) < enb.num_cells (%d) attribute!' % (len_cell_list, self._num_cells)) + # adjust scell list (to only contain values available in cell_list): + cell_id_list = [c['cell_id'] for c in values['enb']['cell_list']] + for i in range(len(values['enb']['cell_list'])): + scell_list_old = values['enb']['cell_list'][i]['scell_list'] + scell_list_new = [] + for scell_id in scell_list_old: + if scell_id in cell_id_list: + scell_list_new.append(scell_id) + values['enb']['cell_list'][i]['scell_list'] = scell_list_new + return values def num_ports(self): diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index 1772173..996af19 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -165,8 +165,6 @@ self.remote_log_file = remote_run_dir.child(AmarisoftENB.LOGFILE) values = super().configure(['amarisoft', 'amarisoftenb']) - self._num_cells = int(values['enb'].get('num_cells', None)) - assert self._num_cells # Convert parsed boolean string to Python boolean: self.enable_measurements = util.str2bool(values['enb'].get('enable_measurements', 'false')) diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 9364375..c9721d1 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -190,9 +190,6 @@ self._additional_args = values['enb'].get('additional_args', '').split() - self._num_cells = int(values['enb'].get('num_cells', None)) - assert self._num_cells - # 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.num_prb()) diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index bcdbb94..efb7d5a 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -91,7 +91,6 @@ 'enb[].gtp_bind_addr': schema.IPV4, 'enb[].num_prb': schema.UINT, 'enb[].transmission_mode': schema.LTE_TRANSMISSION_MODE, - 'enb[].num_cells': schema.UINT, 'enb[].rf_dev_type': schema.STR, 'enb[].rf_dev_args': schema.STR, 'enb[].additional_args': schema.STR, @@ -108,6 +107,10 @@ 'enb[].a3_report_value': schema.INT, 'enb[].a3_hysteresis': schema.INT, 'enb[].a3_time_to_trigger': schema.INT, + 'enb[].num_cells': schema.UINT, + 'enb[].cell_list[].cell_id': schema.UINT, + 'enb[].cell_list[].scell_list[]': schema.UINT, + 'enb[].cell_list[].dl_earfcn': schema.UINT, 'arfcn[].arfcn': schema.INT, 'arfcn[].band': schema.BAND, 'modem[].type': schema.STR, diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index a56e58d..11704b6 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -55,36 +55,23 @@ /* list of cells */ cell_list: [ - { - // First cell - dl_earfcn: 2850, - rf_port: 0, - cell_id: 0x01, - n_id_cell: 1, - tac: 0x0001, - root_sequence_index: 204, /* PRACH root sequence index */ -% if enb.get('num_cells') == '2': - scell_list: [ - { cell_id: 0x02, cross_carrier_scheduling: false, scheduling_cell_id: 0x01, ul_allowed: true}, - ], -% endif - }, -% if enb.get('num_cells') == '2': +%for cell in enb.cell_list: { - // Second Cell - dl_earfcn: 3050, - rf_port: 1, - cell_id: 0x02, - n_id_cell: 2, + dl_earfcn: ${cell.dl_earfcn}, + rf_port: ${loop.index}, + cell_id: ${cell.cell_id}, + n_id_cell: ${loop.index + 1}, tac: 0x0001, - root_sequence_index: 205, + root_sequence_index: ${loop.index + 204}, /* PRACH root sequence index */ scell_list: [ - { cell_id: 0x01, cross_carrier_scheduling: false, scheduling_cell_id: 0x02, ul_allowed: true}, +%for scell_id in cell.scell_list: + { cell_id: ${scell_id}, cross_carrier_scheduling: false, scheduling_cell_id: ${cell.cell_id}, ul_allowed: true}, +%endfor ], }, -% endif +%endfor ], /* cell_list */ /* default cell parameters */ diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index f3994bb..bf5bce1 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -123,6 +123,13 @@ a3_report_value: 6 a3_hysteresis: 0 a3_time_to_trigger: 480 + cell_list: + - cell_id: 0x01 + dl_earfcn: 2850 + scell_list: [0x02] + - cell_id: 0x02 + dl_earfcn: 3050 + scell_list: [0x01] srsenb: num_prb: 100 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17842 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: I4fd30a3e37789b76bfaddc2beba1815154daab7f Gerrit-Change-Number: 17842 Gerrit-PatchSet: 3 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 Sat Apr 18 21:00:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 18 Apr 2020 21:00:05 +0000 Subject: Change in libosmo-netif[master]: debian/control: Drop incorrect libortp-dev dependency References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/17860 ) Change subject: debian/control: Drop incorrect libortp-dev dependency ...................................................................... debian/control: Drop incorrect libortp-dev dependency Previous commit wrongly added this dependency while fixing formatting. Fixes: c9a86ff30636c1c7cf2af2f246796e622ed01169 Change-Id: I7c67709139187b88a222e854a2e80b4038a6ac3f --- M debian/control 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/60/17860/1 diff --git a/debian/control b/debian/control index 6cec7e5..65c25d0 100644 --- a/debian/control +++ b/debian/control @@ -15,8 +15,7 @@ libosmo-abis-dev (>= 0.6.0), pkg-config, libpcap0.8-dev, - libsctp-dev, - libortp-dev + libsctp-dev Standards-Version: 3.9.6 Vcs-Browser: http://git.osmocom.org/libosmo-netif/ Vcs-Git: git://git.osmocom.org/libosmo-netif.git -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17860 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I7c67709139187b88a222e854a2e80b4038a6ac3f Gerrit-Change-Number: 17860 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 Sat Apr 18 21:54:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 18 Apr 2020 21:54:13 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Fix build/run against linux < 4.11 (no sysctl addr_gen_mode ... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17861 ) Change subject: sgsnemu: Fix build/run against linux < 4.11 (no sysctl addr_gen_mode support) ...................................................................... sgsnemu: Fix build/run against linux < 4.11 (no sysctl addr_gen_mode support) On older systems (like debian 8), the enum is not present in the header file and build will fail (as saw in osmocom's OBS instance). Furthermore, the sysctl to change the value was added at a later point in time, which means compiling can go fine but running may fail due to the sysctl not being available. Change-Id: I208970d5b16ea7148444d414b0a6f68c8d9a086c --- M configure.ac M sgsnemu/sgsnemu.c 2 files changed, 20 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/61/17861/1 diff --git a/configure.ac b/configure.ac index c695958..0e61729 100644 --- a/configure.ac +++ b/configure.ac @@ -131,6 +131,15 @@ AC_DEFINE([HAVE_IPHDR])], AC_MSG_RESULT(no)) +# Address generation modes (enum) implemented in linux 3.17 (bc91b0f07ada5535427373a4e2050877bcc12218) +# /proc/sys/net/ipv6/conf/${iface}/addr_gen_mode was added in linux 4.11 (d35a00b8e33dab7385f724e713ae71c8be0a49f4) +AC_MSG_CHECKING(whether enum in6_addr_gen_mode.IN6_ADDR_GEN_MODE_NONE exists) +AH_TEMPLATE(HAVE_IN6_ADDR_GEN_MODE_NONE) +AC_EGREP_HEADER(IN6_ADDR_GEN_MODE_NONE, linux/if_link.h, +[AC_MSG_RESULT(yes) + AC_DEFINE([HAVE_IN6_ADDR_GEN_MODE_NONE])], + AC_MSG_RESULT(no)) + # Checks for library functions. AC_PROG_GCC_TRADITIONAL # AC_FUNC_MALLOC diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 1607102..4c51157 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -15,6 +15,8 @@ * */ +#include "config.h" + #ifdef __linux__ #define _GNU_SOURCE 1 /* strdup() prototype, broken arpa/inet.h */ #endif @@ -47,10 +49,11 @@ #include #if defined(__linux__) +#if defined(HAVE_IN6_ADDR_GEN_MODE_NONE) #include +#endif // HAVE_IN6_ADDR_GEN_MODE_NONE #endif -#include "config.h" #include "../lib/tun.h" #include "../lib/ippool.h" #include "../lib/syserr.h" @@ -1920,13 +1923,16 @@ exit(1); } -#if defined(__linux__) - /* Avoid tunnel setting its own link-local addr automatically, we don't need it. */ +#if defined(__linux__) && defined(HAVE_IN6_ADDR_GEN_MODE_NONE) + /* Avoid tunnel setting its own link-local addr automatically, + we don't need it. Don't exit on error since this sysctl is + only available starting with linux 4.11. */ snprintf(buf, sizeof(buf), "%u", IN6_ADDR_GEN_MODE_NONE); if (proc_ipv6_conf_write(options.tun_dev_name, "addr_gen_mode", buf) < 0) { SYS_ERR(DSGSN, LOGL_ERROR, errno, - "Failed to disable addr_gen_mode on %s\n", options.tun_dev_name); - exit(1); + "Failed to disable addr_gen_mode on %s, an extra link-local " + "ip address will appear on the tun device.\n", + options.tun_dev_name); } #endif -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17861 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I208970d5b16ea7148444d414b0a6f68c8d9a086c Gerrit-Change-Number: 17861 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 Sat Apr 18 22:07:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 18 Apr 2020 22:07:19 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 2: I still lick information about which commit/version from nuran you are picking this code. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 18 Apr 2020 22:07: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 Apr 19 00:21:41 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 19 Apr 2020 00:21:41 +0000 Subject: Change in libosmocore[master]: timer.c: make timers thread safe References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17862 ) Change subject: timer.c: make timers thread safe ...................................................................... timer.c: make timers thread safe This is implicitly used by the libosmocore select abstraction, which might be used in multiple threads at the same time. Change-Id: I5a3802c94af6ff0315f1553f20870342d51ce726 --- M src/timer.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/62/17862/1 diff --git a/src/timer.c b/src/timer.c index 0b2e3dd..d3129a7 100644 --- a/src/timer.c +++ b/src/timer.c @@ -40,10 +40,10 @@ #include /* These store the amount of time that we wait until next timer expires. */ -static struct timeval nearest; -static struct timeval *nearest_p; +static __thread struct timeval nearest; +static __thread struct timeval *nearest_p; -static struct rb_root timer_root = RB_ROOT; +static __thread struct rb_root timer_root = RB_ROOT; static void __add_timer(struct osmo_timer_list *timer) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17862 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5a3802c94af6ff0315f1553f20870342d51ce726 Gerrit-Change-Number: 17862 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Apr 19 01:42:27 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 19 Apr 2020 01:42:27 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5e9bac88e50b5_2c8c2ae0c1c5a5f458062d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-ggsn failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: [ 104s] make[3]: Leaving directory '/usr/src/packages/BUILD/ggsn' [ 104s] Making all in sgsnemu [ 104s] make[3]: Entering directory '/usr/src/packages/BUILD/sgsnemu' [ 104s] CC sgsnemu.o [ 104s] sgsnemu.c: In function 'main': [ 104s] sgsnemu.c:1705:36: error: 'IN6_ADDR_GEN_MODE_NONE' undeclared (first use in this function) [ 104s] snprintf(buf, sizeof(buf), "%u", IN6_ADDR_GEN_MODE_NONE); [ 104s] ^ [ 104s] sgsnemu.c:1705:36: note: each undeclared identifier is reported only once for each function it appears in [ 104s] Makefile:410: recipe for target 'sgsnemu.o' failed [ 104s] make[3]: *** [sgsnemu.o] Error 1 [ 104s] make[3]: Leaving directory '/usr/src/packages/BUILD/sgsnemu' [ 104s] Makefile:468: recipe for target 'all-recursive' failed [ 104s] make[2]: *** [all-recursive] Error 1 [ 104s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 104s] Makefile:370: recipe for target 'all' failed [ 104s] make[1]: *** [all] Error 2 [ 104s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 104s] dh_auto_build: make -j1 returned exit code 2 [ 104s] debian/rules:15: recipe for target 'build' failed [ 104s] make: *** [build] Error 2 [ 104s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 104s] ### VM INTERACTION START ### [ 105s] Powering off. [ 105s] [ 99.767041] reboot: Power down [ 105s] ### VM INTERACTION END ### [ 105s] [ 105s] goat01 failed "build osmo-ggsn_1.5.0.22.a1b3.dsc" at Sun Apr 19 01:42:10 UTC 2020. [ 105s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 19 01:43:36 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 19 Apr 2020 01:43:36 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5e9bace2e063_2c8c2ae0c1c5a5f45808a3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/Debian_8.0/i586 Package network:osmocom:nightly/osmo-ggsn failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: [ 186s] make[3]: Leaving directory '/usr/src/packages/BUILD/ggsn' [ 186s] Making all in sgsnemu [ 186s] make[3]: Entering directory '/usr/src/packages/BUILD/sgsnemu' [ 186s] CC sgsnemu.o [ 186s] sgsnemu.c: In function 'main': [ 186s] sgsnemu.c:1705:36: error: 'IN6_ADDR_GEN_MODE_NONE' undeclared (first use in this function) [ 186s] snprintf(buf, sizeof(buf), "%u", IN6_ADDR_GEN_MODE_NONE); [ 186s] ^ [ 186s] sgsnemu.c:1705:36: note: each undeclared identifier is reported only once for each function it appears in [ 186s] Makefile:410: recipe for target 'sgsnemu.o' failed [ 186s] make[3]: *** [sgsnemu.o] Error 1 [ 186s] make[3]: Leaving directory '/usr/src/packages/BUILD/sgsnemu' [ 186s] Makefile:468: recipe for target 'all-recursive' failed [ 186s] make[2]: *** [all-recursive] Error 1 [ 186s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 186s] Makefile:370: recipe for target 'all' failed [ 186s] make[1]: *** [all] Error 2 [ 186s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 186s] dh_auto_build: make -j1 returned exit code 2 [ 186s] debian/rules:15: recipe for target 'build' failed [ 186s] make: *** [build] Error 2 [ 186s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 186s] ### VM INTERACTION START ### [ 187s] Powering off. [ 187s] [ 176.034596] reboot: Power down [ 187s] ### VM INTERACTION END ### [ 187s] [ 187s] lamb14 failed "build osmo-ggsn_1.5.0.22.a1b3.dsc" at Sun Apr 19 01:43:35 UTC 2020. [ 187s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 19 01:49:36 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 19 Apr 2020 01:49:36 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5e9bae4d89fd3_2c8c2ae0c1c5a5f458215e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 777s] | | #define HAVE_NETINET_IN_H 1 [ 777s] | | #define HAVE_ALLOCA_H 1 [ 777s] | | #define HAVE_ALLOCA 1 [ 777s] | | /* end confdefs.h. */ [ 777s] | | [ 777s] | | /* Override any GCC internal prototype to avoid an error. [ 777s] | | Use char because int might match the return type of a GCC [ 777s] | | builtin and then its argument prototype would still apply. */ [ 777s] | | #ifdef __cplusplus [ 777s] | | extern "C" [ 777s] | | #endif [ 777s] | | char dlsym (); [ 777s] | | int [ 777s] | | main () [ 777s] | | { [ 777s] | | return dlsym (); [ 777s] | | ; [ 777s] | | return 0; [ 777s] | | } [ 777s] | configure:12929: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c -ldl >&5 [ 777s] | configure:12929: $? = 0 [ 777s] | configure:12946: result: -ldl [ 777s] | configure:12956: checking for backtrace in -lexecinfo [ 779s] | configure:12981: gcc -o conftest -g -O2 -fdebug-pref[ 754.617153] sysrq: SysRq : Power Off [ 779s] [ 754.620445] reboot: Power down [ 779s] ### VM INTERACTION END ### [ 779s] [ 779s] armbuild01 failed "build libosmocore_1.3.0.68.a70ac8.dsc" at Sun Apr 19 01:49:30 UTC 2020. [ 779s] -- 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 Apr 19 08:16:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 08:16:46 +0000 Subject: Change in libosmocore[master]: timer.c: make timers thread safe In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17862 ) Change subject: timer.c: make timers thread safe ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17862 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5a3802c94af6ff0315f1553f20870342d51ce726 Gerrit-Change-Number: 17862 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 19 Apr 2020 08:16: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 Apr 19 08:16:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 08:16:49 +0000 Subject: Change in libosmocore[master]: timer.c: make timers thread safe In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17862 ) Change subject: timer.c: make timers thread safe ...................................................................... timer.c: make timers thread safe This is implicitly used by the libosmocore select abstraction, which might be used in multiple threads at the same time. Change-Id: I5a3802c94af6ff0315f1553f20870342d51ce726 --- M src/timer.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/timer.c b/src/timer.c index 0b2e3dd..d3129a7 100644 --- a/src/timer.c +++ b/src/timer.c @@ -40,10 +40,10 @@ #include /* These store the amount of time that we wait until next timer expires. */ -static struct timeval nearest; -static struct timeval *nearest_p; +static __thread struct timeval nearest; +static __thread struct timeval *nearest_p; -static struct rb_root timer_root = RB_ROOT; +static __thread struct rb_root timer_root = RB_ROOT; static void __add_timer(struct osmo_timer_list *timer) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17862 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5a3802c94af6ff0315f1553f20870342d51ce726 Gerrit-Change-Number: 17862 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen 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 Apr 19 08:25:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 08:25:35 +0000 Subject: Change in pysim[master]: Populate AIDs present on the UICC In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17833 ) Change subject: Populate AIDs present on the UICC ...................................................................... Patch Set 3: Code-Review+2 (2 comments) https://gerrit.osmocom.org/c/pysim/+/17833/3/pysim-testdata/fakemagicsim.ok File pysim-testdata/fakemagicsim.ok: https://gerrit.osmocom.org/c/pysim/+/17833/3/pysim-testdata/fakemagicsim.ok at 1 PS3, Line 1: (dev=5) inter > I'm not quite sure about this change. [?] I think we need to address this separately. The message should not be printed at all during the tests. The PC/SC device numbers are not stable over time (think of USB enumeration order, hotplug order, ...) so they are not reproducible and shouldn't be printed. I created https://osmocom.org/issues/4503 to track this. https://gerrit.osmocom.org/c/pysim/+/17833/3/pysim-testdata/fakemagicsim.ok at 4 PS3, Line 4: C I think the error message should be more oriented towards the user. What we want to say here in a user-friendly way is: "Can't read AIDs from SIM; probably a classic SIM card without UICC/USIM functionailty"? This sounds more like anormal message, rather than an error. This can be adressed in a later patch. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4d0d8f5f1e8cb252be55a2995b730927cfa7004d Gerrit-Change-Number: 17833 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-Comment-Date: Sun, 19 Apr 2020 08:25:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes 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 Apr 19 08:25:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 08:25:39 +0000 Subject: Change in pysim[master]: Populate AIDs present on the UICC In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17833 ) Change subject: Populate AIDs present on the UICC ...................................................................... Populate AIDs present on the UICC Change-Id: I4d0d8f5f1e8cb252be55a2995b730927cfa7004d --- M pySim-read.py M pysim-testdata/fakemagicsim.ok M pysim-testdata/sysmosim-gr1.ok 3 files changed, 7 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index 31a3374..4b3b1be 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -98,6 +98,9 @@ # Initialize Card object by auto detecting the card card = card_detect("auto", scc) or Card(scc) + # Read all AIDs on the UICC + card.read_aids() + # EF.ICCID (res, sw) = card.read_iccid() if sw == '9000': diff --git a/pysim-testdata/fakemagicsim.ok b/pysim-testdata/fakemagicsim.ok index fc5bcdf..944dbfc 100644 --- a/pysim-testdata/fakemagicsim.ok +++ b/pysim-testdata/fakemagicsim.ok @@ -1,6 +1,7 @@ -Using PC/SC reader (dev=2) interface +Using PC/SC reader (dev=5) interface Reading ... Autodetected card type: fakemagicsim +Can't read AIDs from SIM -- SW match failed! Expected 9000 and got 9404. ICCID: 1122334455667788990 IMSI: 001010000000102 GID1: Can't read file -- SW match failed! Expected 9000 and got 9404. diff --git a/pysim-testdata/sysmosim-gr1.ok b/pysim-testdata/sysmosim-gr1.ok index b231f00..39f5ff6 100644 --- a/pysim-testdata/sysmosim-gr1.ok +++ b/pysim-testdata/sysmosim-gr1.ok @@ -1,6 +1,7 @@ -Using PC/SC reader (dev=3) interface +Using PC/SC reader (dev=0) interface Reading ... Autodetected card type: sysmosim-gr1 +Can't read AIDs from SIM -- SW match failed! Expected 9000 and got 9404. ICCID: 1122334455667788990 IMSI: 001010000000102 GID1: Can't read file -- SW match failed! Expected 9000 and got 9404. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4d0d8f5f1e8cb252be55a2995b730927cfa7004d Gerrit-Change-Number: 17833 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Apr 19 08:25:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 08:25:40 +0000 Subject: Change in pysim[master]: cards.py: Added method to select ADF by its full AID In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17834 ) Change subject: cards.py: Added method to select ADF by its full AID ...................................................................... cards.py: Added method to select ADF by its full AID If AID of the desired ADF is in the list of AIDs of the Card/Card subclass object then ADF is selected or else None is returned Change-Id: Ie5f29eec14f099add1d0978e3e7d4ed3c9130854 --- M pySim-read.py M pySim/cards.py 2 files changed, 19 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index 4b3b1be..3e25c76 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -236,5 +236,6 @@ else: print("SIM Service Table: Can't read, response code = %s" % (sw,)) + # Done for this card and maybe for everything ? print("Done !\n") diff --git a/pySim/cards.py b/pySim/cards.py index a12b111..c0462fb 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -234,6 +234,24 @@ except Exception as e: print("Can't read AIDs from SIM -- %s" % (str(e),)) + # Select ADF.U/ISIM in the Card using its full AID + def select_adf_by_aid(self, adf="usim"): + # Check for valid ADF name + if adf not in ["usim", "isim"]: + return None + + # 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: + (res, sw) = self._scc.select_adf(aid) + return sw + + return None + class _MagicSimBase(Card): """ -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17834 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie5f29eec14f099add1d0978e3e7d4ed3c9130854 Gerrit-Change-Number: 17834 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth 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 Apr 19 08:26:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 08:26:51 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Fix build/run against linux < 4.11 (no sysctl addr_gen_mode ... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17861 ) Change subject: sgsnemu: Fix build/run against linux < 4.11 (no sysctl addr_gen_mode support) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17861 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I208970d5b16ea7148444d414b0a6f68c8d9a086c Gerrit-Change-Number: 17861 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 19 Apr 2020 08:26: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 Apr 19 08:27:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 08:27:01 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: tun_addaddr: Don't set local addr as dstaddr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17822 ) Change subject: sgsnemu: tun_addaddr: Don't set local addr as dstaddr ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iead7e9c7570ba6a9de3089a164997b1db81dc59a Gerrit-Change-Number: 17822 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 19 Apr 2020 08:27: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 Apr 19 08:27:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 08:27:12 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: tun_addaddr: Don't set local addr as dstaddr In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17822 ) Change subject: sgsnemu: tun_addaddr: Don't set local addr as dstaddr ...................................................................... sgsnemu: tun_addaddr: Don't set local addr as dstaddr That should be used for point-to-point destination address. Change-Id: Iead7e9c7570ba6a9de3089a164997b1db81dc59a --- M sgsnemu/sgsnemu.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 45f07f5..6b05ac5 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -1514,7 +1514,7 @@ if (addr[i].len == 16) prefixlen = 64; /* printf("Setting up interface and routing\n"); */ - tun_addaddr(tun, &addr[i], &addr[i], prefixlen); + tun_addaddr(tun, &addr[i], NULL, prefixlen); if (options.defaultroute) { struct in_addr rm; rm.s_addr = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iead7e9c7570ba6a9de3089a164997b1db81dc59a Gerrit-Change-Number: 17822 Gerrit-PatchSet: 1 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 Sun Apr 19 08:27:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 08:27:13 +0000 Subject: Change in osmo-ggsn[master]: icmpv6.c: Move code generating ipv6 hdr to its own function In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17823 ) Change subject: icmpv6.c: Move code generating ipv6 hdr to its own function ...................................................................... icmpv6.c: Move code generating ipv6 hdr to its own function It will be re-used in next commits. Change-Id: I3c108efad6461cd4e82ef435290005174bc8b30e --- M lib/icmpv6.c 1 file changed, 25 insertions(+), 16 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/lib/icmpv6.c b/lib/icmpv6.c index 804a212..ae72b4c 100644 --- a/lib/icmpv6.c +++ b/lib/icmpv6.c @@ -90,6 +90,30 @@ uint32_t res2; uint8_t prefix[16]; } __attribute__ ((packed)); +/* Prepends the ipv6 header and returns checksum content */ +static uint16_t icmpv6_prepend_ip6hdr(struct msgb *msg, const struct in6_addr *saddr, + const struct in6_addr *daddr) +{ + uint32_t len; + uint16_t skb_csum; + struct ip6_hdr *i6h; + + /* checksum */ + skb_csum = csum_partial(msgb_data(msg), msgb_length(msg), 0); + len = msgb_length(msg); + skb_csum = csum_ipv6_magic(saddr, daddr, len, IPPROTO_ICMPV6, skb_csum); + + /* Push IPv6 header in front of ICMPv6 packet */ + i6h = (struct ip6_hdr *) msgb_push(msg, sizeof(*i6h)); + /* 4 bits version, 8 bits TC, 20 bits flow-ID */ + i6h->ip6_ctlun.ip6_un1.ip6_un1_flow = htonl(0x60000000); + i6h->ip6_ctlun.ip6_un1.ip6_un1_plen = htons(len); + i6h->ip6_ctlun.ip6_un1.ip6_un1_nxt = IPPROTO_ICMPV6; + i6h->ip6_ctlun.ip6_un1.ip6_un1_hlim = 255; + i6h->ip6_src = *saddr; + i6h->ip6_dst = *daddr; + return skb_csum; +} /*! construct a 3GPP 29.061 compliant router advertisement for a given prefix @@ -104,9 +128,6 @@ struct msgb *msg = msgb_alloc_headroom(512,128, "IPv6 RA"); struct icmpv6_radv_hdr *ra; struct icmpv6_opt_prefix *ra_opt_pref; - struct ip6_hdr *i6h; - uint32_t len; - uint16_t skb_csum; OSMO_ASSERT(msg); @@ -144,19 +165,7 @@ memcpy(ra_opt_pref->prefix, prefix, sizeof(ra_opt_pref->prefix)); /* checksum */ - skb_csum = csum_partial(msgb_data(msg), msgb_length(msg), 0); - len = msgb_length(msg); - ra->hdr.csum = csum_ipv6_magic(saddr, daddr, len, IPPROTO_ICMPV6, skb_csum); - - /* Push IPv6 header in front of ICMPv6 packet */ - i6h = (struct ip6_hdr *) msgb_push(msg, sizeof(*i6h)); - /* 4 bits version, 8 bits TC, 20 bits flow-ID */ - i6h->ip6_ctlun.ip6_un1.ip6_un1_flow = htonl(0x60000000); - i6h->ip6_ctlun.ip6_un1.ip6_un1_plen = htons(len); - i6h->ip6_ctlun.ip6_un1.ip6_un1_nxt = IPPROTO_ICMPV6; - i6h->ip6_ctlun.ip6_un1.ip6_un1_hlim = 255; - i6h->ip6_src = *saddr; - i6h->ip6_dst = *daddr; + ra->hdr.csum = icmpv6_prepend_ip6hdr(msg, saddr, daddr); return msg; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I3c108efad6461cd4e82ef435290005174bc8b30e Gerrit-Change-Number: 17823 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 Sun Apr 19 08:27:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 08:27:14 +0000 Subject: Change in osmo-ggsn[master]: Rename netdev_*route to end in route4 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17824 ) Change subject: Rename netdev_*route to end in route4 ...................................................................... Rename netdev_*route to end in route4 Functions for IPv6 will be added soon afterwards. Also take the chance to check for address length in sgsnemu and only apply the route if the address matches. Change-Id: Ic6c1b3c11c56f047e6e8c6f1040257fd62afea0f --- M lib/netdev.c M lib/netdev.h M lib/tun.c M sgsnemu/sgsnemu.c 4 files changed, 19 insertions(+), 15 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/lib/netdev.c b/lib/netdev.c index 19c5c62..4d171c9 100644 --- a/lib/netdev.c +++ b/lib/netdev.c @@ -176,7 +176,7 @@ /* On linux the route to the interface is set automatically on FreeBSD we have to do this manually */ #if defined(__FreeBSD__) || defined (__APPLE__) - netdev_addroute(dstaddr, addr, &this->netmask); + netdev_addroute4(dstaddr, addr, &this->netmask); #endif return 0; @@ -553,7 +553,7 @@ return 0; } -static int netdev_route(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask, int delete) +static int netdev_route4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask, int delete) { int fd; #if defined(__linux__) @@ -643,14 +643,14 @@ return 0; } -int netdev_addroute(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask) +int netdev_addroute4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask) { - return netdev_route(dst, gateway, mask, 0); + return netdev_route4(dst, gateway, mask, 0); } -int netdev_delroute(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask) +int netdev_delroute4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask) { - return netdev_route(dst, gateway, mask, 1); + return netdev_route4(dst, gateway, mask, 1); } #include diff --git a/lib/netdev.h b/lib/netdev.h index 74c42da..5dab27f 100644 --- a/lib/netdev.h +++ b/lib/netdev.h @@ -65,8 +65,8 @@ extern int netdev_addaddr6(const char *devname, struct in6_addr *addr, struct in6_addr *dstaddr, int prefixlen); -extern int netdev_addroute(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask); -extern int netdev_delroute(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask); +extern int netdev_addroute4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask); +extern int netdev_delroute4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask); extern int netdev_ip_local_get(const char *devname, struct in46_prefix *prefix_list, size_t prefix_size, int flags); diff --git a/lib/tun.c b/lib/tun.c index 1aeed55..c771b92 100644 --- a/lib/tun.c +++ b/lib/tun.c @@ -276,7 +276,7 @@ { if (tun->routes) { - netdev_delroute(&tun->dstaddr.v4, &tun->addr.v4, &tun->netmask); + netdev_delroute4(&tun->dstaddr.v4, &tun->addr.v4, &tun->netmask); } if (tun->fd >= 0) { diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 6b05ac5..c28df52 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -1516,9 +1516,11 @@ /* printf("Setting up interface and routing\n"); */ tun_addaddr(tun, &addr[i], NULL, prefixlen); if (options.defaultroute) { - struct in_addr rm; - rm.s_addr = 0; - netdev_addroute(&rm, &addr[i].v4, &rm); + if (in46a_is_v4(&addr[i])) { + struct in_addr rm; + rm.s_addr = 0; + netdev_addroute4(&rm, &addr[i].v4, &rm); + } } if (options.ipup) tun_runscript(tun, options.ipup); @@ -1718,9 +1720,11 @@ if ((options.createif) && (options.netaddr.len)) { tun_addaddr(tun, &options.netaddr, NULL, options.prefixlen); if (options.defaultroute) { - struct in_addr rm; - rm.s_addr = 0; - netdev_addroute(&rm, &options.netaddr.v4, &rm); + if (in46a_is_v4(&options.netaddr)) { + struct in_addr rm; + rm.s_addr = 0; + netdev_addroute4(&rm, &options.netaddr.v4, &rm); + } } if (options.ipup) tun_runscript(tun, options.ipup); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ic6c1b3c11c56f047e6e8c6f1040257fd62afea0f Gerrit-Change-Number: 17824 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 Sun Apr 19 08:27:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 08:27:28 +0000 Subject: Change in libosmocore[master]: timerfd: call osmo_fd_unregister() when closing on read error In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17858 ) Change subject: timerfd: call osmo_fd_unregister() when closing on read error ...................................................................... timerfd: call osmo_fd_unregister() when closing on read error Change-Id: I8513126286083ebf02d14043cf072c8297878dd7 --- M src/select.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/select.c b/src/select.c index f0c814b..8e31205 100644 --- a/src/select.c +++ b/src/select.c @@ -382,6 +382,7 @@ rc = osmo_fd_register(ofd); if (rc < 0) { + osmo_fd_unregister(ofd); close(ofd->fd); ofd->fd = -1; return rc; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17858 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8513126286083ebf02d14043cf072c8297878dd7 Gerrit-Change-Number: 17858 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 gerrit-no-reply at lists.osmocom.org Sun Apr 19 08:27:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 08:27:58 +0000 Subject: Change in libosmo-netif[master]: debian/control: Drop incorrect libortp-dev dependency In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/17860 ) Change subject: debian/control: Drop incorrect libortp-dev dependency ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17860 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I7c67709139187b88a222e854a2e80b4038a6ac3f Gerrit-Change-Number: 17860 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 19 Apr 2020 08:27: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 Apr 19 08:28:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 08:28:01 +0000 Subject: Change in libosmo-netif[master]: debian/control: Drop incorrect libortp-dev dependency In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/17860 ) Change subject: debian/control: Drop incorrect libortp-dev dependency ...................................................................... debian/control: Drop incorrect libortp-dev dependency Previous commit wrongly added this dependency while fixing formatting. Fixes: c9a86ff30636c1c7cf2af2f246796e622ed01169 Change-Id: I7c67709139187b88a222e854a2e80b4038a6ac3f --- M debian/control 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/control b/debian/control index 6cec7e5..65c25d0 100644 --- a/debian/control +++ b/debian/control @@ -15,8 +15,7 @@ libosmo-abis-dev (>= 0.6.0), pkg-config, libpcap0.8-dev, - libsctp-dev, - libortp-dev + libsctp-dev Standards-Version: 3.9.6 Vcs-Browser: http://git.osmocom.org/libosmo-netif/ Vcs-Git: git://git.osmocom.org/libosmo-netif.git -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17860 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I7c67709139187b88a222e854a2e80b4038a6ac3f Gerrit-Change-Number: 17860 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 Sun Apr 19 08:29:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 08:29:26 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Fix build/run against linux < 4.11 (no sysctl addr_gen_mode ... In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2) to the change originally created by pespin. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17861 ) Change subject: sgsnemu: Fix build/run against linux < 4.11 (no sysctl addr_gen_mode support) ...................................................................... sgsnemu: Fix build/run against linux < 4.11 (no sysctl addr_gen_mode support) On older systems (like debian 8), the enum is not present in the header file and build will fail (as saw in osmocom's OBS instance). Furthermore, the sysctl to change the value was added at a later point in time, which means compiling can go fine but running may fail due to the sysctl not being available. This is a fix-up to Change-Id I1d51f3ca91edbb3b788939982ab63264182ec2ce Change-Id: I208970d5b16ea7148444d414b0a6f68c8d9a086c --- M configure.ac M sgsnemu/sgsnemu.c 2 files changed, 20 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/61/17861/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17861 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I208970d5b16ea7148444d414b0a6f68c8d9a086c Gerrit-Change-Number: 17861 Gerrit-PatchSet: 2 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 Sun Apr 19 08:32:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 08:32:13 +0000 Subject: Change in osmo-bts[master]: dtx: add detection of AMR DTX frames for osmo-bts-trx In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17221 ) Change subject: dtx: add detection of AMR DTX frames for osmo-bts-trx ...................................................................... Patch Set 3: retriggering the build; I would have expected @dexter to do this after the libosmocore change was merged. Just discovered this by accident now... -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5afe730fff2fa3199a5913b0de4f5c7b23a39f31 Gerrit-Change-Number: 17221 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 19 Apr 2020 08:32: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 Apr 19 09:20:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 09:20:10 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Fix build/run against linux < 4.11 (no sysctl addr_gen_mode ... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17861 ) Change subject: sgsnemu: Fix build/run against linux < 4.11 (no sysctl addr_gen_mode support) ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17861 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I208970d5b16ea7148444d414b0a6f68c8d9a086c Gerrit-Change-Number: 17861 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 19 Apr 2020 09:20: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 Apr 19 09:20:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 09:20:13 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Fix build/run against linux < 4.11 (no sysctl addr_gen_mode ... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17861 ) Change subject: sgsnemu: Fix build/run against linux < 4.11 (no sysctl addr_gen_mode support) ...................................................................... sgsnemu: Fix build/run against linux < 4.11 (no sysctl addr_gen_mode support) On older systems (like debian 8), the enum is not present in the header file and build will fail (as saw in osmocom's OBS instance). Furthermore, the sysctl to change the value was added at a later point in time, which means compiling can go fine but running may fail due to the sysctl not being available. This is a fix-up to Change-Id I1d51f3ca91edbb3b788939982ab63264182ec2ce Change-Id: I208970d5b16ea7148444d414b0a6f68c8d9a086c --- M configure.ac M sgsnemu/sgsnemu.c 2 files changed, 20 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index c695958..0e61729 100644 --- a/configure.ac +++ b/configure.ac @@ -131,6 +131,15 @@ AC_DEFINE([HAVE_IPHDR])], AC_MSG_RESULT(no)) +# Address generation modes (enum) implemented in linux 3.17 (bc91b0f07ada5535427373a4e2050877bcc12218) +# /proc/sys/net/ipv6/conf/${iface}/addr_gen_mode was added in linux 4.11 (d35a00b8e33dab7385f724e713ae71c8be0a49f4) +AC_MSG_CHECKING(whether enum in6_addr_gen_mode.IN6_ADDR_GEN_MODE_NONE exists) +AH_TEMPLATE(HAVE_IN6_ADDR_GEN_MODE_NONE) +AC_EGREP_HEADER(IN6_ADDR_GEN_MODE_NONE, linux/if_link.h, +[AC_MSG_RESULT(yes) + AC_DEFINE([HAVE_IN6_ADDR_GEN_MODE_NONE])], + AC_MSG_RESULT(no)) + # Checks for library functions. AC_PROG_GCC_TRADITIONAL # AC_FUNC_MALLOC diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index c28df52..ea52da6 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -15,6 +15,8 @@ * */ +#include "config.h" + #ifdef __linux__ #define _GNU_SOURCE 1 /* strdup() prototype, broken arpa/inet.h */ #endif @@ -47,10 +49,11 @@ #include #if defined(__linux__) +#if defined(HAVE_IN6_ADDR_GEN_MODE_NONE) #include +#endif // HAVE_IN6_ADDR_GEN_MODE_NONE #endif -#include "config.h" #include "../lib/tun.h" #include "../lib/ippool.h" #include "../lib/syserr.h" @@ -1702,13 +1705,16 @@ exit(1); } -#if defined(__linux__) - /* Avoid tunnel setting its own link-local addr automatically, we don't need it. */ +#if defined(__linux__) && defined(HAVE_IN6_ADDR_GEN_MODE_NONE) + /* Avoid tunnel setting its own link-local addr automatically, + we don't need it. Don't exit on error since this sysctl is + only available starting with linux 4.11. */ snprintf(buf, sizeof(buf), "%u", IN6_ADDR_GEN_MODE_NONE); if (proc_ipv6_conf_write(options.tun_dev_name, "addr_gen_mode", buf) < 0) { SYS_ERR(DSGSN, LOGL_ERROR, errno, - "Failed to disable addr_gen_mode on %s\n", options.tun_dev_name); - exit(1); + "Failed to disable addr_gen_mode on %s, an extra link-local " + "ip address will appear on the tun device.\n", + options.tun_dev_name); } #endif -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17861 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I208970d5b16ea7148444d414b0a6f68c8d9a086c Gerrit-Change-Number: 17861 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 admin at opensuse.org Sun Apr 19 09:41:00 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 19 Apr 2020 09:41:00 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5e9c1cc2d3fd0_2c8c2ae0c1c5a5f46267a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 801s] | configure:15049: result: no [ 801s] | configure:15306: checking whether to build with code coverage support [ 801s] | configure:15326: result: no [ 801s] | configure:15793: checking whether gcc has __builtin_cpu_supports built-in [ 801s] | configure:15814: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -mtls-dialect=gnu2 -DBUILDING_LIBOSMOCORE -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -DBUILDING_LIBOSMOCORE -Wall -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 801s] | conftest.c: In function 'main': [ 801s] | conftest.c:51:11: warning: implicit declaration of function '__builtin_cpu_supports' [-Wimplicit-function-declaration] [ 801s] | __builtin_cpu_supports("sse"); [ 801s] | ^~~~~~~~~~~~~~~~~~~~~~ [ 801s] | /tmp/ccIpugTv.o: In function `main': [ 801s] | ./conftest.c:51: undefined reference to `__builtin_cpu_supports' [ 801s] | collect2: error: ld returned 1 exit status [ 801s] | configure:15814: $? = 1 [ 801s] | configure: failed program was: [ 801s] | | /* confdefs.h */ [ 801s] | | #define PACKAGE_NAME "libosmocore" [ 801s] | | #define PACKAGE_TARNAME "libosmocore" [ 801s] | | #define PACKAGE_VERSION "1.3.0.68-a70ac8" [ 801s] | | #define PACKAGE_STRING "libosmocore 1.3.0.68-a70ac8" [ 801s] | | #define PACKAGE_BUGREPORT "openbsc at lists.osmocom.org" [ 801s] | | #define PACKAGE_URL "" [ 801s] | | #define PACKAGE "libosmocore" [ 801s] | | #define VERSION "1.3.0.68-a70ac8" [ 803s] | | #define STDC_HEAD[ 761.080582] sysrq: SysRq : Power Off [ 803s] [ 761.083141] reboot: Power down [ 803s] ### VM INTERACTION END ### [ 803s] [ 803s] armbuild01 failed "build libosmocore_1.3.0.68.a70ac8.dsc" at Sun Apr 19 09:40:58 UTC 2020. [ 803s] -- 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 Apr 19 12:09:01 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Sun, 19 Apr 2020 12:09:01 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: rafael2k has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 2: > Patch Set 2: > > I still lick information about which commit/version from nuran you are picking this code. Hi Pespin. There is no such commit/version. I'm just copying some code from osmocom's osmo-bts src/osmo-bts-oc2g/ directory and NuRAN's osmo-bts fork with latest lc15 features at: https://gitlab.com/nrw_noa/osmo-bts. I really would like to avoid trace back which commit did what in the abandoned NuRAN's branch. I agree code is not as good as we would like it to be, but I think better have in our repo with all the features in place, than not having. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: rafael2k Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 19 Apr 2020 12:09: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 Sun Apr 19 12:49:04 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 19 Apr 2020 12:49:04 +0000 Subject: Change in osmo-gsm-manuals[master]: GSUP: fix E-Routing-Error: both session state / ID IEs are optional References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17863 ) Change subject: GSUP: fix E-Routing-Error: both session state / ID IEs are optional ...................................................................... GSUP: fix E-Routing-Error: both session state / ID IEs are optional If a message that has triggered the E-Routing-Error contains no session related IEs, they will also be absent in the error message. Change-Id: Iaf9d8e77c8734672cfd8a265b8cfdb3bc929a31b --- M common/chapters/gsup.adoc 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/63/17863/1 diff --git a/common/chapters/gsup.adoc b/common/chapters/gsup.adoc index 511f2b3..6d07e6b 100644 --- a/common/chapters/gsup.adoc +++ b/common/chapters/gsup.adoc @@ -1025,8 +1025,8 @@ |0a|Message Class|<>|M|TLV|3 |60|Source Name|<>|M|TLV|2-... |61|Destination Name|<>|M|TLV|2-... -|30|Session ID|<>|M|TLV|6 -|31|Session State|<>|M|TLV|3 +|30|Session ID|<>|O|TLV|6 +|31|Session State|<>|O|TLV|3 |=== -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17863 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: Iaf9d8e77c8734672cfd8a265b8cfdb3bc929a31b Gerrit-Change-Number: 17863 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 Apr 19 12:54:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 19 Apr 2020 12:54:42 +0000 Subject: Change in ...osmo_gsup[master]: fix E-Routing-Error: both session state / ID IEs are optional References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/erlang/osmo_gsup/+/17864 ) Change subject: fix E-Routing-Error: both session state / ID IEs are optional ...................................................................... fix E-Routing-Error: both session state / ID IEs are optional If a message that has triggered the E-Routing-Error contains no session related IEs, they will also be absent in the error message. Change-Id: I0c0c84c9dbd2e53e7d1720868cc157f9e21749c2 --- M include/gsup_protocol.hrl 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/erlang/osmo_gsup refs/changes/64/17864/1 diff --git a/include/gsup_protocol.hrl b/include/gsup_protocol.hrl index dc49723..fa3f942 100644 --- a/include/gsup_protocol.hrl +++ b/include/gsup_protocol.hrl @@ -219,7 +219,7 @@ 16#44 => #{message_type => e_forward_access_signalling_req, mandatory => [message_class, source_name, destination_name, an_apdu, session_id, session_state]}, 16#47 => #{message_type => e_close, mandatory => [message_class, source_name, destination_name, session_id, session_state]}, 16#4b => #{message_type => e_abort, mandatory => [message_class, session_id, session_state, bssap_cause]}, - 16#4e => #{message_type => e_routing_err, mandatory => [message_class, source_name, destination_name, session_id, session_state]} + 16#4e => #{message_type => e_routing_err, mandatory => [message_class, source_name, destination_name]} }). -define(AUTH_TUPLE_MANDATORY, [rand, sres, kc]). -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo_gsup/+/17864 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo_gsup Gerrit-Branch: master Gerrit-Change-Id: I0c0c84c9dbd2e53e7d1720868cc157f9e21749c2 Gerrit-Change-Number: 17864 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 Apr 19 12:57:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 19 Apr 2020 12:57:52 +0000 Subject: Change in ...osmo_gsup[master]: fix E-Routing-Error: both session state / ID IEs are optional In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/erlang/osmo_gsup/+/17864 to look at the new patch set (#2). Change subject: fix E-Routing-Error: both session state / ID IEs are optional ...................................................................... fix E-Routing-Error: both session state / ID IEs are optional If a message that has triggered the E-Routing-Error contains no session related IEs, they will also be absent in the error message. Change-Id: I0c0c84c9dbd2e53e7d1720868cc157f9e21749c2 --- M include/gsup_protocol.hrl 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/erlang/osmo_gsup refs/changes/64/17864/2 -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo_gsup/+/17864 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo_gsup Gerrit-Branch: master Gerrit-Change-Id: I0c0c84c9dbd2e53e7d1720868cc157f9e21749c2 Gerrit-Change-Number: 17864 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 Apr 19 17:06:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 19 Apr 2020 17:06:32 +0000 Subject: Change in osmo-gsm-tester[master]: powersupply.py: Fix import module line typo References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17865 ) Change subject: powersupply.py: Fix import module line typo ...................................................................... powersupply.py: Fix import module line typo Recent commit changed the import line so it runs only when required, but added a typo making tests uing it fail. Change-Id: Id3e5c16adc763a9b79cc464937c541abd15f98de Fixes: 2b959580b9affe729e966c506656b7f47926c4bf --- M src/osmo_gsm_tester/obj/powersupply.py 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/65/17865/1 diff --git a/src/osmo_gsm_tester/obj/powersupply.py b/src/osmo_gsm_tester/obj/powersupply.py index d0d315c..bc7c0e3 100644 --- a/src/osmo_gsm_tester/obj/powersupply.py +++ b/src/osmo_gsm_tester/obj/powersupply.py @@ -53,10 +53,10 @@ def get_instance_by_type(pwsupply_type, pwsupply_opt): """Allocate a PowerSupply child class based on type. Opts are passed to the newly created object.""" if pwsupply_type == 'sispm': - from powersupply_sispm import PowerSupplySispm + from .powersupply_sispm import PowerSupplySispm obj = PowerSupplySispm elif pwsupply_type == 'intellinet': - from powersupply_intellinet import PowerSupplyIntellinet + from .powersupply_intellinet import PowerSupplyIntellinet obj = PowerSupplyIntellinet else: raise log.Error('PowerSupply type not supported:', pwsupply_type) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17865 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: Id3e5c16adc763a9b79cc464937c541abd15f98de Gerrit-Change-Number: 17865 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 Sun Apr 19 17:17:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 19 Apr 2020 17:17:35 +0000 Subject: Change in osmo-gsm-tester[master]: powersupply.py: Fix import module line typo In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17865 ) Change subject: powersupply.py: Fix import module line typo ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17865 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: Id3e5c16adc763a9b79cc464937c541abd15f98de Gerrit-Change-Number: 17865 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 19 Apr 2020 17: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 Sun Apr 19 17:17:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 19 Apr 2020 17:17:58 +0000 Subject: Change in osmo-gsm-tester[master]: powersupply.py: Fix import module line typo In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17865 ) Change subject: powersupply.py: Fix import module line typo ...................................................................... powersupply.py: Fix import module line typo Recent commit changed the import line so it runs only when required, but added a typo making tests uing it fail. Change-Id: Id3e5c16adc763a9b79cc464937c541abd15f98de Fixes: 2b959580b9affe729e966c506656b7f47926c4bf --- M src/osmo_gsm_tester/obj/powersupply.py 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/powersupply.py b/src/osmo_gsm_tester/obj/powersupply.py index d0d315c..bc7c0e3 100644 --- a/src/osmo_gsm_tester/obj/powersupply.py +++ b/src/osmo_gsm_tester/obj/powersupply.py @@ -53,10 +53,10 @@ def get_instance_by_type(pwsupply_type, pwsupply_opt): """Allocate a PowerSupply child class based on type. Opts are passed to the newly created object.""" if pwsupply_type == 'sispm': - from powersupply_sispm import PowerSupplySispm + from .powersupply_sispm import PowerSupplySispm obj = PowerSupplySispm elif pwsupply_type == 'intellinet': - from powersupply_intellinet import PowerSupplyIntellinet + from .powersupply_intellinet import PowerSupplyIntellinet obj = PowerSupplyIntellinet else: raise log.Error('PowerSupply type not supported:', pwsupply_type) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17865 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: Id3e5c16adc763a9b79cc464937c541abd15f98de Gerrit-Change-Number: 17865 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Sun Apr 19 17:20:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 17:20:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Add GTPv2_CodecPort References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17866 ) Change subject: Add GTPv2_CodecPort ...................................................................... Add GTPv2_CodecPort Change-Id: Idb9f492863d31e9decffeb0d71215fe581fdd4bb --- M library/GTPv2_CodecPort.ttcn A library/GTPv2_CodecPort_CtrlFunct.ttcn A library/GTPv2_CodecPort_CtrlFunctDef.cc 3 files changed, 100 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/17866/1 diff --git a/library/GTPv2_CodecPort.ttcn b/library/GTPv2_CodecPort.ttcn index 1f08f19..e9cf57e 100644 --- a/library/GTPv2_CodecPort.ttcn +++ b/library/GTPv2_CodecPort.ttcn @@ -12,13 +12,13 @@ module GTPv2_CodecPort { import from IPL4asp_PortType all; import from IPL4asp_Types all; - import from GTPv2C_Types all; + import from GTPv2_Types all; /* identifies a remote peer (sender or receiver) */ type record GtpPeer { ConnectionId connId, HostName remName, - PortNumber remPort + IPL4asp_Types.PortNumber remPort } /* Decoded GTP2C (Control Plane), used in send and receive direction */ diff --git a/library/GTPv2_CodecPort_CtrlFunct.ttcn b/library/GTPv2_CodecPort_CtrlFunct.ttcn new file mode 100644 index 0000000..d68ea51 --- /dev/null +++ b/library/GTPv2_CodecPort_CtrlFunct.ttcn @@ -0,0 +1,43 @@ +module GTPv2_CodecPort_CtrlFunct { + + import from GTPv2_CodecPort all; + import from IPL4asp_Types all; + + external function f_IPL4_listen( + inout GTPv2C_PT portRef, + in HostName locName, + in PortNumber locPort, + in ProtoTuple proto, + in OptionList options := {} + ) return Result; + + external function f_IPL4_connect( + inout GTPv2C_PT portRef, + in HostName remName, + in PortNumber remPort, + in HostName locName, + in PortNumber locPort, + in ConnectionId connId, + in ProtoTuple proto, + in OptionList options := {} + ) return Result; + + external function f_IPL4_close( + inout GTPv2C_PT portRef, + in ConnectionId id, + in ProtoTuple proto := { unspecified := {} } + ) return Result; + + external function f_IPL4_setUserData( + inout GTPv2C_PT portRef, + in ConnectionId id, + in UserData userData + ) return Result; + + external function f_IPL4_getUserData( + inout GTPv2C_PT portRef, + in ConnectionId id, + out UserData userData + ) return Result; + +} diff --git a/library/GTPv2_CodecPort_CtrlFunctDef.cc b/library/GTPv2_CodecPort_CtrlFunctDef.cc new file mode 100644 index 0000000..6a68cae --- /dev/null +++ b/library/GTPv2_CodecPort_CtrlFunctDef.cc @@ -0,0 +1,55 @@ +#include "IPL4asp_PortType.hh" +#include "IPL4asp_PT.hh" +#include "GTPv2_CodecPort.hh" + +namespace GTPv2__CodecPort__CtrlFunct { + + IPL4asp__Types::Result f__IPL4__listen( + GTPv2__CodecPort::GTPv2C__PT& portRef, + const IPL4asp__Types::HostName& locName, + const IPL4asp__Types::PortNumber& locPort, + const IPL4asp__Types::ProtoTuple& proto, + const IPL4asp__Types::OptionList& options) + { + return f__IPL4__PROVIDER__listen(portRef, locName, locPort, proto, options); + } + + IPL4asp__Types::Result f__IPL4__connect( + GTPv2__CodecPort::GTPv2C__PT& portRef, + const IPL4asp__Types::HostName& remName, + const IPL4asp__Types::PortNumber& remPort, + const IPL4asp__Types::HostName& locName, + const IPL4asp__Types::PortNumber& locPort, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::ProtoTuple& proto, + const IPL4asp__Types::OptionList& options) + { + return f__IPL4__PROVIDER__connect(portRef, remName, remPort, + locName, locPort, connId, proto, options); + } + + IPL4asp__Types::Result f__IPL4__close( + GTPv2__CodecPort::GTPv2C__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::ProtoTuple& proto) + { + return f__IPL4__PROVIDER__close(portRef, connId, proto); + } + + IPL4asp__Types::Result f__IPL4__setUserData( + GTPv2__CodecPort::GTPv2C__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::UserData& userData) + { + return f__IPL4__PROVIDER__setUserData(portRef, connId, userData); + } + + IPL4asp__Types::Result f__IPL4__getUserData( + GTPv2__CodecPort::GTPv2C__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + IPL4asp__Types::UserData& userData) + { + return f__IPL4__PROVIDER__getUserData(portRef, connId, userData); + } + +} -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17866 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: Idb9f492863d31e9decffeb0d71215fe581fdd4bb Gerrit-Change-Number: 17866 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 Apr 19 17:20:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 17:20:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Add GTPv2_Emulation component References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867 ) Change subject: Add GTPv2_Emulation component ...................................................................... Add GTPv2_Emulation component Change-Id: If73aa453e44ebf28032c60d207feb03e8061dc0c --- M deps/Makefile A library/GTPv2_Emulation.ttcn M library/GTPv2_Templates.ttcn M library/General_Types.ttcn M library/Osmocom_Types.ttcn 5 files changed, 1,197 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/17867/1 diff --git a/deps/Makefile b/deps/Makefile index 65958ae..977beba 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -59,7 +59,7 @@ 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.ProtocolModules.SNDCP_v7.0.0 OSMOGITHUB_REPOS= titan.TestPorts.SCTPasp \ titan.TestPorts.MTP3asp \ @@ -69,7 +69,8 @@ OSMOGIT_REPOS= titan.ProtocolModules.MAP \ titan.ProtocolModules.BSSMAP \ - titan.TestPorts.USB + titan.TestPorts.USB \ + osmo-uecups ALL_REPOS=$(ECLIPSEGITHUB_REPOS) $(ECLIPSEGIT2_REPOS) $(OSMOGITHUB_REPOS) $(OSMOGIT_REPOS) @@ -125,6 +126,7 @@ titan.TestPorts.UDPasp_commit= c20d77a34f288dd70dd4aaa30e520778876e9336 titan.TestPorts.UNIX_DOMAIN_SOCKETasp_commit= R.2.A-8-g7ec4fe0 titan.TestPorts.USB_commit= master +osmo-uecups_commit= master all: $(foreach dir,$(ALL_REPOS),$(dir)/update) clean: $(foreach dir,$(ALL_REPOS),$(dir)/clean) diff --git a/library/GTPv2_Emulation.ttcn b/library/GTPv2_Emulation.ttcn new file mode 100644 index 0000000..4930d52 --- /dev/null +++ b/library/GTPv2_Emulation.ttcn @@ -0,0 +1,531 @@ +/* GTPv2 Emulation in TTCN-3 + * + * (C) 2018-2020 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 + */ + +module GTPv2_Emulation { + +import from IPL4asp_Types all; +import from General_Types all; +import from Osmocom_Types all; +import from GTPv2_Types all; +import from GTPv2_CodecPort all; +import from GTPv2_CodecPort_CtrlFunct all; + +import from UECUPS_Types all; +import from UECUPS_CodecPort all; +import from UECUPS_CodecPort_CtrlFunct all; + +/*********************************************************************** + * Main Emulation Component + ***********************************************************************/ + +modulepar { + charstring mp_uecups_host := "127.0.0.1"; + integer mp_uecups_port := UECUPS_SCTP_PORT; +}; + +const integer GTP2C_PORT := 2123; +const integer GTP1U_PORT := 2152; + +type record Gtp2EmulationCfg { + HostName gtpc_bind_ip, + IPL4asp_Types.PortNumber gtpc_bind_port, + HostName gtpc_remote_ip, + IPL4asp_Types.PortNumber gtpc_remote_port, + //HostName gtpu_bind_ip, + //PortNumber gtpu_bind_port, + boolean sgw_role, + boolean use_gtpu_daemon +}; + +type component GTPv2_Emulation_CT { + /* Communication with underlying GTP CodecPort */ + port GTPv2C_PT GTP2C; + + /* Control port to GTP-U Daemon */ + port UECUPS_CODEC_PT UECUPS; + + /* Communication with Clients */ + port GTP2EM_PT TEID0; + port GTP2EM_PT CLIENT; + port GTP2EM_PROC_PT CLIENT_PROC; + + /* Configuration by the user */ + var Gtp2EmulationCfg g_gtp2_cfg; + + /* State */ + var GtpPeer g_peer; + var integer g_gtp2c_id; + var OCT1 g_restart_ctr; + var uint16_t g_c_seq_nr; + var TidTableRec TidTable[256]; + var ImsiTableRec ImsiTable[256]; + var PidTableRec PidTable[256]; + var integer g_uecups_conn_id; +}; + +type record TidTableRec { + OCT4 teid, + GTP2_ConnHdlr vc_conn +}; + +type record ImsiTableRec { + hexstring imsi, + GTP2_ConnHdlr vc_conn +}; + +type record PidTableRec { + /* process ID of the running process */ + integer pid, + /* component that started it */ + GTP2_ConnHdlr vc_conn +}; + +private function f_comp_by_teid(OCT4 teid) runs on GTPv2_Emulation_CT return GTP2_ConnHdlr { + var integer i; + for (i := 0; i < sizeof(TidTable); i := i+1) { + if (isbound(TidTable[i].teid) and TidTable[i].teid == teid) { + return TidTable[i].vc_conn; + } + } + setverdict(fail, "No Component for TEID ", teid); + mtc.stop; +} + +private function f_comp_by_imsi(hexstring imsi) runs on GTPv2_Emulation_CT return GTP2_ConnHdlr { + var integer i; + for (i := 0; i < sizeof(ImsiTable); i := i+1) { + if (isbound(ImsiTable[i].imsi) and ImsiTable[i].imsi == imsi) { + return ImsiTable[i].vc_conn; + } + } + setverdict(fail, "No Component for IMSI ", imsi); + mtc.stop; +} + +private function f_comp_by_pid(integer pid) runs on GTPv2_Emulation_CT return GTP2_ConnHdlr { + var integer i; + for (i := 0; i < sizeof(PidTable); i := i+1) { + if (isbound(PidTable[i].pid) and PidTable[i].pid == pid) { + /* fixme: remove */ + return PidTable[i].vc_conn; + } + } + setverdict(fail, "No Component for PID ", pid); + mtc.stop; +} + +private function f_tid_tbl_add(OCT4 teid, GTP2_ConnHdlr vc_conn) runs on GTPv2_Emulation_CT { + var integer i; + for (i := 0; i < sizeof(TidTable); i := i+1) { + if (not isbound(TidTable[i].teid)) { + TidTable[i].teid := teid; + TidTable[i].vc_conn := vc_conn; + return; + } + } + testcase.stop("No Space in TidTable for ", teid); +} + +private function f_imsi_tbl_add(hexstring imsi, GTP2_ConnHdlr vc_conn) runs on GTPv2_Emulation_CT { + var integer i; + for (i := 0; i < sizeof(ImsiTable); i := i+1) { + if (not isbound(ImsiTable[i].imsi)) { + ImsiTable[i].imsi := imsi; + ImsiTable[i].vc_conn := vc_conn; + return; + } + } + testcase.stop("No Space in IMSI Table for ", imsi); +} + +private function f_pid_tbl_add(integer pid, GTP2_ConnHdlr vc_conn) runs on GTPv2_Emulation_CT { + var integer i; + for (i := 0; i < sizeof(PidTable); i := i+1) { + if (not isbound(PidTable[i].pid)) { + PidTable[i].pid := pid; + PidTable[i].vc_conn := vc_conn; + return; + } + } + testcase.stop("No Space in PID Table for ", pid); +} + + +/* allocate an unused local teid */ +private function f_alloc_teid() runs on GTPv2_Emulation_CT return OCT4 { + var OCT4 teid; + var integer i, j; + for (i := 0; i < 100; i := i+1) { + teid := f_rnd_octstring(4); + for (j := 0; j < sizeof(TidTable); j := j+1) { + if (isbound(TidTable) and TidTable[i].teid == teid) { + continue; + } + } + /* we iterated over all entries and found no match: great! */ + return teid; + } + testcase.stop("Cannot find unused TEID after ", i, " attempts"); +} + +/* obtain the IMSI from a GTPv2C PDU, if there is any IMSI contained. The way how the TITAN + * GTPv2 decoders are structured (explict IE members rather than a list/set of generic IE structures) + * doesn't make this easy, but requires lots of boilerplate code. Oh well.. */ +function f_gtp2c_extract_imsi(PDU_GTPCv2 gtp) return template (omit) hexstring { + if (ischosen(gtp.gtpcv2_pdu.createSessionRequest)) { + if (ispresent(gtp.gtpcv2_pdu.createSessionRequest.iMSI)) { + return gtp.gtpcv2_pdu.createSessionRequest.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.downlinkDataNotification)) { + if (ispresent(gtp.gtpcv2_pdu.downlinkDataNotification.iMSI)) { + return gtp.gtpcv2_pdu.downlinkDataNotification.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.downlinkDataNotificationAcknowledgement)) { + if (ispresent(gtp.gtpcv2_pdu.downlinkDataNotificationAcknowledgement.iMSI)) { + return gtp.gtpcv2_pdu.downlinkDataNotificationAcknowledgement.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.downlinkDataNotificationFailureIndication)) { + if (ispresent(gtp.gtpcv2_pdu.downlinkDataNotificationFailureIndication.iMSI)) { + return gtp.gtpcv2_pdu.downlinkDataNotificationFailureIndication.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.createIndirectDataForwardingTunnelRequest)) { + if (ispresent(gtp.gtpcv2_pdu.createIndirectDataForwardingTunnelRequest.iMSI)) { + return gtp.gtpcv2_pdu.createIndirectDataForwardingTunnelRequest.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.stopPagingIndication)) { + if (ispresent(gtp.gtpcv2_pdu.stopPagingIndication.iMSI)) { + return gtp.gtpcv2_pdu.stopPagingIndication.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.forwardRelocationRequest)) { + if (ispresent(gtp.gtpcv2_pdu.forwardRelocationRequest.iMSI)) { + return gtp.gtpcv2_pdu.forwardRelocationRequest.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.contextRequest)) { + if (ispresent(gtp.gtpcv2_pdu.contextRequest.iMSI)) { + return gtp.gtpcv2_pdu.contextRequest.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.identificationResponse)) { + if (ispresent(gtp.gtpcv2_pdu.identificationResponse.iMSI)) { + return gtp.gtpcv2_pdu.identificationResponse.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.changeNotificationRequest)) { + if (ispresent(gtp.gtpcv2_pdu.changeNotificationRequest)) { + return gtp.gtpcv2_pdu.changeNotificationRequest.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.changeNotificationResponse)) { + if (ispresent(gtp.gtpcv2_pdu.changeNotificationResponse.iMSI)) { + return gtp.gtpcv2_pdu.changeNotificationResponse.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.relocationCancelRequest)) { + if (ispresent(gtp.gtpcv2_pdu.relocationCancelRequest.iMSI)) { + return gtp.gtpcv2_pdu.relocationCancelRequest.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.uE_RegistrationQueryRequest)) { + if (ispresent(gtp.gtpcv2_pdu.uE_RegistrationQueryRequest.iMSI)) { + return gtp.gtpcv2_pdu.uE_RegistrationQueryRequest.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.uE_RegistrationQueryResponse)) { + if (ispresent(gtp.gtpcv2_pdu.uE_RegistrationQueryResponse.iMSI)) { + return gtp.gtpcv2_pdu.uE_RegistrationQueryResponse.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.suspendNotification)) { + if (ispresent(gtp.gtpcv2_pdu.suspendNotification.iMSI)) { + return gtp.gtpcv2_pdu.suspendNotification.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.resumeNotification)) { + if (ispresent(gtp.gtpcv2_pdu.resumeNotification.iMSI)) { + return gtp.gtpcv2_pdu.resumeNotification.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.cSPagingIndication)) { + if (ispresent(gtp.gtpcv2_pdu.cSPagingIndication.iMSI)) { + return gtp.gtpcv2_pdu.cSPagingIndication.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.pGW_DownlinkTriggeringNotification)) { + if (ispresent(gtp.gtpcv2_pdu.pGW_DownlinkTriggeringNotification.iMSI)) { + return gtp.gtpcv2_pdu.pGW_DownlinkTriggeringNotification.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.pGW_DownlinkTriggeringAcknowledge)) { + if (ispresent(gtp.gtpcv2_pdu.pGW_DownlinkTriggeringAcknowledge.iMSI)) { + return gtp.gtpcv2_pdu.pGW_DownlinkTriggeringAcknowledge.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.traceSessionActivation)) { + if (ispresent(gtp.gtpcv2_pdu.traceSessionActivation.iMSI)) { + return gtp.gtpcv2_pdu.traceSessionActivation.iMSI.iMSI_Value; + } + } + return omit; +} + +private template (value) SctpTuple ts_SCTP(template (omit) integer ppid := omit) := { + sinfo_stream := omit, + sinfo_ppid := ppid, + remSocks := omit, + assocId := omit +}; + +function tr_UECUPS_RecvFrom_R(template PDU_UECUPS msg) +runs on GTPv2_Emulation_CT return template UECUPS_RecvFrom { + var template UECUPS_RecvFrom mrf := { + connId := g_uecups_conn_id, + remName := ?, + remPort := ?, + locName := ?, + locPort := ?, + msg := msg + } + return mrf; +} + + +private template PortEvent tr_SctpAssocChange := { + sctpEvent := { + sctpAssocChange := ? + } +} +private template PortEvent tr_SctpPeerAddrChange := { + sctpEvent := { + sctpPeerAddrChange := ? + } +} + +private function f_uecups_xceive(template (value) PDU_UECUPS tx, + template PDU_UECUPS rx_t := ?) +runs on GTPv2_Emulation_CT return PDU_UECUPS { + timer T := 10.0; + var UECUPS_RecvFrom mrf; + + UECUPS.send(t_UECUPS_Send(g_uecups_conn_id, tx)); + alt { + [] UECUPS.receive(tr_UECUPS_RecvFrom_R(rx_t)) -> value mrf { } + [] UECUPS.receive(tr_SctpAssocChange) { repeat; } + [] UECUPS.receive(tr_SctpPeerAddrChange) { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for ", rx_t); + mtc.stop; + } + } + return mrf.msg; +} + +private function f_init(Gtp2EmulationCfg cfg) runs on GTPv2_Emulation_CT { + var Result res; + + map(self:GTP2C, system:GTP2C); + res := GTPv2_CodecPort_CtrlFunct.f_IPL4_listen(GTP2C, cfg.gtpc_bind_ip, + cfg.gtpc_bind_port, {udp:={}}); + g_gtp2c_id := res.connId; + + g_restart_ctr := f_rnd_octstring(1); + g_c_seq_nr := f_rnd_int(65535); + g_gtp2_cfg := cfg; + g_peer := { + connId := g_gtp2c_id, + remName := g_gtp2_cfg.gtpc_remote_ip, + remPort := g_gtp2_cfg.gtpc_remote_port + } + + if (g_gtp2_cfg.use_gtpu_daemon) { + map(self:UECUPS, system:UECUPS); + res := UECUPS_CodecPort_CtrlFunct.f_IPL4_connect(UECUPS, mp_uecups_host, mp_uecups_port, "", -1, -1, { sctp := valueof(ts_SCTP) }); + if (not ispresent(res.connId)) { + setverdict(fail, "Could not connect UECUPS socket, check your configuration"); + testcase.stop; + } + g_uecups_conn_id := res.connId; + + /* clear all tunnel state in the daemon at start */ + f_uecups_xceive({reset_all_state := {}}, {reset_all_state_res:=?}); + } + + /* make sure we always pass incoming UECUPS indications whenever receiving fom the UECUPS port */ + activate(as_uecups_ind()); +} + +private altstep as_uecups_ind() runs on GTPv2_Emulation_CT { +var UECUPS_RecvFrom rx; +var GTP2_ConnHdlr vc_conn; +/* handle incoming program_term_ind; dispatch to whatever component started the process */ +[] UECUPS.receive(tr_UECUPS_RecvFrom_R({program_term_ind:=?})) -> value rx { + vc_conn := f_comp_by_pid(rx.msg.program_term_ind.pid); + CLIENT.send(rx.msg.program_term_ind) to vc_conn; + /* FIXME: remove from table */ + repeat; + } +} + +function main(Gtp2EmulationCfg cfg) runs on GTPv2_Emulation_CT { + var Gtp2cUnitdata g2c_ud; + var PDU_GTPCv2 g2c; + var GTP2_ConnHdlr vc_conn; + var hexstring imsi; + var OCT4 teid; + var PDU_UECUPS rx_uecups; + var UECUPS_CreateTun gtc; + var UECUPS_DestroyTun gtd; + var UECUPS_StartProgram sprog; + + f_init(cfg); + + while (true) { + alt { + /* route inbound GTP2-C based on IMSI or TEID */ + [] GTP2C.receive(Gtp2cUnitdata:?) -> value g2c_ud { + var template hexstring imsi_t := f_gtp2c_extract_imsi(g2c_ud.gtpc); + if (not ispresent(g2c_ud.gtpc.tEID) or g2c_ud.gtpc.tEID == int2oct(0, 4)) { + TEID0.send(g2c_ud.gtpc) to vc_conn; + } else if (ispresent(g2c_ud.gtpc.tEID) and g2c_ud.gtpc.tEID != int2oct(0, 4)) { + vc_conn := f_comp_by_teid(g2c_ud.gtpc.tEID); + CLIENT.send(g2c_ud.gtpc) to vc_conn; + } else if (isvalue(imsi_t)) { + vc_conn := f_comp_by_imsi(valueof(imsi_t)); + CLIENT.send(g2c_ud.gtpc) 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(g2c_ud.gtpc) to TidTable[i].vc_conn; + } + } + } + } + + [] TEID0.receive(PDU_GTPCv2:?) -> value g2c sender vc_conn { + /* patch in the next sequence number */ + /* FIXME: do this only for outbound requests */ + g2c.sequenceNumber := int2oct(g_c_seq_nr, 3); + g_c_seq_nr := g_c_seq_nr + 1; + /* build Gtp2cUnitdata */ + g2c_ud := { peer := g_peer, gtpc := g2c }; + GTP2C.send(g2c_ud); + } + + [] CLIENT.receive(PDU_GTPCv2:?) -> value g2c sender vc_conn { + /* patch in the next sequence number */ + /* FIXME: do this only for outbound requests */ + g2c.sequenceNumber := int2oct(g_c_seq_nr, 3); + g_c_seq_nr := g_c_seq_nr + 1; + /* build Gtp2cUnitdata */ + g2c_ud := { peer := g_peer, gtpc := g2c }; + GTP2C.send(g2c_ud); + } + + [] CLIENT_PROC.getcall(GTP2EM_register_imsi:{?}) -> param(imsi) sender vc_conn { + f_imsi_tbl_add(imsi, vc_conn); + CLIENT_PROC.reply(GTP2EM_register_imsi:{imsi}) to vc_conn; + } + + [] CLIENT_PROC.getcall(GTP2EM_register_teid:{?}) -> param(teid) sender vc_conn { + f_tid_tbl_add(teid, vc_conn); + CLIENT_PROC.reply(GTP2EM_register_teid:{teid}) to vc_conn; + } + [] CLIENT_PROC.getcall(GTP2EM_allocate_teid:{}) -> sender vc_conn { + var OCT4 t := f_alloc_teid(); + f_tid_tbl_add(t, vc_conn); + CLIENT_PROC.reply(GTP2EM_allocate_teid:{} value t) to vc_conn; + } + [] CLIENT_PROC.getcall(GTP2EM_create_tunnel:{?}) -> param(gtc) sender vc_conn { + rx_uecups := f_uecups_xceive({create_tun := gtc}, {create_tun_res:={result:=OK}}); + CLIENT_PROC.reply(GTP2EM_create_tunnel:{gtc}); + } + [] CLIENT_PROC.getcall(GTP2EM_destroy_tunnel:{?}) -> param(gtd) sender vc_conn { + rx_uecups := f_uecups_xceive({destroy_tun := gtd}, {destroy_tun_res:={result:=OK}}); + CLIENT_PROC.reply(GTP2EM_destroy_tunnel:{gtd}); + } + [] CLIENT_PROC.getcall(GTP2EM_start_program:{?}) -> param(sprog) sender vc_conn { + rx_uecups := f_uecups_xceive({start_program := sprog}, {start_program_res:=?}); + /* if successful: store (pid, vc_conn) tuple so we can route program_term_ind */ + if (rx_uecups.start_program_res.result == OK) { + f_pid_tbl_add(rx_uecups.start_program_res.pid, vc_conn); + } + CLIENT_PROC.reply(GTP2EM_start_program:{sprog} value rx_uecups.start_program_res); + } + + } + } +} + + +/*********************************************************************** + * Interaction between Main and Client Components + ***********************************************************************/ +type port GTP2EM_PT message { + inout PDU_GTPCv2, UECUPS_ProgramTermInd; +} with { extension "internal" }; + +signature GTP2EM_register_imsi(hexstring imsi); +signature GTP2EM_register_teid(OCT4 teid); +signature GTP2EM_allocate_teid() return OCT4; +signature GTP2EM_create_tunnel(UECUPS_CreateTun gtc); +signature GTP2EM_destroy_tunnel(UECUPS_DestroyTun gtd); +signature GTP2EM_start_program(UECUPS_StartProgram sprog) return UECUPS_StartProgramRes; + +type port GTP2EM_PROC_PT procedure { + inout GTP2EM_register_imsi, GTP2EM_register_teid, GTP2EM_allocate_teid, + GTP2EM_create_tunnel, GTP2EM_destroy_tunnel, GTP2EM_start_program; +} with { extension "internal" }; + +/*********************************************************************** + * Client Component + ***********************************************************************/ + +type component GTP2_ConnHdlr { + port GTP2EM_PT GTP2; + port GTP2EM_PROC_PT GTP2_PROC; +}; + +function f_gtp2_register_imsi(hexstring imsi) runs on GTP2_ConnHdlr { + GTP2_PROC.call(GTP2EM_register_imsi:{imsi}) { + [] GTP2_PROC.getreply(GTP2EM_register_imsi:{imsi}); + } +} + +function f_gtp2_register_teid(OCT4 teid) runs on GTP2_ConnHdlr { + GTP2_PROC.call(GTP2EM_register_teid:{teid}) { + [] GTP2_PROC.getreply(GTP2EM_register_teid:{teid}); + } +} + +function f_gtp2_allocate_teid() runs on GTP2_ConnHdlr return OCT4 { + var OCT4 t; + GTP2_PROC.call(GTP2EM_allocate_teid:{}) { + [] GTP2_PROC.getreply(GTP2EM_allocate_teid:{}) -> value t { + return t; + } + } +} + +function f_gtp2_create_tunnel(template (value) UECUPS_CreateTun gtc) +runs on GTP2_ConnHdlr { + GTP2_PROC.call(GTP2EM_create_tunnel:{valueof(gtc)}) { + [] GTP2_PROC.getreply(GTP2EM_create_tunnel:{gtc}); + } +} + +function f_gtp2_destroy_tunnel(template (value) UECUPS_DestroyTun gtd) +runs on GTP2_ConnHdlr { + GTP2_PROC.call(GTP2EM_destroy_tunnel:{valueof(gtd)}) { + [] GTP2_PROC.getreply(GTP2EM_destroy_tunnel:{gtd}); + } +} + +function f_gtp2_start_program(template (value) UECUPS_StartProgram sprog) +runs on GTP2_ConnHdlr return UECUPS_StartProgramRes { + var UECUPS_StartProgramRes res; + GTP2_PROC.call(GTP2EM_start_program:{valueof(sprog)}) { + [] GTP2_PROC.getreply(GTP2EM_start_program:{sprog}) -> value res; + } + return res; +} + + + +} diff --git a/library/GTPv2_Templates.ttcn b/library/GTPv2_Templates.ttcn index 23b0053..af3b84b 100644 --- a/library/GTPv2_Templates.ttcn +++ b/library/GTPv2_Templates.ttcn @@ -30,6 +30,7 @@ } template (present) PDU_GTPCv2 tr_PDU_GTP2C(template OCT4 teid := ?, + template (present) OCT3 seq := ?, template (present) GTPCv2_PDUs pdus := ?, template PDU_GTPCv2 piggyback := omit) := { spare := '000'B, @@ -39,7 +40,7 @@ messageType := ?, lengthf := ?, tEID := teid, - sequenceNumber := ?, + sequenceNumber := seq, spare3 := '00'O, gtpcv2_pdu := pdus, piggybackPDU_GTPCv2 := piggyback @@ -62,6 +63,23 @@ iMSI_Value := imsi } +template (present) MSISDN ts_GTP2C_msisdn(template (present) hexstring msisdn) := { + elementIdentifier := '4C'O, + lengthIndicator := 0, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + mSISDN_Value := msisdn +} +private function fs_GTP2C_msisdn(template (omit) hexstring msisdn) return +template (omit) MSISDN { + if (istemplatekind(msisdn, "omit")) { + return omit; + } else { + return ts_GTP2C_msisdn(msisdn); + } +} + + /* 8.4-1 */ /* type enumerated GTP2C_Cause { @@ -109,6 +127,25 @@ instanceOfOffendingIE := *, spare3 := * } +private function fs_GTP2C_Cause(template (omit) OCT1 cause, template (value) BIT1 cs) return +template (omit) Cause { + if (istemplatekind(cause, "omit")) { + return omit; + } else { + return ts_GTP2C_Cause(cause, cs); + } +} +private function fr_GTP2C_Cause(template OCT1 cause) return +template Cause { + if (istemplatekind(cause, "omit")) { + return omit; + } else if (istemplatekind(cause, "*")) { + return *; + } else { + return tr_GTP2C_Cause(cause); + } +} + /* 8.5 */ template (value) AccessPointName ts_GTP2C_APN(template (value) octetstring apn) := { @@ -126,6 +163,41 @@ aPN_Value := apn } +/* 8.7 */ +template (value) AggregateMaximumBitRate +ts_GTP2C_Ambr(integer ambr_ul, integer ambr_dl) := { + elementIdentifier := '48'O, + lengthIndicator := 0, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + aPN_AMBR_for_uplink := int2oct(ambr_ul, 4), + aPN_AMBR_for_downlink := int2oct(ambr_dl, 4) +} + +/* 8.8 */ +template (value) EPS_BearerID +ts_GTP2C_EpsBearerId(template (value) uint4_t bid) := { + elementIdentifier := '49'O, + lengthIndicator := 0, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + ePS_Bearer_ID_Value := bid, + spare2 := '0000'B, + additionalOctets := omit +} +template (present) EPS_BearerID +tr_GTP2C_EpsBearerId(template (present) uint4_t bid) := { + elementIdentifier := '49'O, + lengthIndicator := ?, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + ePS_Bearer_ID_Value := bid, + spare2 := '0000'B, + additionalOctets := * +} + + + /* 8.14 */ template (value) PDN_AddressAllocation ts_GTP2C_PdnAddrAlloc(template (value) BIT3 pdn_type, @@ -156,6 +228,31 @@ tr_GTP2C_PdnAddrAlloc_v4(template (present) OCT4 addr) := ts_GTP2C_PdnAddrAlloc('001'B, {iPv4_Address:=addr}); +/* 8.15 */ +template (value) Bearer_QoS +ts_GTP2C_BearerQos(template (value) OCT1 qci, + uint40_t max_br_ul, uint40_t max_br_dl, + uint40_t g_br_ul, uint40_t g_br_dl, + template (value) BIT4 prio_lvl := '1001'B, + template (value) BIT1 pe_vuln := '0'B, + template (value) BIT1 pe_capa := '0'B) := { + elementIdentifier := '50'O, + lengthIndicator := 0, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + pVI := pe_vuln, + spare2 := '0'B, + pL := prio_lvl, + pCI := pe_capa, + spare3 := '0'B, + labelQCI := qci, + maxBitrateUplink := int2oct(max_br_ul, 5), + maxBitrateDownLink := int2oct(max_br_dl, 5), + guaranteedBitrateUplink := int2oct(g_br_ul, 5), + guaranteedBitrateDownLink := int2oct(g_br_dl, 5), + additionalOctets := omit +} + /* 8.17 */ template (value) RAT_Type ts_GTP2C_RatType(template (value) integer rat) := { elementIdentifier := '53'O, @@ -174,6 +271,66 @@ additionalOctets := * } +/* 8.21 */ +function ts_GTP2C_UserLocInfo(template (omit) CGI cgi := omit, + template (omit) SAI sai := omit, + template (omit) RAI rai := omit, + template (omit) TAI tai := omit, + template (omit) ECGI ecgi := omit, + template (omit) LAI lai := omit) +return template (value) UserLocationInfo { + var template (value) UserLocationInfo uli; + uli.elementIdentifier := '56'O; + uli.lengthIndicator := 0; // overwritten + uli.instance := '0000'B; + uli.spare := '0000'B; + uli.spare2 := '00'B; + uli.additionalOctets := omit; + + if (istemplatekind(cgi, "omit")) { + uli.cGI_Flag := '0'B; + } else { + uli.cGI_Flag := '1'B; + } + uli.cGI := cgi; + + if (istemplatekind(sai, "omit")) { + uli.sAI_Flag := '0'B; + } else { + uli.sAI_Flag := '1'B; + } + uli.sAI := sai; + + if (istemplatekind(rai, "omit")) { + uli.rAI_Flag := '0'B; + } else { + uli.rAI_Flag := '1'B; + } + uli.rAI := rai + + if (istemplatekind(tai, "omit")) { + uli.tAI_Flag := '0'B; + } else { + uli.tAI_Flag := '1'B; + } + uli.tAI := tai + + if (istemplatekind(ecgi, "omit")) { + uli.eCGI_Flag := '0'B; + } else { + uli.eCGI_Flag := '1'B; + } + uli.eCGI := ecgi; + + if (istemplatekind(lai, "omit")) { + uli.lAI_Flag := '0'B; + } else { + uli.lAI_Flag := '1'B; + } + uli.lAI := lai + + return uli; +} /* 8.22 */ private function f_bit4oct(template (omit) octetstring os) return BIT1 @@ -184,16 +341,59 @@ return '1'B; } } +type enumerated FteidInterface { + FTEID_IF_S1U_eNodeB_GTPU (0), + FTEID_IF_S1U_SGW_GTPU (1), + FTEID_IF_S12_RNC_GTPU (2), + FTEID_IF_S12_SGW_GTPU (3), + FTEID_IF_S5S8_SGW_GTPU (4), + FTEID_IF_S5S8_PGW_GTPU (5), + FTEID_IF_S5S8_SGW_GTPC (6), + FTEID_IF_S5S8_PGW_GTPC (7), + FTEID_IF_S5S8_SGW_PMIPv6 (8), + FTEID_IF_S5S8_PGW_PMIPv6 (9), + FTEID_IF_S11_MME_GTPC (10), + FTEID_IF_S11S4_SGW_GTPC (11), + FTEID_IF_S10ND26_MME_GTPC (12), + FTEID_IF_S3_MME_GTPC (13), + FTEID_IF_S3_SGSN_GTPC (14), + FTEID_IF_S4_SGSN_GTPU (15), + FTEID_IF_S4_SGW_GTPU (16), + FTEID_IF_S16_SGSN_GTPC (18), + FTEID_IF_eNB_GTPU_DL_DATA_FW (19), + FTEID_IF_eNB_GTPU_UL_DATA_FW (20), + FTEID_IF_RNC_GTPU_DATA_FW (21), + FTEID_IF_SGSN_GTPU_DATA_FW (22), + FTEID_IF_SGWUPF_GTPU_DL_DATA_FW (23), + FTEID_IF_Sm_MMBS_GW_GTPC (24), + FTEID_IF_Sn_MMBS_GW_GTPC (25), + FTEID_IF_Sm_MME_GTPC (26), + FTEID_IF_Sn_MME_GTPC (27), + FTEID_IF_SGW_GTPU_UL_DATA_FW (28), + FTEID_IF_Sn_SGSN_GTPU (29), + FTEID_IF_S2b_ePDG_GTPC (30), + FTEID_IF_S2bU_ePDG_GTPU (31), + FTEID_IF_S2b_PGW_GTPC (32), + FTEID_IF_S2bU_PGW_GTPU (33), + FTEID_IF_S2a_TWAN_GTPU (34), + FTEID_IF_S2a_TWAN_GTPC (35), + FTEID_IF_S2a_PGW_GTPC (36), + FTEID_IF_S2a_PGW_GTPU (37), + FTEID_IF_S11_MME_GTPU (38), + FTEID_IF_S11_SGW_GTPU (39), + FTEID_IF_N26_AMF_GTPC (40) +}; template (value) FullyQualifiedTEID -ts_GTP2C_FTEID(integer if_type, OCT4 teid, template (omit) OCT4 v4_addr := omit, +ts_GTP2C_FTEID(FteidInterface if_type, OCT4 teid, uint4_t instance := 0, + template (omit) OCT4 v4_addr := omit, template (omit) OCT16 v6_addr := omit) := { elementIdentifier := '57'O, lengthIndicator := 0, /* overwritten */ - instance := '0000'B, + instance := int2bit(instance, 4), spare := '0000'B, - interfaceType := if_type, - v6_Flag := f_bit4oct(v4_addr), - v4_Flag := f_bit4oct(v6_addr), + interfaceType := enum2int(if_type), + v6_Flag := f_bit4oct(v6_addr), + v4_Flag := f_bit4oct(v4_addr), tEID_GRE_Key := teid, iPv4_Address := v4_addr, iPv6_Address := v6_addr, @@ -201,11 +401,12 @@ } template (present) FullyQualifiedTEID tr_GTP2C_FTEID(template (present) integer if_type, template (present) OCT4 teid, + template BIT4 instance := ?, template OCT4 v4_addr := omit, template OCT16 v6_addr := omit) := { elementIdentifier := '57'O, lengthIndicator := ?, - instance := ?, + instance := instance, spare := '0000'B, interfaceType := if_type, v6_Flag := ?, @@ -216,6 +417,134 @@ additionalOctets := omit } +/* 8.28 */ +template (value) BearerContextGrouped +ts_GTP2C_BcGrouped(template (value) BearerContextIEs ies) := { + elementIdentifier := '5D'O, + lengthIndicator := 0, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + bearerContextIEs := ies +} +template (present) BearerContextGrouped +tr_GTP2C_BcGrouped(template (present) BearerContextIEs ies) := { + elementIdentifier := '5D'O, + lengthIndicator := ?, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + bearerContextIEs := ies +} + + + +/* 8.30 */ +template (value) ChargingCharacteristics +ts_GTP2C_ChargingCaracteristics(template (value) OCT2 cc) := { + elementIdentifier := '5F'O, + lengthIndicator := 0, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + chargingCharacteristicsValue := cc, + additionalOctets := omit +} +template (present) ChargingCharacteristics +tr_GTP2C_ChargingCaracteristics(template (present) OCT2 cc) := { + elementIdentifier := '5F'O, + lengthIndicator := ?, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + chargingCharacteristicsValue := cc, + additionalOctets := omit +} + + +/* 8.34 */ +template (value) PDN_Type +ts_GTP2C_PdnType(template (value) BIT3 pdn_type) := { + elementIdentifier := '63'O, + lengthIndicator := 0, + instance := '0000'B, + spare := '0000'B, + pDN_TypeValue := pdn_type, + spare2 := '00000'B, + additionalOctets := omit +} +template (present) PDN_Type +tr_GTP2C_PdnType(template (present) BIT3 pdn_type) := { + elementIdentifier := '63'O, + lengthIndicator := ?, + instance := ?, + spare := ?, + pDN_TypeValue := pdn_type, + spare2 := ?, + additionalOctets := * +} + +/* 8.35 */ +template (value) ProcedureTransactionID +ts_GTP2C_ProcTransId(template (value) integer pti) := { + elementIdentifier := '64'O, + lengthIndicator := 0, + instance := '0000'B, + spare := '0000'B, + pTI_Value := pti, + additionalOctets := omit +} +template (present) ProcedureTransactionID +tr_GTP2C_ProcTransId(template (present) integer pti) := { + elementIdentifier := '64'O, + lengthIndicator := ?, + instance :=?, + spare := ?, + pTI_Value := pti, + additionalOctets := * +} + + +/* 8.57 */ +template (value) APN_Restriction +ts_GTP2C_ApnRestriction(template (value) integer val) := { + elementIdentifier := '7F'O, + lengthIndicator := 0, + instance := '0000'B, + spare := '0000'B, + restrictionTypeValue := val, + additionalOctets := omit +} +template (present) APN_Restriction +tr_GTP2C_ApnRestriction(template (present) integer val) := { + elementIdentifier := '7F'O, + lengthIndicator := ?, + instance := '0000'B, + spare := ?, + restrictionTypeValue := val, + additionalOctets := * +} + + +/* 8.58 */ +template (value) SelectionMode +ts_GTP2C_SelectionMode(template (value) integer mode) := { + elementIdentifier := '80'O, + lengthIndicator := 0, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + selectionModeValue := mode, + spare2 := '000000'B, + additionalOctets := omit +} +template (present) SelectionMode +tr_GTP2C_SelectionMode(template (present) integer mode) := { + elementIdentifier := '80'O, + lengthIndicator := ?, + instance := ?, + spare := ?, + selectionModeValue := mode, + spare2 := ?, + additionalOctets := * +} + + template (value) PDU_GTPCv2 ts_PDU_GTP2C(template (omit) OCT4 teid, template (value) OCT3 seq, @@ -236,8 +565,117 @@ } +template (value) PDU_GTPCv2 +ts_GTP2C_EchoReq(template (value) integer rec_val) := +ts_PDU_GTP2C(omit, '000000'O, '01'O, { + echoRequest := { + recovery := { + elementIdentifier := '03'O, + lengthIndicator := 0, + instance := '0000'B, + spare := '0000'B, + recoveryValue := rec_val + }, + sendingNodeFeatures := omit, + privateExtension := omit + }}); template (present) PDU_GTPCv2 -tr_GTP2C_CreateSessionReq(template (present) hexstring imsi) := tr_PDU_GTP2C('00000000'O, { +tr_GTP2C_EchoReq(template (present) OCT3 seq := ?) := +tr_PDU_GTP2C(omit, seq, { echoRequest := ? }, omit); + +template (value) PDU_GTPCv2 +ts_GTP2C_EchoResp(template (value) integer rec_val) := +ts_PDU_GTP2C(omit, '000000'O, '02'O, { + echoRequest := { + recovery := { + elementIdentifier := '03'O, + lengthIndicator := 0, + instance := '0000'B, + spare := '0000'B, + recoveryValue := rec_val + }, + sendingNodeFeatures := omit, + privateExtension := omit + }}); +template (present) PDU_GTPCv2 +tr_GTP2C_EchoResp(template (present) OCT3 seq := ?) := +tr_PDU_GTP2C(omit, seq, { echoResponse := ? }, omit); + + + +template (present) PDU_GTPCv2 +ts_GTP2C_CreateSessionReq(template (value) hexstring imsi, template (omit) hexstring msisdn, + integer rat_type, template (value) FullyQualifiedTEID sender_fteid, + template (value) octetstring apn, template (value) BIT3 pdn_type, + template (omit) FullyQualifiedTEID_List teid_list, + template (value) OCT2 chg_car, template (value) uint4_t bearer_id, + template (value) Bearer_QoS qos := ts_GTP2C_BearerQos('09'O, 0,0,0,0)) := +ts_PDU_GTP2C('00000000'O, '000000'O, '20'O, { + createSessionRequest := { + iMSI := ts_GTP2C_Imsi(imsi), + mSISDN := fs_GTP2C_msisdn(msisdn), + mEI := omit, + userLocationInfo := omit, + servingNetwork := omit, + rAT_Type := ts_GTP2C_RatType(rat_type), + indication := omit, + fullyQualifiedTEID := { sender_fteid }, + accessPointName := ts_GTP2C_APN(apn), + selectionMode := ts_GTP2C_SelectionMode(0), + pDN_Type := ts_GTP2C_PdnType(pdn_type), + pDN_AddressAllocation := ts_GTP2C_PdnAddrAlloc('001'B, {iPv4_Address:='00000000'O}), + maxAPN_Restriction := ts_GTP2C_ApnRestriction(0), + ambr := ts_GTP2C_Ambr(102400, 102400), + linkedEPS_Bearer_ID := omit, + trustedWLANModeIndication := omit, + protocolConfigOptions := omit, + bearerContextGrouped := { + ts_GTP2C_BcGrouped({ + ePS_Bearer_ID := ts_GTP2C_EpsBearerId(bearer_id), + cause := omit, + ePS_Bearer_TFT := omit, + fullyQualifiedTEID := teid_list, + bearerLevel_QoS := qos, + chargingID := omit, + bearerFlags := omit, + transactionIdentifier := omit, + protocolConfigOptions := omit, + rAN_NASCause := omit, + additionalProtocolConfigOptions := omit, + extendedProtocolConfigOptions := omit + }) + }, + traceInformation := omit, + recovery := omit, + csid := omit, + uE_TimeZone := omit, + user_CSG_Information := omit, + chargingCharacteristics := ts_GTP2C_ChargingCaracteristics(chg_car), + lDN := omit, + signallingPriorityIndication := omit, + iP_Addr := omit, + portNumber := omit, + aPCO := omit, + trustedWLANAccessNetworkIdentifier := omit, + cNOperatorSelectionEntity := omit, + presenceReportingAreaInformation := omit, + overloadControlInformationGrouped := omit, + originationTimeStamp := omit, + maximumWaitTime := omit, + wLANLocationTimestamp := omit, + nBIFOMContainer := omit, + remoteUEContextGrouped := omit, + nodeIdentifier := omit, + extendedProtocolConfigOptions := omit, + servingPLMNRateControl := omit, + counter := omit, + privateExtension := omit + }}); + + +template (present) PDU_GTPCv2 +tr_GTP2C_CreateSessionReq(template (present) hexstring imsi) := +tr_PDU_GTP2C('00000000'O, ?, { createSessionRequest := { iMSI := tr_GTP2C_Imsi(imsi), mSISDN := *, @@ -287,7 +725,7 @@ template (value) PDU_GTPCv2 ts_GTP2C_CreateSessionResp(template (value) FullyQualifiedTEID_List fteids, template (value) PDN_AddressAllocation addr) := -ts_PDU_GTP2C('00000000'O, '000000'O, '20'O, { +ts_PDU_GTP2C('00000000'O, '000000'O, '21'O, { createSessionResponse := { cause := ts_GTP2C_Cause(int2oct(16, 1), '0'B), changeReportingAction := omit, @@ -317,6 +755,219 @@ extendedProtocolConfigOptions := omit, privateExtension := omit }}); +template (present) PDU_GTPCv2 +tr_GTP2C_CreateSessionResp(template (present) OCT4 d_teid := ?, + template (present) OCT3 seq := ?, + template (present) OCT1 cause := ?, + template FullyQualifiedTEID_List fteids := *, + template PDN_AddressAllocation addr := *, + template BearerContextGrouped_List bctxg := *) := +tr_PDU_GTP2C(d_teid, seq, { + createSessionResponse := { + cause := tr_GTP2C_Cause(cause), + changeReportingAction := *, + cSG_InformationReportingAction := *, + heNBInformationReporting := *, + fullyQualifiedTEID := fteids, + pDN_AddressAllocation := addr, + aPN_Restriction := ?, + ambr := *, + linkedEPS_Bearer_ID := *, + protocolConfigOptions := *, + bearerContextGrouped := bctxg, + recovery := *, + chargingGatewayName := *, + chargingGatewayAddress := *, + csid := *, + lDN := *, + pGW_Back_OffTime := *, + aPCO := *, + trustedWLANIPv4Parameters := *, + indicationFlags := *, + presenceReportingAreaAction := *, + loadControlInformationGrouped := *, + overloadControlInformationGrouped := *, + nBIFOMContainer := *, + pDNConnectionChargingID := *, + extendedProtocolConfigOptions := *, + privateExtension := * + }}); + + +template (value) PDU_GTPCv2 +ts_GTP2C_DeleteSessionReq(template (value) OCT4 d_teid, + template (omit) OCT1 cause := omit, + template (value) FullyQualifiedTEID sender_fteid, + template (omit) FullyQualifiedTEID_List teid_list := omit, + template (value) uint4_t bearer_id) := +ts_PDU_GTP2C(d_teid, '000000'O, '24'O, { + deleteSessionRequest := { + cause := fs_GTP2C_Cause(cause, '0'B), + linkedEPS_Bearer_ID := ts_GTP2C_EpsBearerId(bearer_id), + uLI := omit, + indicationFlags := omit, + protocolConfigOptions := omit, + originatingNode := omit, + fullyQualifiedTEID := sender_fteid, + uE_TimeZone := omit, + uLITimestamp := omit, + rANNASReleaseCause := omit, + trustedWLANAccessNetworkIdentifier := omit, + tWANIdentifierTimestamp := omit, + overloadControlInformationGrouped := omit, + uELocalIP_Addr := omit, + portNumber := omit, + extendedProtocolConfigOptions := omit, + privateExtension := omit + }}); +template (present) PDU_GTPCv2 +tr_GTP2C_DeleteSessionReq(template (present) OCT4 d_teid, + template (present) OCT3 seq := ?, + template (omit) OCT1 cause, + template (present) FullyQualifiedTEID sender_fteid, + template FullyQualifiedTEID_List teid_list, + template (present) uint4_t bearer_id) := +tr_PDU_GTP2C(d_teid, seq, { + deleteSessionRequest := { + cause := fr_GTP2C_Cause(cause), + linkedEPS_Bearer_ID := tr_GTP2C_EpsBearerId(bearer_id), + uLI := *, + indicationFlags := *, + protocolConfigOptions := *, + originatingNode := *, + fullyQualifiedTEID := sender_fteid, + uE_TimeZone := *, + uLITimestamp := *, + rANNASReleaseCause := *, + trustedWLANAccessNetworkIdentifier := *, + tWANIdentifierTimestamp := *, + overloadControlInformationGrouped := *, + uELocalIP_Addr := *, + portNumber := *, + extendedProtocolConfigOptions := *, + privateExtension := * + }}); + + +template (value) PDU_GTPCv2 +ts_GTP2C_DeleteSessionResp(template (value) OCT4 d_teid, + template (value) OCT3 seq, + template (value) OCT1 cause) := +ts_PDU_GTP2C(d_teid, '000000'O, '25'O, { + deleteSessionResponse := { + cause := ts_GTP2C_Cause(cause, '0'B), + recovery := omit, + protocolConfigOptions := omit, + indicationFlags := omit, + loadControlInformationGrouped := omit, + overloadControlInformationGrouped := omit, + extendedProtocolConfigOptions := omit, + privateExtension := omit + + }}); +template (present) PDU_GTPCv2 +tr_GTP2C_DeleteSessionResp(template (present) OCT4 d_teid, + template (present) OCT3 seq := ?, + template (present) OCT1 cause := ? + ) := +tr_PDU_GTP2C(d_teid, seq, { + deleteSessionResponse := { + cause := tr_GTP2C_Cause(cause), + recovery := *, + protocolConfigOptions := *, + indicationFlags := *, + loadControlInformationGrouped := *, + overloadControlInformationGrouped := *, + extendedProtocolConfigOptions := *, + privateExtension := * + }}); + +template (value) PDU_GTPCv2 +ts_GTP2C_CreateBearerReq(template (value) OCT4 d_teid, + template (value) integer proc_trans_id, + template (value) uint4_t linked_id, + template (value) uint4_t bearer_id, + template (omit) FullyQualifiedTEID_List teid_list, + template (value) Bearer_QoS qos := ts_GTP2C_BearerQos('09'O, 0,0,0,0)) := +ts_PDU_GTP2C(d_teid, '000000'O, '5F'O, { + createBearerRequest := { + procedureTransactionID := ts_GTP2C_ProcTransId(proc_trans_id), + linkedEPS_BearerID := ts_GTP2C_EpsBearerId(linked_id), + protocolConfigOptions := omit, + bearerContextGrouped := { + ts_GTP2C_BcGrouped({ + ePS_Bearer_ID := ts_GTP2C_EpsBearerId(bearer_id), + cause := omit, + ePS_Bearer_TFT := omit, + fullyQualifiedTEID := teid_list, + bearerLevel_QoS := qos, + chargingID := omit, + bearerFlags := omit, + transactionIdentifier := omit, + protocolConfigOptions := omit, + rAN_NASCause := omit, + additionalProtocolConfigOptions := omit, + extendedProtocolConfigOptions := omit + }) + }, + csid := omit, + changeReportingAction := omit, + cSG_InformationReportingAction := omit, + heNBInformationReporting := omit, + presenceReportingAreaAction := omit, + indicationFlags := omit, + loadControlInformationGrouped := omit, + overloadControlInformationGrouped := omit, + nBIFOMContainer := omit, + privateExtension := omit + }}); + + +template (value) PDU_GTPCv2 +ts_GTP2C_DeleteBearerReq(template (value) OCT4 d_teid, + template (value) integer proc_trans_id, + template (value) uint4_t bearer_id, + template (value) OCT1 cause) := +ts_PDU_GTP2C(d_teid, '000000'O, '63'O, { + deleteBearerRequest := { + epsBearerIdentity := { ts_GTP2C_EpsBearerId(bearer_id) }, + bearerContextGrouped := omit, + procedureTransactionID := ts_GTP2C_ProcTransId(proc_trans_id), + protocolConfigOptions := omit, + csid := omit, + cause := ts_GTP2C_Cause(cause, '0'B), + indicationFlags := omit, + loadControlInformationGrouped := omit, + overloadControlInformationGrouped := omit, + nBIFOMContainer := omit, + extendedProtocolConfigOptions := omit, + privateExtension := omit + }}); + + +template (present) PDU_GTPCv2 +tr_GTP2C_DeleteBearerResp(template (present) OCT4 d_teid, + template (present) OCT3 seq := ?, + template (present) OCT1 cause := ?) := +tr_PDU_GTP2C(d_teid, seq, { + deleteBearerResponse := { + cause := tr_GTP2C_Cause(cause), + linkedBearerIdentity := *, + bearerContextGrouped := *, + recovery := *, + csid := *, + protocolConfigOptions := *, + uE_TimeZone := *, + uLI := *, + uLITimestamp := *, + trustedWLANAccessNetworkIdentifier := *, + tWANIdentifierTimestamp := *, + overloadControlInformationGrouped := *, + iP_Addr := *, + portNumber := *, + nBIFOMContainer := *, + privateExtension := * + }}); diff --git a/library/General_Types.ttcn b/library/General_Types.ttcn index da396b7..40f0770 100644 --- a/library/General_Types.ttcn +++ b/library/General_Types.ttcn @@ -147,6 +147,7 @@ type octetstring OCT3_14n length(3..14) with { variant "" }; type octetstring OCT3_17n length(3..17) with { variant "" }; type octetstring OCT4_8n length(4..8) with { variant "" }; + type octetstring OCT4_16n length(4..16) with { variant "" }; //**************************************************** diff --git a/library/Osmocom_Types.ttcn b/library/Osmocom_Types.ttcn index 2e71123..3b2ca17 100644 --- a/library/Osmocom_Types.ttcn +++ b/library/Osmocom_Types.ttcn @@ -34,6 +34,7 @@ type integer uint13_t (0..8191) with { variant "unsigned 13 bit" }; type integer uint14_t (0..16383) with { variant "unsigned 14 bit" }; type integer uint15_t (0..32767) with { variant "unsigned 15 bit" }; + type integer uint40_t (0..1099511627776) with { variant "unsigned 40 bit" }; const uint16_t c_UINT16_MAX := 65535; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867 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: If73aa453e44ebf28032c60d207feb03e8061dc0c Gerrit-Change-Number: 17867 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 Apr 19 17:20:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 17:20:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Initial testsuite for a PGW (Packet Gateway in the EPC) References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17868 ) Change subject: pgw: Initial testsuite for a PGW (Packet Gateway in the EPC) ...................................................................... pgw: Initial testsuite for a PGW (Packet Gateway in the EPC) Change-Id: I1c0ea207c9191479fd8f581377855f78f36bc635 --- A pgw/PGW_Tests.cfg A pgw/PGW_Tests.default A pgw/PGW_Tests.ttcn A pgw/gen_links.sh A pgw/regen_makefile.sh 5 files changed, 513 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/68/17868/1 diff --git a/pgw/PGW_Tests.cfg b/pgw/PGW_Tests.cfg new file mode 100644 index 0000000..a259c32 --- /dev/null +++ b/pgw/PGW_Tests.cfg @@ -0,0 +1,18 @@ +[ORDERED_INCLUDE] +# Common configuration, shared between test suites +"../Common.cfg" +# testsuite specific configuration, not expected to change +"./PGW_Tests.default" + +# Local configuration below + +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] + +[MAIN_CONTROLLER] + +[EXECUTE] +PGW_Tests.control diff --git a/pgw/PGW_Tests.default b/pgw/PGW_Tests.default new file mode 100644 index 0000000..4c0b502 --- /dev/null +++ b/pgw/PGW_Tests.default @@ -0,0 +1,7 @@ +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] + +[EXECUTE] diff --git a/pgw/PGW_Tests.ttcn b/pgw/PGW_Tests.ttcn new file mode 100644 index 0000000..4925fad --- /dev/null +++ b/pgw/PGW_Tests.ttcn @@ -0,0 +1,427 @@ +module PGW_Tests { + +import from General_Types all; +import from Osmocom_Types all; +import from Native_Functions all; + +import from GTPv2_Types all; +import from GTPv2_Templates all; +import from GTPv2_Emulation all; + +import from UECUPS_Types all; + +import from DNS_Helpers all; + +modulepar { + charstring mp_pgw_hostname := "127.0.0.3"; + charstring mp_local_hostname_c := "127.0.0.1"; + charstring mp_local_hostname_u := "127.0.0.1"; + charstring mp_run_prog_as_user := "laforge"; + charstring mp_ping_hostname := "10.45.0.1"; +} + +/* main component, we typically have one per testcase */ +type component PGW_Test_CT { + var GTPv2_Emulation_CT vc_GTP2; + port GTP2EM_PT TEID0; +} + +/* per-session component; we typically have 1..N per testcase */ +type component PGW_Session_CT extends GTP2_ConnHdlr { + var SessionPars g_pars; + + /* TEI (Data) local side */ + var OCT4 g_teid; + /* TEI (Control) local side */ + var OCT4 g_teic; + /* TEI (Data) remote side */ + var OCT4 g_teid_remote; + /* TEI (Control) remote side */ + var OCT4 g_teic_remote; + /* GTP-U IPv4 address remote sie */ + var OCT4 g_gtpu4_remote; + var OCT16 g_gtpu6_remote; + + /* Address allocation */ + var OCT4 g_ip4_addr; + var OCT16 g_ip6_addr; + var integer g_ip6_plen; +} + +/* configuration data for a given Session */ +type record SessionPars { + hexstring imsi, + octetstring msisdn optional, + // serving network + integer rat_type, + // flags? + charstring apn, + /* Apn subscribed or non-subscribed */ + boolean selection_mode, + BIT3 pdn_type, + /* PAA */ + /* Max APN Restriction */ + /* APN-AMBR */ + octetstring pco optional, + octetstring epco optional, + /* Bearer Contexts to be created */ + + charstring tun_dev_name, + charstring tun_netns_name optional +} + +template (value) SessionPars +t_SessionPars(hexstring imsi, charstring tundev, integer rat_type := 6, charstring apn := "internet", + boolean selection_mode := false, BIT3 pdn_type := '001'B) := { + imsi := imsi, + msisdn := omit, + rat_type := rat_type, + apn := apn, + selection_mode := selection_mode, + pdn_type := pdn_type, + pco := omit, + epco := omit, + tun_dev_name := tundev, + tun_netns_name := tundev +} + +type record BearerConfig { + integer eps_bearer_id +} + +type function void_fn() runs on PGW_Session_CT; + +private function f_init() runs on PGW_Test_CT { + var Gtp2EmulationCfg cfg := { + gtpc_bind_ip := mp_local_hostname_c, + gtpc_bind_port := GTP2C_PORT, + gtpc_remote_ip := mp_pgw_hostname, + gtpc_remote_port := GTP2C_PORT, + sgw_role := true, + use_gtpu_daemon := true + }; + + vc_GTP2 := GTPv2_Emulation_CT.create("GTP2_EM"); + map(vc_GTP2:GTP2C, system:GTP2C); + connect(vc_GTP2:TEID0, self:TEID0); + vc_GTP2.start(GTPv2_Emulation.main(cfg)); +} + +function f_start_handler(void_fn fn, template (omit) SessionPars pars := omit) +runs on PGW_Test_CT return PGW_Session_CT { + var charstring id := testcasename(); + var PGW_Session_CT vc_conn; + vc_conn := PGW_Session_CT.create(id); + connect(vc_conn:GTP2, vc_GTP2:CLIENT); + connect(vc_conn:GTP2_PROC, vc_GTP2:CLIENT_PROC); + vc_conn.start(f_handler_init(fn, pars)); + return vc_conn; +} + +private function f_handler_init(void_fn fn, template (omit) SessionPars pars := omit) +runs on PGW_Session_CT { + if (isvalue(pars)) { + g_pars := valueof(pars); + } + fn.apply(); +} + + +/* find TEID of given interface type (and optionally instance) */ +private function f_find_teid(FullyQualifiedTEID_List list, + template (present) integer if_type, + template (present) BIT4 instance := ?) +return template (omit) FullyQualifiedTEID +{ + var integer i; + for (i := 0; i < lengthof(list); i := i+1) { + if (match(list[i].interfaceType, if_type) and + match(list[i].instance, instance)) { + return list[i]; + } + } + return omit; +} + +/* process one to-be-created bearer context */ +private function process_bctx_create(BearerContextGrouped bctx) runs on PGW_Session_CT +{ + /* FIXME: EPS Bearer ID */ + /* FIXME: Cause */ + + /* find F-TEID of the P-GW U side */ + var FullyQualifiedTEID rx_fteid; + rx_fteid := valueof(f_find_teid(bctx.bearerContextIEs.fullyQualifiedTEID, 5, '0010'B)); + g_teid_remote := rx_fteid.tEID_GRE_Key; + if (rx_fteid.v4_Flag == '1'B) { + g_gtpu4_remote := rx_fteid.iPv4_Address; + } + if (rx_fteid.v6_Flag == '1'B) { + g_gtpu6_remote := rx_fteid.iPv6_Address; + } + + var UECUPS_CreateTun uecups_create := { + tx_teid := oct2int(g_teid_remote), + rx_teid := oct2int(g_teid), + user_addr_type := IPV4, + user_addr := '00000000'O, + local_gtp_ep := valueof(ts_UECUPS_SockAddr(f_inet_addr(mp_local_hostname_u))), + remote_gtp_ep := valueof(ts_UECUPS_SockAddr(g_gtpu4_remote)), + tun_dev_name := g_pars.tun_dev_name, + tun_netns_name := g_pars.tun_netns_name + }; + + /* create tunnel in daemon */ + if (isbound(g_ip4_addr)) { + uecups_create.user_addr := g_ip4_addr; + f_gtp2_create_tunnel(uecups_create); + } + if (isbound(g_ip6_addr)) { + uecups_create.user_addr_type := IPV6; + uecups_create.user_addr := g_ip6_addr; + f_gtp2_create_tunnel(uecups_create); + } +} + +/* create a session on the PGW */ +private function f_create_session() runs on PGW_Session_CT { + var PDU_GTPCv2 rx; + + /* allocate + register TEID-C on local side */ + g_teic := f_gtp2_allocate_teid(); + g_teid := g_teic; + + var template (value) FullyQualifiedTEID fteid_c_ie, fteid_u_ie; + fteid_c_ie := ts_GTP2C_FTEID(FTEID_IF_S5S8_SGW_GTPC, g_teic, 0, + f_inet_addr(mp_local_hostname_c), omit); + fteid_u_ie := ts_GTP2C_FTEID(FTEID_IF_S5S8_SGW_GTPU, g_teid, 2, + f_inet_addr(mp_local_hostname_u), omit); + var template (value) PDU_GTPCv2 g2c := + ts_GTP2C_CreateSessionReq(imsi := g_pars.imsi, msisdn := omit, rat_type := 6, + sender_fteid := fteid_c_ie, + apn := f_enc_dns_hostname(g_pars.apn), + pdn_type := g_pars.pdn_type, teid_list := { fteid_u_ie }, + chg_car := '0000'O, bearer_id := 1); + /* open5gs up to 1.2.3 won't accept it without ULI, despite not mandatory */ + var template (value) TAI tai := { '0'H, '0'H, '1'H, 'F'H, '0'H, '1'H, '0001'O }; + var template (value) ECGI ecgi := { '0'H, '0'H, '1'H, 'F'H, '0'H, '1'H, '0'H, 23 }; + g2c.gtpcv2_pdu.createSessionRequest.userLocationInfo := ts_GTP2C_UserLocInfo(tai := tai, ecgi := ecgi); + + GTP2.send(g2c); + alt { + [] GTP2.receive(tr_GTP2C_CreateSessionResp(d_teid:=g_teic, cause:='10'O)) -> value rx { + /* extract TEIDs */ + var CreateSessionResponse resp := rx.gtpcv2_pdu.createSessionResponse; + g_teic_remote := resp.fullyQualifiedTEID[0].tEID_GRE_Key; + + /* extract allocated address[es] */ + var PDN_Address_and_Prefix paa := resp.pDN_AddressAllocation.pDN_Address_and_Prefix; + if (ischosen(paa.iPv4_Address)) { + g_ip4_addr := paa.iPv4_Address; + } else if (ischosen(paa.iPv6_Address)) { + g_ip6_addr := paa.iPv6_Address.iPv6_Address; + g_ip6_plen := paa.iPv6_Address.prefixLength; + } else if (ischosen(paa.iPv4_IPv6)) { + g_ip4_addr := paa.iPv4_IPv6.iPv4_Address; + g_ip6_addr := paa.iPv4_IPv6.iPv6_Address; + g_ip6_plen := paa.iPv4_IPv6.prefixLength; + } + var integer i; + for (i := 0; i < lengthof(resp.bearerContextGrouped); i := i+1) { + var BearerContextGrouped bctx := resp.bearerContextGrouped[i]; + select (bctx.instance) { + case ('0000'B) { // created + process_bctx_create(bctx); + } + case ('0001'B) { // removed + setverdict(fail, "We don't expect removed bearer contexts yet"); + } + } + } + } + [] GTP2.receive(tr_GTP2C_CreateSessionResp(d_teid:=g_teic, cause:=?)) -> value rx { + setverdict(fail, "Unexpected CreateSessionResp(cause=", + rx.gtpcv2_pdu.createSessionResponse.cause.causeValue, ")"); + } + [] GTP2.receive { + setverdict(fail, "Unexpected GTPv2 while waiting for CreateSessionResp"); + } + } + +} + +/* delete the session from the PGW */ +private function f_delete_session(template (omit) OCT1 tx_cause := omit, + template (present) OCT1 exp_cause) runs on PGW_Session_CT { + var template (value) FullyQualifiedTEID fteid_c_ie + fteid_c_ie := ts_GTP2C_FTEID(FTEID_IF_S5S8_SGW_GTPC, g_teic, 0, + f_inet_addr(mp_local_hostname_c), omit); + var template PDU_GTPCv2 g2c := + ts_GTP2C_DeleteSessionReq(d_teid := g_teic_remote, cause := tx_cause, + sender_fteid := fteid_c_ie, + teid_list := {}, bearer_id := 1); + + GTP2.send(g2c); + alt { + [] GTP2.receive(tr_GTP2C_DeleteSessionResp(d_teid := g_teic, cause := exp_cause)) { + setverdict(pass); + } + [] GTP2.receive(tr_GTP2C_DeleteSessionResp(?, ?)) { + setverdict(fail, "Unexpected DeleteSessionResp"); + } + [] GTP2.receive { + setverdict(fail, "Unexpected GTPv2 while waiting for DeleteSessionResp"); + } + } + + /* destroy tunnel in daemon */ + var UECUPS_DestroyTun uecups_destroy := { + local_gtp_ep := valueof(ts_UECUPS_SockAddr(f_inet_addr(mp_local_hostname_u))), + rx_teid := oct2int(g_teid) + }; + /* FIXME: what about IPv4/IPv6 differentiation? */ + f_gtp2_destroy_tunnel(uecups_destroy); +} + +/* start a program on the user plane side; return its PID */ +private function f_start_prog(charstring command) runs on PGW_Session_CT return integer +{ + var UECUPS_StartProgram sprog := { + command := command, + environment := {}, + run_as_user := mp_run_prog_as_user, + tun_netns_name := g_pars.tun_netns_name + }; + var UECUPS_StartProgramRes res := f_gtp2_start_program(sprog); + if (res.result != OK) { + setverdict(fail, "Unable to start program '", command, "'"); + } + return res.pid; +} + +/* wait for termination of a given PID with specified exit_code */ +private function f_wait_term(integer pid, template (present) integer exit_code := 0, + float tout := 10.0) runs on PGW_Session_CT +{ + timer T := tout; + + T.start; + alt { + [] GTP2.receive(UECUPS_ProgramTermInd:{pid := pid, exit_code := exit_code}) { + setverdict(pass); + } + [] GTP2.receive(UECUPS_ProgramTermInd:?) { + setverdict(fail, "Received unexpected ProgramTermInd"); + } + [] T.timeout { + setverdict(fail, "timeout waiting for user-plane program termination"); + } + } +} + +/* execute a program and wait for result */ +private function f_start_prog_wait(charstring command, template integer exit_code := 0, float tout := 10.0) runs on PGW_Session_CT +{ + var integer pid := f_start_prog(command); + f_wait_term(pid, exit_code, tout); +} + +/* execute ping command and wait for result */ +private function f_ping4(charstring host, integer interval := 1, integer count := 10) runs on PGW_Session_CT +{ + var charstring ping :="ping -c " & int2str(count) & " -i " & int2str(interval); + ping := ping & " -I " & f_inet_ntoa(g_ip4_addr); + ping := ping & " " & host; + f_start_prog_wait(ping); +} + + + + +/* send echo request; expect response */ +testcase TC_tx_echo() runs on PGW_Test_CT { + timer T := 5.0; + + f_init(); + + TEID0.send(ts_GTP2C_EchoReq(0)); + T.start; + alt { + [] TEID0.receive(tr_GTP2C_EchoResp) { + setverdict(pass); + } + [] T.timeout { + setverdict(fail, "timeout waiting for Echo Response"); + } + } +} + +/* create a session, expect it to succeed */ +private function f_TC_createSession() runs on PGW_Session_CT { + f_create_session(); + setverdict(pass); +} +testcase TC_createSession() runs on PGW_Test_CT { + var PGW_Session_CT vc_conn; + var SessionPars pars := valueof(t_SessionPars('001010123456789'H, "tun22")); + f_init(); + vc_conn := f_start_handler(refers(f_TC_createSession), pars); + vc_conn.done; +} + +/* create a session, then execute a ping command on the user plane */ +private function f_TC_createSession_ping4() runs on PGW_Session_CT { + f_create_session(); + f_ping4(mp_ping_hostname); + setverdict(pass); +} +testcase TC_createSession_ping4() runs on PGW_Test_CT { + var PGW_Session_CT vc_conn; + var SessionPars pars := valueof(t_SessionPars('001010123456789'H, "tun23")); + f_init(); + vc_conn := f_start_handler(refers(f_TC_createSession_ping4), pars); + vc_conn.done; +} + +/* create a session, then delete it again */ +private function f_TC_createSession_deleteSession() runs on PGW_Session_CT { + f_create_session(); + f_delete_session(omit, '10'O); + setverdict(pass); +} +testcase TC_createSession_deleteSession() runs on PGW_Test_CT { + var PGW_Session_CT vc_conn; + var SessionPars pars := valueof(t_SessionPars('001010123456789'H, "tun23")); + f_init(); + vc_conn := f_start_handler(refers(f_TC_createSession_deleteSession), pars); + vc_conn.done; +} + +/* send a DeleteSessionReq for an unknown/invalid TEID */ +private function f_TC_deleteSession_unknown() runs on PGW_Session_CT { + g_teic := f_gtp2_allocate_teid(); + g_teic_remote := f_rnd_octstring(4); + f_delete_session(omit, '40'O /* Context Unknown */); + setverdict(pass); +} +testcase TC_deleteSession_unknown() runs on PGW_Test_CT { + var PGW_Session_CT vc_conn; + var SessionPars pars := valueof(t_SessionPars('001010123456789'H, "tun23")); + f_init(); + vc_conn := f_start_handler(refers(f_TC_deleteSession_unknown), pars); + vc_conn.done; +} + + + + +control { + execute( TC_tx_echo() ); + execute( TC_createSession() ); + execute( TC_createSession_ping4() ); + execute( TC_createSession_deleteSession() ); + execute( TC_deleteSession_unknown() ); +} + + +} diff --git a/pgw/gen_links.sh b/pgw/gen_links.sh new file mode 100755 index 0000000..061d78c --- /dev/null +++ b/pgw/gen_links.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +BASEDIR=../deps + +. ../gen_links.sh.inc + +DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src +FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCInterface.cc TCCInterface_ip.h" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src +FILES="Socket_API_Definitions.ttcn" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.TestPorts.IPL4asp/src +FILES="IPL4asp_Functions.ttcn IPL4asp_PT.cc IPL4asp_PT.hh IPL4asp_PortType.ttcn IPL4asp_Types.ttcn IPL4asp_discovery.cc IPL4asp_protocol_L234.hh" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.ProtocolModules.ICMP/src +FILES="ICMP_EncDec.cc ICMP_Types.ttcn" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.ProtocolModules.ICMPv6/src +FILES="ICMPv6_EncDec.cc ICMPv6_Types.ttcn" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.ProtocolModules.IP/src +FILES="IP_EncDec.cc IP_Types.ttcn" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.ProtocolModules.UDP/src +FILES="UDP_EncDec.cc UDP_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 + +DIR=$BASEDIR/titan.ProtocolModules.GTPv2_v13.7.0/src +FILES="GTPv2_Types.ttcn" +gen_links $DIR $FILES + +DIR=$BASEDIR/osmo-uecups/ttcn3 +FILES="UECUPS_CodecPort.ttcn UECUPS_CodecPort_CtrlFunct.ttcn UECUPS_CodecPort_CtrlFunctDef.cc UECUPS_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+="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 " +gen_links $DIR $FILES + +ignore_pp_results diff --git a/pgw/regen_makefile.sh b/pgw/regen_makefile.sh new file mode 100755 index 0000000..46616da --- /dev/null +++ b/pgw/regen_makefile.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +FILES="*.ttcn IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc GTPC_EncDec.cc GTPU_EncDec.cc GTP_CodecPort_CtrlFunctDef.cc GTPv2_CodecPort_CtrlFunctDef.cc ICMPv6_EncDec.cc IP_EncDec.cc Native_FunctionDefs.cc UDP_EncDec.cc ICMP_EncDec.cc " +FILES+="UECUPS_CodecPort_CtrlFunctDef.cc " + +../regen-makefile.sh PGW_Tests.ttcn $FILES -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17868 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: I1c0ea207c9191479fd8f581377855f78f36bc635 Gerrit-Change-Number: 17868 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 Apr 19 17:25:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 17:25:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Fix/complete the partial GTPv2_CodecPort we already had 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/+/17866 to look at the new patch set (#2). Change subject: Fix/complete the partial GTPv2_CodecPort we already had ...................................................................... Fix/complete the partial GTPv2_CodecPort we already had Change-Id: Idb9f492863d31e9decffeb0d71215fe581fdd4bb --- M library/GTPv2_CodecPort.ttcn A library/GTPv2_CodecPort_CtrlFunct.ttcn A library/GTPv2_CodecPort_CtrlFunctDef.cc 3 files changed, 100 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/17866/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17866 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: Idb9f492863d31e9decffeb0d71215fe581fdd4bb Gerrit-Change-Number: 17866 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 Apr 19 17:25:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 17:25:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Fix/complete the partial GTPv2_CodecPort we already had In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17866 ) Change subject: Fix/complete the partial GTPv2_CodecPort we already had ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17866 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: Idb9f492863d31e9decffeb0d71215fe581fdd4bb Gerrit-Change-Number: 17866 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 19 Apr 2020 17:25: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 Apr 19 17:25:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 17:25:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Fix/complete the partial GTPv2_CodecPort we already had In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17866 ) Change subject: Fix/complete the partial GTPv2_CodecPort we already had ...................................................................... Fix/complete the partial GTPv2_CodecPort we already had Change-Id: Idb9f492863d31e9decffeb0d71215fe581fdd4bb --- M library/GTPv2_CodecPort.ttcn A library/GTPv2_CodecPort_CtrlFunct.ttcn A library/GTPv2_CodecPort_CtrlFunctDef.cc 3 files changed, 100 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/GTPv2_CodecPort.ttcn b/library/GTPv2_CodecPort.ttcn index 1f08f19..e9cf57e 100644 --- a/library/GTPv2_CodecPort.ttcn +++ b/library/GTPv2_CodecPort.ttcn @@ -12,13 +12,13 @@ module GTPv2_CodecPort { import from IPL4asp_PortType all; import from IPL4asp_Types all; - import from GTPv2C_Types all; + import from GTPv2_Types all; /* identifies a remote peer (sender or receiver) */ type record GtpPeer { ConnectionId connId, HostName remName, - PortNumber remPort + IPL4asp_Types.PortNumber remPort } /* Decoded GTP2C (Control Plane), used in send and receive direction */ diff --git a/library/GTPv2_CodecPort_CtrlFunct.ttcn b/library/GTPv2_CodecPort_CtrlFunct.ttcn new file mode 100644 index 0000000..d68ea51 --- /dev/null +++ b/library/GTPv2_CodecPort_CtrlFunct.ttcn @@ -0,0 +1,43 @@ +module GTPv2_CodecPort_CtrlFunct { + + import from GTPv2_CodecPort all; + import from IPL4asp_Types all; + + external function f_IPL4_listen( + inout GTPv2C_PT portRef, + in HostName locName, + in PortNumber locPort, + in ProtoTuple proto, + in OptionList options := {} + ) return Result; + + external function f_IPL4_connect( + inout GTPv2C_PT portRef, + in HostName remName, + in PortNumber remPort, + in HostName locName, + in PortNumber locPort, + in ConnectionId connId, + in ProtoTuple proto, + in OptionList options := {} + ) return Result; + + external function f_IPL4_close( + inout GTPv2C_PT portRef, + in ConnectionId id, + in ProtoTuple proto := { unspecified := {} } + ) return Result; + + external function f_IPL4_setUserData( + inout GTPv2C_PT portRef, + in ConnectionId id, + in UserData userData + ) return Result; + + external function f_IPL4_getUserData( + inout GTPv2C_PT portRef, + in ConnectionId id, + out UserData userData + ) return Result; + +} diff --git a/library/GTPv2_CodecPort_CtrlFunctDef.cc b/library/GTPv2_CodecPort_CtrlFunctDef.cc new file mode 100644 index 0000000..6a68cae --- /dev/null +++ b/library/GTPv2_CodecPort_CtrlFunctDef.cc @@ -0,0 +1,55 @@ +#include "IPL4asp_PortType.hh" +#include "IPL4asp_PT.hh" +#include "GTPv2_CodecPort.hh" + +namespace GTPv2__CodecPort__CtrlFunct { + + IPL4asp__Types::Result f__IPL4__listen( + GTPv2__CodecPort::GTPv2C__PT& portRef, + const IPL4asp__Types::HostName& locName, + const IPL4asp__Types::PortNumber& locPort, + const IPL4asp__Types::ProtoTuple& proto, + const IPL4asp__Types::OptionList& options) + { + return f__IPL4__PROVIDER__listen(portRef, locName, locPort, proto, options); + } + + IPL4asp__Types::Result f__IPL4__connect( + GTPv2__CodecPort::GTPv2C__PT& portRef, + const IPL4asp__Types::HostName& remName, + const IPL4asp__Types::PortNumber& remPort, + const IPL4asp__Types::HostName& locName, + const IPL4asp__Types::PortNumber& locPort, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::ProtoTuple& proto, + const IPL4asp__Types::OptionList& options) + { + return f__IPL4__PROVIDER__connect(portRef, remName, remPort, + locName, locPort, connId, proto, options); + } + + IPL4asp__Types::Result f__IPL4__close( + GTPv2__CodecPort::GTPv2C__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::ProtoTuple& proto) + { + return f__IPL4__PROVIDER__close(portRef, connId, proto); + } + + IPL4asp__Types::Result f__IPL4__setUserData( + GTPv2__CodecPort::GTPv2C__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::UserData& userData) + { + return f__IPL4__PROVIDER__setUserData(portRef, connId, userData); + } + + IPL4asp__Types::Result f__IPL4__getUserData( + GTPv2__CodecPort::GTPv2C__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + IPL4asp__Types::UserData& userData) + { + return f__IPL4__PROVIDER__getUserData(portRef, connId, userData); + } + +} -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17866 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: Idb9f492863d31e9decffeb0d71215fe581fdd4bb Gerrit-Change-Number: 17866 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 Sun Apr 19 17:28:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 17:28:30 +0000 Subject: Change in ...osmo_gsup[master]: fix E-Routing-Error: both session state / ID IEs are optional In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/erlang/osmo_gsup/+/17864 ) Change subject: fix E-Routing-Error: both session state / ID IEs are optional ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo_gsup/+/17864 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo_gsup Gerrit-Branch: master Gerrit-Change-Id: I0c0c84c9dbd2e53e7d1720868cc157f9e21749c2 Gerrit-Change-Number: 17864 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 19 Apr 2020 17:28: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 Apr 19 17:28:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 17:28:35 +0000 Subject: Change in ...osmo_gsup[master]: fix E-Routing-Error: both session state / ID IEs are optional In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/erlang/osmo_gsup/+/17864 ) Change subject: fix E-Routing-Error: both session state / ID IEs are optional ...................................................................... fix E-Routing-Error: both session state / ID IEs are optional If a message that has triggered the E-Routing-Error contains no session related IEs, they will also be absent in the error message. Change-Id: I0c0c84c9dbd2e53e7d1720868cc157f9e21749c2 --- M include/gsup_protocol.hrl 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/gsup_protocol.hrl b/include/gsup_protocol.hrl index dc49723..2e9c9d3 100644 --- a/include/gsup_protocol.hrl +++ b/include/gsup_protocol.hrl @@ -219,7 +219,7 @@ 16#44 => #{message_type => e_forward_access_signalling_req, mandatory => [message_class, source_name, destination_name, an_apdu, session_id, session_state]}, 16#47 => #{message_type => e_close, mandatory => [message_class, source_name, destination_name, session_id, session_state]}, 16#4b => #{message_type => e_abort, mandatory => [message_class, session_id, session_state, bssap_cause]}, - 16#4e => #{message_type => e_routing_err, mandatory => [message_class, source_name, destination_name, session_id, session_state]} + 16#4e => #{message_type => e_routing_err, mandatory => [message_class, source_name, destination_name], optional => [session_id, session_state]} }). -define(AUTH_TUPLE_MANDATORY, [rand, sres, kc]). -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo_gsup/+/17864 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo_gsup Gerrit-Branch: master Gerrit-Change-Id: I0c0c84c9dbd2e53e7d1720868cc157f9e21749c2 Gerrit-Change-Number: 17864 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 Apr 19 17:28:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 17:28:48 +0000 Subject: Change in osmo-gsm-manuals[master]: GSUP: fix E-Routing-Error: both session state / ID IEs are optional In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17863 ) Change subject: GSUP: fix E-Routing-Error: both session state / ID IEs are optional ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17863 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: Iaf9d8e77c8734672cfd8a265b8cfdb3bc929a31b Gerrit-Change-Number: 17863 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 19 Apr 2020 17: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 Apr 19 17:28:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 17:28:54 +0000 Subject: Change in osmo-gsm-manuals[master]: GSUP: fix E-Routing-Error: both session state / ID IEs are optional In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17863 ) Change subject: GSUP: fix E-Routing-Error: both session state / ID IEs are optional ...................................................................... GSUP: fix E-Routing-Error: both session state / ID IEs are optional If a message that has triggered the E-Routing-Error contains no session related IEs, they will also be absent in the error message. Change-Id: Iaf9d8e77c8734672cfd8a265b8cfdb3bc929a31b --- M common/chapters/gsup.adoc 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/common/chapters/gsup.adoc b/common/chapters/gsup.adoc index 511f2b3..6d07e6b 100644 --- a/common/chapters/gsup.adoc +++ b/common/chapters/gsup.adoc @@ -1025,8 +1025,8 @@ |0a|Message Class|<>|M|TLV|3 |60|Source Name|<>|M|TLV|2-... |61|Destination Name|<>|M|TLV|2-... -|30|Session ID|<>|M|TLV|6 -|31|Session State|<>|M|TLV|3 +|30|Session ID|<>|O|TLV|6 +|31|Session State|<>|O|TLV|3 |=== -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17863 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: Iaf9d8e77c8734672cfd8a265b8cfdb3bc929a31b Gerrit-Change-Number: 17863 Gerrit-PatchSet: 1 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 Apr 19 17:37:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 19 Apr 2020 17:37:56 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 2: Code-Review-1 There is ALWAYS a commit version. Even if you don't want to trace back, at least provide the commit hash from where you did copy code. Otherwise it's extremely difficult for people in the future to check what are the new changes in there since last time stuff was backported. So please, provide in the commit description the URL of the git respository, and the hash from where you did copy the code from. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-Comment-Date: Sun, 19 Apr 2020 17:37: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 Apr 19 17:40:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 17:40:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Initial testsuite for a PGW (Packet Gateway in the EPC) In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17868 to look at the new patch set (#2). Change subject: pgw: Initial testsuite for a PGW (Packet Gateway in the EPC) ...................................................................... pgw: Initial testsuite for a PGW (Packet Gateway in the EPC) Change-Id: I1c0ea207c9191479fd8f581377855f78f36bc635 --- M Makefile A pgw/PGW_Tests.cfg A pgw/PGW_Tests.default A pgw/PGW_Tests.ttcn A pgw/gen_links.sh A pgw/regen_makefile.sh 6 files changed, 514 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/68/17868/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17868 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: I1c0ea207c9191479fd8f581377855f78f36bc635 Gerrit-Change-Number: 17868 Gerrit-PatchSet: 2 Gerrit-Owner: laforge 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 Sun Apr 19 17:40:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 17:40:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Makefile: Add missing 'ccid' and 'mme' test suites References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17869 ) Change subject: Makefile: Add missing 'ccid' and 'mme' test suites ...................................................................... Makefile: Add missing 'ccid' and 'mme' test suites Only if they're part of the master Makefile, they will be built during gerrit build verification. Change-Id: I3c0b89eacadb12efc1e946d8eaff7864a8483c7a --- M Makefile 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/17869/1 diff --git a/Makefile b/Makefile index 90b54b3..90bbcea 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -SUBDIRS=bsc bsc-nat bts ggsn_tests hlr mgw msc pcu remsim sccp selftest sgsn \ +SUBDIRS=bsc bsc-nat bts ccid ggsn_tests hlr mgw mme msc pcu remsim sccp selftest sgsn \ simtrace sip stp sysinfo NPROC=$(shell nproc 2>/dev/null) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17869 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: I3c0b89eacadb12efc1e946d8eaff7864a8483c7a Gerrit-Change-Number: 17869 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 Apr 19 17:41:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 17:41:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Makefile: Add missing 'ccid' and 'mme' test suites In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17869 ) Change subject: Makefile: Add missing 'ccid' and 'mme' test suites ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17869 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: I3c0b89eacadb12efc1e946d8eaff7864a8483c7a Gerrit-Change-Number: 17869 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 19 Apr 2020 17:41: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 Apr 19 17:41:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 17:41:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Makefile: Add missing 'ccid' and 'mme' test suites In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17869 ) Change subject: Makefile: Add missing 'ccid' and 'mme' test suites ...................................................................... Makefile: Add missing 'ccid' and 'mme' test suites Only if they're part of the master Makefile, they will be built during gerrit build verification. Change-Id: I3c0b89eacadb12efc1e946d8eaff7864a8483c7a --- M Makefile 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/Makefile b/Makefile index 90b54b3..90bbcea 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -SUBDIRS=bsc bsc-nat bts ggsn_tests hlr mgw msc pcu remsim sccp selftest sgsn \ +SUBDIRS=bsc bsc-nat bts ccid ggsn_tests hlr mgw mme msc pcu remsim sccp selftest sgsn \ simtrace sip stp sysinfo NPROC=$(shell nproc 2>/dev/null) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17869 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: I3c0b89eacadb12efc1e946d8eaff7864a8483c7a Gerrit-Change-Number: 17869 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 Apr 19 18:43:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 18:43:17 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 2: > Patch Set 2: Code-Review-1 > > There is ALWAYS a commit version. Even if you don't want to trace back, at least provide the commit hash from where you did copy code. Otherwise it's extremely difficult for people in the future to check what are the new changes in there since last time stuff was backported. I agree. It doesn't have to be a detailed list of them, but simply "all relevant changes I could find up to commit version abcdef...". In this specific caes I would be seriously surprised if there were any future changes to be merged, though, as the product is discontinued and the branch rafael is referring to has been abandoned. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-Comment-Date: Sun, 19 Apr 2020 18:43: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 Sun Apr 19 18:55:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 18:55:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Add GTPv2_Emulation component In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867 to look at the new patch set (#3). Change subject: Add GTPv2_Emulation component ...................................................................... Add GTPv2_Emulation component Change-Id: If73aa453e44ebf28032c60d207feb03e8061dc0c --- M deps/Makefile A library/GTPv2_Emulation.ttcn M library/GTPv2_Templates.ttcn M library/General_Types.ttcn M library/Osmocom_Types.ttcn 5 files changed, 1,338 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/17867/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867 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: If73aa453e44ebf28032c60d207feb03e8061dc0c Gerrit-Change-Number: 17867 Gerrit-PatchSet: 3 Gerrit-Owner: laforge 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 Sun Apr 19 18:55:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 19 Apr 2020 18:55:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Initial testsuite for a PGW (Packet Gateway in the EPC) In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17868 to look at the new patch set (#3). Change subject: pgw: Initial testsuite for a PGW (Packet Gateway in the EPC) ...................................................................... pgw: Initial testsuite for a PGW (Packet Gateway in the EPC) Change-Id: I1c0ea207c9191479fd8f581377855f78f36bc635 --- M Makefile A pgw/PGW_Tests.cfg A pgw/PGW_Tests.default A pgw/PGW_Tests.ttcn A pgw/gen_links.sh A pgw/regen_makefile.sh 6 files changed, 517 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/68/17868/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17868 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: I1c0ea207c9191479fd8f581377855f78f36bc635 Gerrit-Change-Number: 17868 Gerrit-PatchSet: 3 Gerrit-Owner: laforge 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 Sun Apr 19 20:12:29 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sun, 19 Apr 2020 20:12:29 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 2: > > Patch Set 2: Code-Review-1 > > > > There is ALWAYS a commit version. Does this help as a model: http://git.osmocom.org/osmo-bts/commit/?h=keith/lc15_merge&id=9192c6c6c2cdea376aa512c88b14c724af36cea7 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Sun, 19 Apr 2020 20:12: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 Sun Apr 19 22:19:18 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Sun, 19 Apr 2020 22:19:18 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: rafael2k has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 2: > Patch Set 2: Code-Review+1 > > looks fine to me. I guess you (rhizomatica) are the most important/relevant user of the osmocom master lc15 repository, so if this works for you, we should merge it. I'm running this branch in the LC 1.5 here in lab for some days already (with some phones connected and creating some activity). I'm trying to make sure we have no memory leaks or long term problems. So far, all good. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 2 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Sun, 19 Apr 2020 22:19: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 Apr 19 22:22:00 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Sun, 19 Apr 2020 22:22:00 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 to look at the new patch set (#3). Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... osmo-bts-litecell15: Implement missing features. Many hardware parameters of the LC 1.5 were not exposed to the user. This change introduces most of the features, being very similar to osmo-bts-oc2g code. Mostly based on commit d8cd756da48bcff9f9caf9e64fc0af047a165b60 from NuRAN's osmo-bts fork at: https://gitlab.com/nrw_noa/osmo-bts Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d --- M include/osmo-bts/phy_link.h M src/osmo-bts-litecell15/l1_if.c M src/osmo-bts-litecell15/l1_if.h M src/osmo-bts-litecell15/lc15bts.c M src/osmo-bts-litecell15/lc15bts.h M src/osmo-bts-litecell15/lc15bts_vty.c M src/osmo-bts-litecell15/main.c M src/osmo-bts-litecell15/oml.c 8 files changed, 566 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/55/17855/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 3 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Apr 19 22:22:40 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Sun, 19 Apr 2020 22:22:40 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 to look at the new patch set (#4). Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... osmo-bts-litecell15: Implement missing features. Many hardware parameters of the LC 1.5 were not exposed to the user. This change introduces most of the features, being very similar to osmo-bts-oc2g code. Mostly based on commit 653e974fec00414ba85baf258ccc46ea778a53bd from NuRAN's osmo-bts fork at: https://gitlab.com/nrw_noa/osmo-bts Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d --- M include/osmo-bts/phy_link.h M src/osmo-bts-litecell15/l1_if.c M src/osmo-bts-litecell15/l1_if.h M src/osmo-bts-litecell15/lc15bts.c M src/osmo-bts-litecell15/lc15bts.h M src/osmo-bts-litecell15/lc15bts_vty.c M src/osmo-bts-litecell15/main.c M src/osmo-bts-litecell15/oml.c 8 files changed, 566 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/55/17855/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 4 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Apr 19 22:26:04 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Sun, 19 Apr 2020 22:26:04 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: rafael2k has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 4: > Patch Set 2: > > > > Patch Set 2: Code-Review-1 > > > > > > There is ALWAYS a commit version. > > Does this help as a model: > http://git.osmocom.org/osmo-bts/commit/?h=keith/lc15_merge&id=9192c6c6c2cdea376aa512c88b14c724af36cea7 I copied the information from keith/lc15_merge branch to the commit message. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 4 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Sun, 19 Apr 2020 22:26: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 Sun Apr 19 23:51:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 19 Apr 2020 23:51:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Add GTPv2_Emulation component In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867 ) Change subject: Add GTPv2_Emulation component ...................................................................... Patch Set 3: Code-Review+1 (5 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867/3/library/GTPv2_Emulation.ttcn File library/GTPv2_Emulation.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867/3/library/GTPv2_Emulation.ttcn at 236 PS3, Line 236: explict IE members :/ https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867/3/library/GTPv2_Emulation.ttcn at 378 PS3, Line 378: GTPv2_CodecPort_CtrlFunct This prefix may be omitted since we 'import all' anyway. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867/3/library/GTPv2_Emulation.ttcn at 393 PS3, Line 393: UECUPS_CodecPort_CtrlFunct same here https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867/3/library/GTPv2_Emulation.ttcn at 405 PS3, Line 405: activate(as_uecups_ind()); So this altstep is activated regardless of 'g_gtp2_cfg.use_gtpu_daemon'? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867/3/library/GTPv2_Emulation.ttcn at 473 PS3, Line 473: g2c.sequenceNumber := int2oct(g_c_seq_nr, 3); : g_c_seq_nr := g_c_seq_nr + 1; Would be nice to have a function like 'f_get_seq_nr() return OCT3', so we never forget to increment the counter. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867 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: If73aa453e44ebf28032c60d207feb03e8061dc0c Gerrit-Change-Number: 17867 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 19 Apr 2020 23:51: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 Sun Apr 19 23:56:06 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 19 Apr 2020 23:56:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Initial testsuite for a PGW (Packet Gateway in the EPC) In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17868 ) Change subject: pgw: Initial testsuite for a PGW (Packet Gateway in the EPC) ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17868 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: I1c0ea207c9191479fd8f581377855f78f36bc635 Gerrit-Change-Number: 17868 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 19 Apr 2020 23:56:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Apr 20 01:44:56 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 01:44:56 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5e9cfeaed1ba7_5ba12acfe44045f0122151@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 756s] | CONFIG_LINKS = [ 756s] | CONFIG_COMMANDS = [ 756s] | $ ./config.status Doxyfile.core [ 756s] | [ 756s] | on obs-arm-5 [ 756s] | [ 756s] | config.status:1341: creating Doxyfile.core [ 756s] [ 756s] # -*- compilation -*- [ 756s] 59. testsuite.at:372: testing exec ... [ 756s] ./testsuite.at:376: $abs_top_builddir/tests/exec/exec_test [ 756s] --- experr 2020-04-20 01:44:42.255000000 +0000 [ 756s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/59/stderr 2020-04-20 01:44:42.255000000 +0000 [ 756s] @@ -1 +0,0 @@ [ 756s] -MAHLZEIT=spaet [ 756s] 59. testsuite.at:372: 59. exec (testsuite.at:372): FAILED (testsuite.at:376) [ 756s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 756s] make[1]: *** [override_dh_auto_test] Error 1 [ 756s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 756s] debian/rules:15: recipe for target 'build' failed [ 756s] make: *** [build] Error 2 [ 756s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 756s] ### VM INTERACTION START ### [ 758s] [ 735.932540] sysrq: SysRq : Power Off [ 758s] [ 735.938165] reboot: Power down [ 759s] ### VM INTERACTION END ### [ 759s] [ 759s] obs-arm-5 failed "build libosmocore_1.3.0.70.100e.dsc" at Mon Apr 20 01:44:48 UTC 2020. [ 759s] -- 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 Apr 20 02:56:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 02:56:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704 ) Change subject: library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704 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: I762b932ed67d9e67a5e13290209cc9017dd650a7 Gerrit-Change-Number: 17704 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 02:56: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 Apr 20 02:56:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 02:56:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704 ) Change subject: library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition ...................................................................... library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition For more details, see 3GPP TS 44.060, table 11.2.5a.2. Change-Id: I762b932ed67d9e67a5e13290209cc9017dd650a7 Related: OS#1548 --- M library/RLCMAC_CSN1_Types.ttcn 1 file changed, 76 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index 1bb6232..9ceb339 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -703,5 +703,81 @@ } } + /* 3GPP TS 44.060, table 11.2.5a.2 "EGPRS PACKET CHANNEL REQUEST" */ + type union EGPRSPktChRequest { + EGPRSPktChRequest_MC5P2RB3 one_phase, + EGPRSPktChRequest_NOB3P2RB3 short, // deprecated + EGPRSPktChRequest_MCG3P2RB3 one_phase_red, + EGPRSPktChRequest_P2RB3 two_phase, + EGPRSPktChRequest_RB5 signalling, + EGPRSPktChRequest_RB5 one_phase_unack, + EGPRSPktChRequest_RB5 dedicated, + EGPRSPktChRequest_RB5 emergency, + EGPRSPktChRequest_P2RB3 two_phase_ipa, + EGPRSPktChRequest_RB5 signalling_ipa + } with { + variant "TAG ( + one_phase, tag = '0'B; + short, tag = '100'B; + one_phase_red, tag = '101'B; + two_phase, tag = '110000'B; + signalling, tag = '110011'B; + one_phase_unack, tag = '110101'B; + dedicated, tag = '110110'B; + emergency, tag = '110111'B; + two_phase_ipa, tag = '111000'B; + signalling_ipa, tag = '111001'B; + )" + }; + + private type record EGPRSPktChRequest_MC5P2RB3 { + BIT1 tag, + BIT5 multislot_class, + BIT2 priority, + BIT3 random_bits + }; + + private type record EGPRSPktChRequest_NOB3P2RB3 { + BIT3 tag, + BIT3 nr_of_blocks, + BIT2 priority, + BIT3 random_bits + }; + + private type record EGPRSPktChRequest_MCG3P2RB3 { + BIT3 tag, + BIT3 multislot_class_group, + BIT2 priority, + BIT3 random_bits + }; + + private type record EGPRSPktChRequest_P2RB3 { + BIT6 tag, + BIT2 priority, + BIT3 random_bits + }; + + private type record EGPRSPktChRequest_RB5 { + BIT6 tag, + BIT5 random_bits + }; + + /* TITAN violates length restrictions on returned type, so we cannot do '... return BIT11'. + * Keep this function private as it returns octet-aligned bitstring (+5 padding bits). */ + private external function enc_EGPRSPktChRequestInternal(in EGPRSPktChRequest req) return bitstring + with { extension "prototype(convert) encode(RAW)" }; + + function enc_EGPRSPktChRequest2bits(in EGPRSPktChRequest req) return BIT11 + { + var bitstring ra11_pad := enc_EGPRSPktChRequestInternal(req); + return substr(ra11_pad, 0, 11); /* TITAN adds 5 padding bits */ + } + + function enc_EGPRSPktChRequest2uint(in EGPRSPktChRequest req) return uint16_t + { + var BIT11 ra11 := enc_EGPRSPktChRequest2bits(req); + return bit2int(ra11); + } + } with { encode "RAW"; variant "FIELDORDER(msb)" variant "BYTEORDER(last)" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17704 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: I762b932ed67d9e67a5e13290209cc9017dd650a7 Gerrit-Change-Number: 17704 Gerrit-PatchSet: 4 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 Mon Apr 20 03:52:24 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 03:52:24 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: move net->sms_over_gsup check to gsm411_gsup_rx() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/17871 ) Change subject: SMS-over-GSUP: move net->sms_over_gsup check to gsm411_gsup_rx() ...................................................................... SMS-over-GSUP: move net->sms_over_gsup check to gsm411_gsup_rx() Change-Id: I89988b7148b164af304ecae1f53b74f322fdc7bd --- M src/libmsc/gsm_04_11_gsup.c 1 file changed, 8 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/71/17871/1 diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index dfc90cc..1751655 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -149,14 +149,6 @@ OSMO_ASSERT(0); } - /* Make sure that 'SMS over GSUP' is expected */ - if (!net->sms_over_gsup) { - /* TODO: notify sender about that? */ - LOGP(DLSMS, LOGL_NOTICE, "Unexpected MO SMS over GSUP " - "(sms-over-gsup is not enabled), ignoring message...\n"); - return -EIO; - } - /* Verify GSUP message */ if (!gsup_msg->sm_rp_mr) goto msg_error; @@ -241,14 +233,6 @@ LOGP(DLSMS, LOGL_DEBUG, "RX MT-forwardSM-Req\n"); - /* Make sure that 'SMS over GSUP' is expected */ - if (!net->sms_over_gsup) { - LOGP(DLSMS, LOGL_NOTICE, "Unexpected MT SMS over GSUP " - "(sms-over-gsup is not enabled), ignoring message...\n"); - /* TODO: notify sender about that? */ - return -EIO; - } - /** * Verify GSUP message * @@ -296,6 +280,14 @@ struct vlr_subscr *vsub; int rc; + /* Make sure that 'SMS over GSUP' is expected */ + if (!net->sms_over_gsup) { + /* TODO: notify sender about that? */ + LOGP(DLSMS, LOGL_NOTICE, "Unexpected MO/MT SMS over GSUP " + "(sms-over-gsup is not enabled), ignoring message...\n"); + return -EIO; + } + vsub = vlr_subscr_find_by_imsi(net->vlr, gsup_msg->imsi, __func__); if (!vsub) { LOGP(DLSMS, LOGL_ERROR, "Rx %s for unknown subscriber, rejecting\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I89988b7148b164af304ecae1f53b74f322fdc7bd Gerrit-Change-Number: 17871 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 Apr 20 03:52:23 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 03:52:23 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: clarify error message about unexpected MO/MT SMS References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/17870 ) Change subject: SMS-over-GSUP: clarify error message about unexpected MO/MT SMS ...................................................................... SMS-over-GSUP: clarify error message about unexpected MO/MT SMS Change-Id: I34b25764f9ce9b09ccd28cf23fea01028d0828e0 --- M src/libmsc/gsm_04_11_gsup.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/70/17870/1 diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index b6b798f..dfc90cc 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -152,8 +152,8 @@ /* Make sure that 'SMS over GSUP' is expected */ if (!net->sms_over_gsup) { /* TODO: notify sender about that? */ - LOGP(DLSMS, LOGL_NOTICE, "Unexpected MO SMS over GSUP, " - "ignoring message...\n"); + LOGP(DLSMS, LOGL_NOTICE, "Unexpected MO SMS over GSUP " + "(sms-over-gsup is not enabled), ignoring message...\n"); return -EIO; } @@ -243,8 +243,8 @@ /* Make sure that 'SMS over GSUP' is expected */ if (!net->sms_over_gsup) { - LOGP(DLSMS, LOGL_NOTICE, "Unexpected MT SMS over GSUP, " - "ignoring message...\n"); + LOGP(DLSMS, LOGL_NOTICE, "Unexpected MT SMS over GSUP " + "(sms-over-gsup is not enabled), ignoring message...\n"); /* TODO: notify sender about that? */ return -EIO; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17870 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I34b25764f9ce9b09ccd28cf23fea01028d0828e0 Gerrit-Change-Number: 17870 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 Apr 20 03:52:24 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 03:52:24 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: respond with error if net->sms_over_gsup is false References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/17872 ) Change subject: SMS-over-GSUP: respond with error if net->sms_over_gsup is false ...................................................................... SMS-over-GSUP: respond with error if net->sms_over_gsup is false Change-Id: If14f8a394e691f86e0acbffb283c3862fe62ffd2 --- M src/libmsc/gsm_04_11_gsup.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/72/17872/1 diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index 1751655..a24c617 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -282,9 +282,9 @@ /* Make sure that 'SMS over GSUP' is expected */ if (!net->sms_over_gsup) { - /* TODO: notify sender about that? */ LOGP(DLSMS, LOGL_NOTICE, "Unexpected MO/MT SMS over GSUP " "(sms-over-gsup is not enabled), ignoring message...\n"); + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_GPRS_NOTALLOWED); return -EIO; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17872 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If14f8a394e691f86e0acbffb283c3862fe62ffd2 Gerrit-Change-Number: 17872 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 Apr 20 03:52:24 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 03:52:24 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: notify sender about unhandled GSUP messages References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/17873 ) Change subject: SMS-over-GSUP: notify sender about unhandled GSUP messages ...................................................................... SMS-over-GSUP: notify sender about unhandled GSUP messages Change-Id: I7970349bd9d5c56a64c409e619e8b581682fef0b --- M src/libmsc/gsm_04_11_gsup.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/73/17873/1 diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index a24c617..cf9d11d 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -315,6 +315,7 @@ default: LOGP(DMM, LOGL_ERROR, "No handler found for %s, dropping message...\n", osmo_gsup_message_type_name(gsup_msg->message_type)); + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL); rc = -GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I7970349bd9d5c56a64c409e619e8b581682fef0b Gerrit-Change-Number: 17873 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 Apr 20 03:52:25 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 03:52:25 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: notify sender about malformed GSUP messages References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/17874 ) Change subject: SMS-over-GSUP: notify sender about malformed GSUP messages ...................................................................... SMS-over-GSUP: notify sender about malformed GSUP messages Change-Id: I27f00e69ff045cbf641ef21adf44fcd55cb8f889 --- M src/libmsc/gsm_04_11_gsup.c 1 file changed, 3 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/74/17874/1 diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index cf9d11d..7c9b6fb 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -178,9 +178,8 @@ return 0; msg_error: - /* TODO: notify sender about that? */ - LOGP(DLSMS, LOGL_NOTICE, "RX malformed %s-%s\n", - msg_name, msg_is_err ? "Err" : "Res"); + LOGP(DLSMS, LOGL_NOTICE, "RX malformed %s-%s\n", msg_name, msg_is_err ? "Err" : "Res"); + gsup_client_mux_tx_error_reply(net->gcm, gsup_msg, GMM_CAUSE_INV_MAND_INFO); return -EINVAL; } @@ -269,8 +268,8 @@ return 0; msg_error: - /* TODO: notify sender about that? */ LOGP(DLSMS, LOGL_NOTICE, "RX malformed MT-forwardSM-Req\n"); + gsup_client_mux_tx_error_reply(net->gcm, gsup_msg, GMM_CAUSE_INV_MAND_INFO); return -EINVAL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I27f00e69ff045cbf641ef21adf44fcd55cb8f889 Gerrit-Change-Number: 17874 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 Apr 20 03:52:25 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 03:52:25 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: notify sender in case of RPL delivery failure References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/17875 ) Change subject: SMS-over-GSUP: notify sender in case of RPL delivery failure ...................................................................... SMS-over-GSUP: notify sender in case of RPL delivery failure Change-Id: I8436601c4314395e28829960dc753778c37b1125 --- M src/libmsc/gsm_04_11_gsup.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/75/17875/1 diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index 7c9b6fb..1f500d0 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -261,7 +261,7 @@ if (rc) { LOGP(DLSMS, LOGL_NOTICE, "Failed to send MT SMS, " "ignoring MT-forwardSM-Req message...\n"); - /* TODO: notify sender about that? */ + gsup_client_mux_tx_error_reply(net->gcm, gsup_msg, GMM_CAUSE_NET_FAIL); return rc; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8436601c4314395e28829960dc753778c37b1125 Gerrit-Change-Number: 17875 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 Apr 20 03:52:25 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 03:52:25 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: notify sender if no transaction found References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/17876 ) Change subject: SMS-over-GSUP: notify sender if no transaction found ...................................................................... SMS-over-GSUP: notify sender if no transaction found Change-Id: I4f564610fadbfdbbc33de267786534a5405319f6 --- M src/libmsc/gsm_04_11_gsup.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/76/17876/1 diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index 1f500d0..7a47e93 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -161,7 +161,8 @@ LOGP(DLSMS, LOGL_NOTICE, "No transaction found for %s, " "ignoring %s-%s message...\n", vlr_subscr_name(vsub), msg_name, msg_is_err ? "Err" : "Res"); - return -EIO; /* TODO: notify sender about that? */ + gsup_client_mux_tx_error_reply(net->gcm, gsup_msg, GMM_CAUSE_NO_PDP_ACTIVATED); + return -EIO; } LOG_TRANS(trans, LOGL_DEBUG, "RX %s-%s\n", msg_name, msg_is_err ? "Err" : "Res"); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I4f564610fadbfdbbc33de267786534a5405319f6 Gerrit-Change-Number: 17876 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 Apr 20 04:26:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 04:26:40 +0000 Subject: Change in osmo-pcu[master]: sba: fix possible memleak in SBAController::alloc() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17877 ) Change subject: sba: fix possible memleak in SBAController::alloc() ...................................................................... sba: fix possible memleak in SBAController::alloc() Change-Id: I417eda155cd5b1e46dd0b05db3f507abd79121d1 --- M src/sba.cpp 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/77/17877/1 diff --git a/src/sba.cpp b/src/sba.cpp index 567babe..32735e8 100644 --- a/src/sba.cpp +++ b/src/sba.cpp @@ -55,13 +55,13 @@ int8_t trx, ts; uint32_t fn; + if (!gsm48_ta_is_valid(ta)) + return -EINVAL; + sba = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_sba); if (!sba) return -ENOMEM; - if (!gsm48_ta_is_valid(ta)) - return -EINVAL; - for (trx = 0; trx < 8; trx++) { for (ts = 7; ts >= 0; ts--) { pdch = &m_bts.bts_data()->trx[trx].pdch[ts]; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17877 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I417eda155cd5b1e46dd0b05db3f507abd79121d1 Gerrit-Change-Number: 17877 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 Apr 20 04:26:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 04:26:41 +0000 Subject: Change in osmo-pcu[master]: TBF/UL: fix rcv_data_block_acknowledged(): actually print decoded TLLI References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17878 ) Change subject: TBF/UL: fix rcv_data_block_acknowledged(): actually print decoded TLLI ...................................................................... TBF/UL: fix rcv_data_block_acknowledged(): actually print decoded TLLI Change-Id: I71b5c656d4b318d11bd5fe2b5d163c3a06e09a6a --- M src/tbf_ul.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/78/17878/1 diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 9e3773c..020285e 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -304,7 +304,7 @@ } LOGPTBFUL(this, LOGL_INFO, "Decoded premier TLLI=0x%08x of UL DATA TFI=%d.\n", - tlli(), rlc->tfi); + new_tlli, rlc->tfi); set_tlli_from_ul(new_tlli); } else if (new_tlli && new_tlli != tlli()) { LOGPTBFUL(this, LOGL_NOTICE, -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17878 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I71b5c656d4b318d11bd5fe2b5d163c3a06e09a6a Gerrit-Change-Number: 17878 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 Apr 20 06:19:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 06:19:12 +0000 Subject: Change in osmo-pcu[master]: TBF/UL: fix rcv_data_block_acknowledged(): print the actual TLLI 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/+/17878 to look at the new patch set (#2). Change subject: TBF/UL: fix rcv_data_block_acknowledged(): print the actual TLLI ...................................................................... TBF/UL: fix rcv_data_block_acknowledged(): print the actual TLLI Change-Id: I71b5c656d4b318d11bd5fe2b5d163c3a06e09a6a --- M src/tbf_ul.cpp M tests/tbf/TbfTest.err 2 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/78/17878/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17878 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I71b5c656d4b318d11bd5fe2b5d163c3a06e09a6a Gerrit-Change-Number: 17878 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 Apr 20 07:19:05 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 07:19:05 +0000 Subject: Change in pysim[master]: Populate AIDs present on the UICC In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17833 ) Change subject: Populate AIDs present on the UICC ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/pysim/+/17833/3/pysim-testdata/fakemagicsim.ok File pysim-testdata/fakemagicsim.ok: https://gerrit.osmocom.org/c/pysim/+/17833/3/pysim-testdata/fakemagicsim.ok at 1 PS3, Line 1: (dev=5) inter > I think we need to address this separately. [?] Thanks a lot. https://gerrit.osmocom.org/c/pysim/+/17833/3/pysim-testdata/fakemagicsim.ok at 4 PS3, Line 4: C > I think the error message should be more oriented towards the user. [?] Sure, I will put that on my to do list and address it. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4d0d8f5f1e8cb252be55a2995b730927cfa7004d Gerrit-Change-Number: 17833 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-Comment-Date: Mon, 20 Apr 2020 07:19:05 +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 Apr 20 07:45:41 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 07:45:41 +0000 Subject: Change in pysim[master]: Enable parsing of USIM Service table (UST) References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17879 ) Change subject: Enable parsing of USIM Service table (UST) ...................................................................... Enable parsing of USIM Service table (UST) As per TS.31.102, This EF indicates which USIM services are available. If a service is not indicated as available in the USIM, the ME shall not select this service. Parsing of UST is achieved by first selecting the USIM application using its AID. This is followed by selecting EF.UST with File ID - 6f38 in ADF.USIM Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 --- M pySim-read.py 1 file changed, 16 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/79/17879/1 diff --git a/pySim-read.py b/pySim-read.py index 3e25c76..5f5bea2 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -29,10 +29,11 @@ import re import sys from pySim.ts_51_011 import EF, DF, EF_SST_map +from pySim.ts_31_102 import EF_UST_map from pySim.commands import SimCardCommands from pySim.cards import card_detect, Card -from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn, format_xplmn_w_act, dec_spn +from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn, format_xplmn_w_act, dec_spn, parse_st def parse_options(): @@ -236,6 +237,20 @@ else: print("SIM Service Table: Can't read, response code = %s" % (sw,)) + # Check whether we have th AID of USIM, if so select it by its AID + # EF.UST - File Id in ADF USIM : 6f38 + if '9000' == card.select_adf_by_aid(): + # EF.UST + (res, sw) = card.read_binary('6f38') + if sw == '9000': + avail_srvs = parse_st(res) + print("USIM Service Table: %s" % res) + # Print those which are available + for s in avail_srvs: + if s in EF_UST_map: + print('\tService %d - %s: %s' % (s, EF_UST_map[s], s in avail_srvs)) + else: + print("USIM Service Table: Can't read, response code = %s" % (sw,)) # Done for this card and maybe for everything ? print("Done !\n") -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 Gerrit-Change-Number: 17879 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 08:26:48 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 08:26:48 +0000 Subject: Change in pysim[master]: Enable parsing of USIM Service table (UST) 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/+/17879 to look at the new patch set (#2). Change subject: Enable parsing of USIM Service table (UST) ...................................................................... Enable parsing of USIM Service table (UST) As per TS.31.102, This EF indicates which USIM services are available. If a service is not indicated as available in the USIM, the ME shall not select this service. Parsing of UST is achieved by first selecting the USIM application using its AID. This is followed by selecting EF.UST with File ID - 6f38 in ADF.USIM Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 --- M pySim-read.py 1 file changed, 17 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/79/17879/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 Gerrit-Change-Number: 17879 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 08:26:49 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 08:26:49 +0000 Subject: Change in pysim[master]: pySim-read.py: Add ability to read by AID with correct CLA, P1 and P2... References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17880 ) Change subject: pySim-read.py: Add ability to read by AID with correct CLA, P1 and P2 bytes ...................................................................... pySim-read.py: Add ability to read by AID with correct CLA, P1 and P2 bytes This commit add a check for whether a UICC has USIM/ISIM and changes the CLA, P1 and P2 bytes if they are present, which allows selection of USIM by its AID. Hence, enabling of reading all EFs under ADF USIM. Ref: https://web.archive.org/web/20090630004017/http://cheef.ru/docs/HowTo/APDU.info The above link provides the bytes to use for CLA, P1, P2 in APDU Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 --- M pySim-read.py 1 file changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/80/17880/1 diff --git a/pySim-read.py b/pySim-read.py index 3e25c76..9f7a305 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -236,6 +236,19 @@ else: print("SIM Service Table: Can't read, response code = %s" % (sw,)) + # In order to select by AID, APDU must contain + # Cla: 00, Ins: A4, P1: 04, P2: 00, Data: AID + # Check whether card has U/ISIM application + for aid in card._aids: + # First (known) halves of the U/ISIM AID + if "a0000000871002" in aid or \ + "a0000000871004" in aid : + scc._cla_byte = "00" + scc.sel_ctrl = "0004" + break + + # Reconnect is needed after changing the CLA, P1 and P2 bytes + sl.reset_card() # Done for this card and maybe for everything ? print("Done !\n") -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 Gerrit-Change-Number: 17880 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 08:29:00 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 08:29:00 +0000 Subject: Change in pysim[master]: Define mapping between ISIM Service Number and its description References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17881 ) Change subject: Define mapping between ISIM Service Number and its description ...................................................................... Define mapping between ISIM Service Number and its description This commit introduces a lookup table which maps ISIM Service Number to its description. The mapping is defined in 3GPP TS 31.103 version 14.2.0 Release 14, 4.2.7 EF.IST (ISIM Service Table) Change-Id: Iad51d0804259df47729308b461062f794b135e66 --- A pySim/ts_31_103.py 1 file changed, 46 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/81/17881/1 diff --git a/pySim/ts_31_103.py b/pySim/ts_31_103.py new file mode 100644 index 0000000..775453f --- /dev/null +++ b/pySim/ts_31_103.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +Various constants from ETSI TS 131 103 V14.2.0 +""" + +# +# Copyright (C) 2020 Supreeth Herle +# +# 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 . +# + +# Mapping between ISIM Service Number and its description +EF_IST_map = { + 1: 'P-CSCF address', + 2: 'Generic Bootstrapping Architecture (GBA)', + 3: 'HTTP Digest', + 4: 'GBA-based Local Key Establishment Mechanism', + 5: 'Support of P-CSCF discovery for IMS Local Break Out', + 6: 'Short Message Storage (SMS)', + 7: 'Short Message Status Reports (SMSR)', + 8: 'Support for SM-over-IP including data download via SMS-PP as defined in TS 31.111 [31]', + 9: 'Communication Control for IMS by ISIM', + 10: 'Support of UICC access to IMS', + 11: 'URI support by UICC', + 12: 'Media Type support', + 13: 'IMS call disconnection cause', + 14: 'URI support for MO SHORT MESSAGE CONTROL', + 15: 'MCPTT', + 16: 'URI support for SMS-PP DOWNLOAD as defined in 3GPP TS 31.111 [31]', + 17: 'From Preferred', + 18: 'IMS configuration data', + 19: 'XCAP Configuration Data' +} \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iad51d0804259df47729308b461062f794b135e66 Gerrit-Change-Number: 17881 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 08:29:00 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 08:29:00 +0000 Subject: Change in pysim[master]: Enable parsing of ISIM Service table (IST) References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17882 ) Change subject: Enable parsing of ISIM Service table (IST) ...................................................................... Enable parsing of ISIM Service table (IST) As per TS 31.103, This EF indicates which ISIM services are available. If a service is not indicated as available in the ISIM, the ME shall not select this service. Parsing of IST is achieved by first selecting the ISIM application using its AID. This is followed by selecting EF.IST with File ID - 6f07 in ADF.ISIM Change-Id: I3f0a7227360b72a707dc1bcc4cc9c8a4ec7ad2b2 --- M pySim-read.py 1 file changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/82/17882/1 diff --git a/pySim-read.py b/pySim-read.py index 8f2b675..fdfc1dc 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -30,6 +30,7 @@ import sys from pySim.ts_51_011 import EF, DF, EF_SST_map from pySim.ts_31_102 import EF_UST_map +from pySim.ts_31_103 import EF_IST_map from pySim.commands import SimCardCommands from pySim.cards import card_detect, Card @@ -266,5 +267,20 @@ else: print("USIM Service Table: Can't read, response code = %s" % (sw,)) + # Check whether we have th AID of ISIM, if so select it by its AID + # EF.IST - File Id in ADF ISIM : 6f07 + if '9000' == card.select_adf_by_aid(adf="isim"): + # EF.IST + (res, sw) = card.read_binary('6f07') + if sw == '9000': + avail_srvs = parse_st(res) + print("ISIM Service Table: %s" % res) + # Print those which are available + for s in avail_srvs: + if s in EF_IST_map: + print('\tService %d - %s: %s' % (s, EF_IST_map[s], s in avail_srvs)) + else: + print("ISIM Service Table: Can't read, response code = %s" % (sw,)) + # Done for this card and maybe for everything ? print("Done !\n") -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3f0a7227360b72a707dc1bcc4cc9c8a4ec7ad2b2 Gerrit-Change-Number: 17882 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 08:31:41 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 08:31:41 +0000 Subject: Change in pysim[master]: Enable parsing of USIM Service table (UST) 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/+/17879 to look at the new patch set (#3). Change subject: Enable parsing of USIM Service table (UST) ...................................................................... Enable parsing of USIM Service table (UST) As per TS.31.102, This EF indicates which USIM services are available. If a service is not indicated as available in the USIM, the ME shall not select this service. Parsing of UST is achieved by first selecting the USIM application using its AID. This is followed by selecting EF.UST with File ID - 6f38 in ADF.USIM Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 --- M pySim-read.py M pysim-testdata/Fairwaves-SIM.ok 2 files changed, 44 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/79/17879/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 Gerrit-Change-Number: 17879 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 08:35:04 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 08:35:04 +0000 Subject: Change in pysim[master]: Enable parsing of USIM Service table (UST) 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/+/17879 to look at the new patch set (#4). Change subject: Enable parsing of USIM Service table (UST) ...................................................................... Enable parsing of USIM Service table (UST) As per TS.31.102, This EF indicates which USIM services are available. If a service is not indicated as available in the USIM, the ME shall not select this service. Parsing of UST is achieved by first selecting the USIM application using its AID. This is followed by selecting EF.UST with File ID - 6f38 in ADF.USIM Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 --- M pySim-read.py M pysim-testdata/Fairwaves-SIM.ok M pysim-testdata/sysmoUSIM-SJS1.ok 3 files changed, 79 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/79/17879/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 Gerrit-Change-Number: 17879 Gerrit-PatchSet: 4 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 08:38:42 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 08:38:42 +0000 Subject: Change in pysim[master]: Enable parsing of USIM Service table (UST) 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/+/17879 to look at the new patch set (#5). Change subject: Enable parsing of USIM Service table (UST) ...................................................................... Enable parsing of USIM Service table (UST) As per TS.31.102, This EF indicates which USIM services are available. If a service is not indicated as available in the USIM, the ME shall not select this service. Parsing of UST is achieved by first selecting the USIM application using its AID. This is followed by selecting EF.UST with File ID - 6f38 in ADF.USIM Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 --- M pySim-read.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 5 files changed, 173 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/79/17879/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 Gerrit-Change-Number: 17879 Gerrit-PatchSet: 5 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 08:49:10 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 08:49:10 +0000 Subject: Change in pysim[master]: Enable parsing of USIM Service table (UST) 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/+/17879 to look at the new patch set (#6). Change subject: Enable parsing of USIM Service table (UST) ...................................................................... Enable parsing of USIM Service table (UST) As per TS.31.102, This EF indicates which USIM services are available. If a service is not indicated as available in the USIM, the ME shall not select this service. Parsing of UST is achieved by first selecting the USIM application using its AID. This is followed by selecting EF.UST with File ID - 6f38 in ADF.USIM Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 --- M pySim-read.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 5 files changed, 166 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/79/17879/6 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 Gerrit-Change-Number: 17879 Gerrit-PatchSet: 6 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 09:03:05 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 09:03:05 +0000 Subject: Change in pysim[master]: Enable parsing of ISIM Service table (IST) 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/+/17882 to look at the new patch set (#3). Change subject: Enable parsing of ISIM Service table (IST) ...................................................................... Enable parsing of ISIM Service table (IST) As per TS 31.103, This EF indicates which ISIM services are available. If a service is not indicated as available in the ISIM, the ME shall not select this service. Parsing of IST is achieved by first selecting the ISIM application using its AID. This is followed by selecting EF.IST with File ID - 6f07 in ADF.ISIM Change-Id: I3f0a7227360b72a707dc1bcc4cc9c8a4ec7ad2b2 --- M pySim-read.py M pysim-testdata/sysmoISIM-SJA2.ok 2 files changed, 21 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/82/17882/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3f0a7227360b72a707dc1bcc4cc9c8a4ec7ad2b2 Gerrit-Change-Number: 17882 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 09:03:05 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 09:03:05 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse ePDG Identifier from hex string References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17883 ) Change subject: utils.py: Add helper method to parse ePDG Identifier from hex string ...................................................................... utils.py: Add helper method to parse ePDG Identifier from hex string The hex string consists of contains zero or more ePDG identifier data objects. Each ePDG Identifier TLV data object consists of tag value of '80', length of identifier, address type. TS 31.102 version 13.4.0 Release 13. The same parsing method applies for both EF.ePDGId and EF.ePDGIdEm Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 --- M pySim/utils.py 1 file changed, 31 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/83/17883/1 diff --git a/pySim/utils.py b/pySim/utils.py index 51f2954..aeba2c1 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -347,3 +347,34 @@ avail_srvc.append((8*i) + j) byte = byte >> 1 return avail_srvc + +def dec_epdgid(hexstr): + """ + Decode ePDG Id to get EF.ePDGId or EF.ePDGIdEm. + See 3GPP TS 31.102 version 13.4.0 Release 13, section 4.2.102 and 4.2.104. + """ + + # Convert from hex str to (kind of) 'bytes' + epdgid_bytes = h2b(hexstr) + + s = "" + l = 0 + + while l < len(epdgid_bytes): + # Tag value of this TLV data object: '80' + if ord(epdgid_bytes[l]) != 0x80: + break + l += 1 + # Then, extract length of ePDGId from first byte after tag + con_len = ord(epdgid_bytes[l]) + l += 1 + # Address Type: 0x00 (FQDN), 0x01 (IPv4), 0x02 (IPv6), other (Reserved) + addr_type = ord(epdgid_bytes[l]) + l += 1 + # ePDG Identifier + # TODO: Support parsing of IPv4 and IPv6 + if addr_type == 0x00: + content = epdgid_bytes[l:l+con_len] + s = "\t%s # %s\n" % (b2h(content), content) + l += con_len + return s -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 Gerrit-Change-Number: 17883 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 09:15:35 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 20 Apr 2020 09:15:35 +0000 Subject: Change in libosmocore[master]: exec: osmo_system_nowait2: initalize *pw pointer with NULL References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17884 ) Change subject: exec: osmo_system_nowait2: initalize *pw pointer with NULL ...................................................................... exec: osmo_system_nowait2: initalize *pw pointer with NULL The pointer *pw is only populated when the the parameter *user is given, otherwise it remains uninitalized while it is used later when the previleges are being dropped. Change-Id: Idec7041e9ea17a252aefbf6fa90091ae17fd4fcd Fixes: CID#209895 --- M src/exec.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/84/17884/1 diff --git a/src/exec.c b/src/exec.c index 578e2b1..2a03ba8 100644 --- a/src/exec.c +++ b/src/exec.c @@ -211,7 +211,8 @@ */ int osmo_system_nowait2(const char *command, const char **env_whitelist, char **addl_env, const char *user) { - struct passwd _pw, *pw; + struct passwd _pw; + struct passwd *pw = NULL; int getpw_buflen = sysconf(_SC_GETPW_R_SIZE_MAX); int rc; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17884 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idec7041e9ea17a252aefbf6fa90091ae17fd4fcd Gerrit-Change-Number: 17884 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 Apr 20 09:32:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 09:32:55 +0000 Subject: Change in libosmocore[master]: exec: osmo_system_nowait2: initalize *pw pointer with NULL In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17884 ) Change subject: exec: osmo_system_nowait2: initalize *pw pointer with NULL ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17884 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idec7041e9ea17a252aefbf6fa90091ae17fd4fcd Gerrit-Change-Number: 17884 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 09:32: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 Apr 20 09:33:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 09:33:36 +0000 Subject: Change in osmo-pcu[master]: sba: fix possible memleak in SBAController::alloc() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17877 ) Change subject: sba: fix possible memleak in SBAController::alloc() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17877 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I417eda155cd5b1e46dd0b05db3f507abd79121d1 Gerrit-Change-Number: 17877 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 09:33: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 Apr 20 09:34:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 09:34:40 +0000 Subject: Change in osmo-pcu[master]: TBF/UL: fix rcv_data_block_acknowledged(): print the actual TLLI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17878 ) Change subject: TBF/UL: fix rcv_data_block_acknowledged(): print the actual TLLI ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17878 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I71b5c656d4b318d11bd5fe2b5d163c3a06e09a6a Gerrit-Change-Number: 17878 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 09:34: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 Apr 20 09:38:57 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 09:38:57 +0000 Subject: Change in osmo-pcu[master]: sba: fix possible memleak in SBAController::alloc() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17877 ) Change subject: sba: fix possible memleak in SBAController::alloc() ...................................................................... sba: fix possible memleak in SBAController::alloc() Change-Id: I417eda155cd5b1e46dd0b05db3f507abd79121d1 --- M src/sba.cpp 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/sba.cpp b/src/sba.cpp index 567babe..32735e8 100644 --- a/src/sba.cpp +++ b/src/sba.cpp @@ -55,13 +55,13 @@ int8_t trx, ts; uint32_t fn; + if (!gsm48_ta_is_valid(ta)) + return -EINVAL; + sba = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_sba); if (!sba) return -ENOMEM; - if (!gsm48_ta_is_valid(ta)) - return -EINVAL; - for (trx = 0; trx < 8; trx++) { for (ts = 7; ts >= 0; ts--) { pdch = &m_bts.bts_data()->trx[trx].pdch[ts]; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17877 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I417eda155cd5b1e46dd0b05db3f507abd79121d1 Gerrit-Change-Number: 17877 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 Apr 20 09:38:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 09:38:58 +0000 Subject: Change in osmo-pcu[master]: TBF/UL: fix rcv_data_block_acknowledged(): print the actual TLLI In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17878 ) Change subject: TBF/UL: fix rcv_data_block_acknowledged(): print the actual TLLI ...................................................................... TBF/UL: fix rcv_data_block_acknowledged(): print the actual TLLI Change-Id: I71b5c656d4b318d11bd5fe2b5d163c3a06e09a6a --- M src/tbf_ul.cpp M tests/tbf/TbfTest.err 2 files changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 9e3773c..020285e 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -304,7 +304,7 @@ } LOGPTBFUL(this, LOGL_INFO, "Decoded premier TLLI=0x%08x of UL DATA TFI=%d.\n", - tlli(), rlc->tfi); + new_tlli, rlc->tfi); set_tlli_from_ul(new_tlli); } else if (new_tlli && new_tlli != tlli()) { LOGPTBFUL(this, LOGL_NOTICE, diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 63fd515..47146dd 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1475,7 +1475,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) data_length=20, data=f1 22 33 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Decoded premier TLLI=0x00000000 of UL DATA TFI=0. +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Decoded premier TLLI=0xf1223344 of UL DATA TFI=0. Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Assembling frames: (len=20) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Frame 1 starts at offset 4, length=16, is_complete=1 @@ -2090,7 +2090,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) data_length=20, data=f1 22 33 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Decoded premier TLLI=0x00000000 of UL DATA TFI=0. +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Decoded premier TLLI=0xf1223344 of UL DATA TFI=0. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) Got RACH from TLLI=0xf1223344 while TBF still exists: killing pending DL TBF TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) changes state from ASSIGN to RELEASING TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) free -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17878 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I71b5c656d4b318d11bd5fe2b5d163c3a06e09a6a Gerrit-Change-Number: 17878 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 Mon Apr 20 09:40:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 09:40:24 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 4 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Mon, 20 Apr 2020 09:40: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 Apr 20 10:04:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 10:04:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MSC: fix TC_iu_cmserv_imsi_unknown: do not call f_mm_auth() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16889 ) Change subject: MSC: fix TC_iu_cmserv_imsi_unknown: do not call f_mm_auth() ...................................................................... Patch Set 1: (stupid Gerrit UI, I cannot add comments / reviewers without starting review) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16889 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: I26fe18093e49bc9f53ac0234338c2b5cf9e4f07c Gerrit-Change-Number: 16889 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 20 Apr 2020 10:04:36 +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 Apr 20 10:19:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 10:19:11 +0000 Subject: Change in pysim[master]: Enable parsing of USIM Service table (UST) In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17879 ) Change subject: Enable parsing of USIM Service table (UST) ...................................................................... Patch Set 6: (2 comments) https://gerrit.osmocom.org/c/pysim/+/17879/6/pySim-read.py File pySim-read.py: https://gerrit.osmocom.org/c/pysim/+/17879/6/pySim-read.py at 264 PS6, Line 264: if s in EF_UST_map We may also want to print those which are not in EF_UST_map: print("\tUnknown %d") https://gerrit.osmocom.org/c/pysim/+/17879/6/pySim-read.py at 265 PS6, Line 265: s in avail_srvs Does this really make sense? Since we do 'for s in avail_srvs', it will always be True... -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 Gerrit-Change-Number: 17879 Gerrit-PatchSet: 6 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 20 Apr 2020 10:19: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 Apr 20 10:20:21 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 10:20:21 +0000 Subject: Change in pysim[master]: Define mapping between ISIM Service Number and its description In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17881 ) Change subject: Define mapping between ISIM Service Number and its description ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/pysim/+/17881/2/pySim/ts_31_103.py File pySim/ts_31_103.py: https://gerrit.osmocom.org/c/pysim/+/17881/2/pySim/ts_31_103.py at 4 PS2, Line 4: ws https://gerrit.osmocom.org/c/pysim/+/17881/2/pySim/ts_31_103.py at 46 PS2, Line 46: } Missing new line at the end. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iad51d0804259df47729308b461062f794b135e66 Gerrit-Change-Number: 17881 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 20 Apr 2020 10: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 Mon Apr 20 10:22:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 10:22:52 +0000 Subject: Change in pysim[master]: Enable parsing of ISIM Service table (IST) In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17882 ) Change subject: Enable parsing of ISIM Service table (IST) ...................................................................... Patch Set 3: Comment I posted to change I54dbbd40bd3d22cee81f7c32e58cd946f8564257 apply here to. Also, let's avoid code duplication and introduce a function for obtaining / printing available services. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3f0a7227360b72a707dc1bcc4cc9c8a4ec7ad2b2 Gerrit-Change-Number: 17882 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 20 Apr 2020 10:22: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 Mon Apr 20 10:37:53 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 10:37:53 +0000 Subject: Change in pysim[master]: Enable parsing of USIM Service table (UST) In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17879 ) Change subject: Enable parsing of USIM Service table (UST) ...................................................................... Patch Set 6: (2 comments) https://gerrit.osmocom.org/c/pysim/+/17879/6/pySim-read.py File pySim-read.py: https://gerrit.osmocom.org/c/pysim/+/17879/6/pySim-read.py at 264 PS6, Line 264: if s in EF_UST_map > We may also want to print those which are not in EF_UST_map: [?] how about printing "Available" and "Not Available" for each service number? https://gerrit.osmocom.org/c/pysim/+/17879/6/pySim-read.py at 265 PS6, Line 265: s in avail_srvs > Does this really make sense? Since we do 'for s in avail_srvs', it will always be True... True. It doesnt make sense as it will always be true. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 Gerrit-Change-Number: 17879 Gerrit-PatchSet: 6 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 20 Apr 2020 10:37:53 +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 Apr 20 10:48:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 10:48:03 +0000 Subject: Change in osmo-uecups[master]: work around bogus compiler warnings References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17885 ) Change subject: work around bogus compiler warnings ...................................................................... work around bogus compiler warnings Change-Id: I9170e4de857c1f3e003a480b12dd16fe796ec763 --- M daemon/daemon_vty.c M daemon/gtp_tunnel.c M daemon/main.c M daemon/tun_device.c 4 files changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/85/17885/1 diff --git a/daemon/daemon_vty.c b/daemon/daemon_vty.c index efd9c0f..c84c727 100644 --- a/daemon/daemon_vty.c +++ b/daemon/daemon_vty.c @@ -127,7 +127,7 @@ "Local IP address\n" "Local UDP Port\n") { struct gtp_endpoint *ep; - struct addrinfo *ai; + struct addrinfo *ai = NULL; const char *ipstr; uint16_t port = GTP1U_PORT; diff --git a/daemon/gtp_tunnel.c b/daemon/gtp_tunnel.c index 0d049c7..f9075f7 100644 --- a/daemon/gtp_tunnel.c +++ b/daemon/gtp_tunnel.c @@ -83,6 +83,7 @@ return NULL; } +#if 0 /* find tunnel by R(x_teid), T(x_teid) + A(ddr) */ static struct gtp_tunnel * _gtp_tunnel_find_rta(struct gtp_daemon *d, uint32_t rx_teid, uint32_t tx_teid, @@ -96,6 +97,7 @@ } return NULL; } +#endif /* find tunnel by R(x_teid) + optionally local endpoint */ struct gtp_tunnel * diff --git a/daemon/main.c b/daemon/main.c index 6ce9042..f7299a5 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -378,7 +378,7 @@ const char *cmd, *user; char **addl_env = NULL; sigset_t oldmask; - int nsfd, rc; + int nsfd = -1, rc; juser = json_object_get(sprog, "run_as_user"); jcmd = json_object_get(sprog, "command"); diff --git a/daemon/tun_device.c b/daemon/tun_device.c index e20607d..aeab1c0 100644 --- a/daemon/tun_device.c +++ b/daemon/tun_device.c @@ -204,7 +204,7 @@ if (name) { /* if a TUN interface name was specified, put it in the structure; otherwise, the kernel will try to allocate the "next" device of the specified type */ - strncpy(ifr.ifr_name, name, IFNAMSIZ); + osmo_strlcpy(ifr.ifr_name, name, IFNAMSIZ); } /* try to create the device */ -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I9170e4de857c1f3e003a480b12dd16fe796ec763 Gerrit-Change-Number: 17885 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 Apr 20 10:48:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 10:48:03 +0000 Subject: Change in osmo-uecups[master]: daemon: set msgb talloc context References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17886 ) Change subject: daemon: set msgb talloc context ...................................................................... daemon: set msgb talloc context Change-Id: Id16952e7c65a1691bbfed8bbfc4f597ae13b10a0 --- M daemon/main.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/86/17886/1 diff --git a/daemon/main.c b/daemon/main.c index f7299a5..e1f39cb 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -711,6 +711,7 @@ g_daemon = gtp_daemon_alloc(g_tall_ctx); OSMO_ASSERT(g_daemon); + msgb_talloc_ctx_init(g_tall_ctx, 10); osmo_stats_init(g_tall_ctx); vty_init(&g_vty_info); logging_vty_add_cmds(); -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17886 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Id16952e7c65a1691bbfed8bbfc4f597ae13b10a0 Gerrit-Change-Number: 17886 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 Apr 20 10:48:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 10:48:04 +0000 Subject: Change in osmo-uecups[master]: daemon: rename default config file to osmo-uecups-daemon.cfg References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17887 ) Change subject: daemon: rename default config file to osmo-uecups-daemon.cfg ...................................................................... daemon: rename default config file to osmo-uecups-daemon.cfg Change-Id: Icd1e5f2d62fa46029cfe55878a84166ef76a4e91 --- M daemon/main.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/87/17887/1 diff --git a/daemon/main.c b/daemon/main.c index e1f39cb..a408df4 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -631,7 +631,7 @@ static void *g_tall_ctx; struct gtp_daemon *g_daemon; static int g_daemonize; -static char *g_config_file = "osmo-gtpu-daemon.cfg"; +static char *g_config_file = "osmo-uecups-daemon.cfg"; extern struct vty_app_info g_vty_info; static void signal_cb(struct osmo_signalfd *osfd, const struct signalfd_siginfo *fdsi) -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Icd1e5f2d62fa46029cfe55878a84166ef76a4e91 Gerrit-Change-Number: 17887 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 Apr 20 10:48:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 10:48:04 +0000 Subject: Change in osmo-uecups[master]: migrate to autotools References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17888 ) Change subject: migrate to autotools ...................................................................... migrate to autotools Change-Id: Icb1a0a2e39f291ceac5c868d76445799d0ce31f1 --- M .gitignore A Makefile.am A configure.ac M contrib/jenkins.sh D daemon/Makefile A daemon/Makefile.am A git-version-gen 7 files changed, 380 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/88/17888/1 diff --git a/.gitignore b/.gitignore index c0de8b5..f4442dd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,33 @@ *.o +*.lo +*.a +.deps *.d +Makefile +Makefile.in + +# configure +aclocal.m4 +autom4te.cache +config.log +config.status +config.guess +config.sub +configure +compile +depcomp +install-sh +missing +stamp-h1 +libtool +ltmain.sh +m4/*.m4 + +# git-version-gen magic +.tarball-version +.version + +ttcn3/*.cc +ttcn3/*.hh + daemon/osmo-uecups-daemon diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..7800cd2 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,19 @@ +AUTOMAKE_OPTIONS = foreign dist-bzip2 1.6 + +## FIXME: automake >= 1.13 or autoconf >= 2.70 provide better suited AC_CONFIG_MACRO_DIRS for configure.ac +## remove line below when OE toolchain is updated to version which include those +ACLOCAL_AMFLAGS = -I m4 + +SUBDIRS = \ + daemon \ + $(NULL) + +BUILT_SOURCES = $(top_srcdir)/.version +EXTRA_DIST = git-version-gen .version + + at RELMAKE@ + +$(top_srcdir)/.version: + echo $(VERSION) > $@-t && mv $@-t $@ +dist-hook: + echo $(VERSION) > $(distdir)/.tarball-version diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..67f02bb --- /dev/null +++ b/configure.ac @@ -0,0 +1,122 @@ +# Process this file with autoconf to produce a configure script. +AC_INIT([osmo-uecups],[m4_esyscmd(./git-version-gen .tarball-version)],[osmocom-net-gprs at lists.osmocom.org]) + +dnl *This* is the root dir, even if an install-sh exists in ../ or ../../ +AC_CONFIG_AUX_DIR([.]) + +AM_INIT_AUTOMAKE([dist-bzip2]) + +dnl kernel style compile messages +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +dnl include release helper +RELMAKE='-include osmo-release.mk' +AC_SUBST([RELMAKE]) + +# Checks for programs. +AC_PROG_MAKE_SET +AC_PROG_CC +AC_PROG_INSTALL +LT_INIT + +dnl check for pkg-config (explained in detail in libosmocore/configure.ac) +AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) +if test "x$PKG_CONFIG_INSTALLED" = "xno"; then + AC_MSG_WARN([You need to install pkg-config]) +fi +PKG_PROG_PKG_CONFIG([0.20]) + +dnl check for AX_CHECK_COMPILE_FLAG +m4_ifdef([AX_CHECK_COMPILE_FLAG], [], [ + AC_MSG_ERROR([Please install autoconf-archive; re-run 'autoreconf -fi' for it to take effect.]) + ]) + +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.1.0) +PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.7.0) +PKG_CHECK_MODULES(LIBJANSSON, jansson) +PKG_CHECK_MODULES(LIBNLROUTE3, libnl-route-3.0) + +AC_HEADER_STDC + +AC_ARG_ENABLE(sanitize, + [AS_HELP_STRING( + [--enable-sanitize], + [Compile with address sanitizer enabled], + )], + [sanitize=$enableval], [sanitize="no"]) +if test x"$sanitize" = x"yes" +then + CFLAGS="$CFLAGS -fsanitize=address -fsanitize=undefined" + CPPFLAGS="$CPPFLAGS -fsanitize=address -fsanitize=undefined" +fi + +AC_ARG_ENABLE(werror, + [AS_HELP_STRING( + [--enable-werror], + [Turn all compiler warnings into errors, with exceptions: + a) deprecation (allow upstream to mark deprecation without breaking builds); + b) "#warning" pragmas (allow to remind ourselves of errors without breaking builds) + ] + )], + [werror=$enableval], [werror="no"]) +if test x"$werror" = x"yes" +then + WERROR_FLAGS="-Werror" + WERROR_FLAGS+=" -Wno-error=deprecated -Wno-error=deprecated-declarations" + WERROR_FLAGS+=" -Wno-error=cpp" # "#warning" + CFLAGS="$CFLAGS $WERROR_FLAGS" + CPPFLAGS="$CPPFLAGS $WERROR_FLAGS" +fi + +# The following test is taken from WebKit's webkit.m4 +saved_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -fvisibility=hidden " +AC_MSG_CHECKING([if ${CC} supports -fvisibility=hidden]) +AC_COMPILE_IFELSE([AC_LANG_SOURCE([char foo;])], + [ AC_MSG_RESULT([yes]) + SYMBOL_VISIBILITY="-fvisibility=hidden"], + AC_MSG_RESULT([no])) +CFLAGS="$saved_CFLAGS" +AC_SUBST(SYMBOL_VISIBILITY) + +AX_CHECK_COMPILE_FLAG([-Werror=implicit], [CFLAGS="$CFLAGS -Werror=implicit"]) +AX_CHECK_COMPILE_FLAG([-Werror=maybe-uninitialized], [CFLAGS="$CFLAGS -Werror=maybe-uninitialized"]) +AX_CHECK_COMPILE_FLAG([-Werror=memset-transposed-args], [CFLAGS="$CFLAGS -Werror=memset-transposed-args"]) +AX_CHECK_COMPILE_FLAG([-Wnull-dereference], [CFLAGS="$CFLAGS -Wnull-dereference"]) +AX_CHECK_COMPILE_FLAG([-Werror=sizeof-array-argument], [CFLAGS="$CFLAGS -Werror=sizeof-array-argument"]) +AX_CHECK_COMPILE_FLAG([-Werror=sizeof-pointer-memaccess], [CFLAGS="$CFLAGS -Werror=sizeof-pointer-memaccess"]) + +# Coverage build taken from WebKit's configure.in +AC_MSG_CHECKING([whether to enable code coverage support]) +AC_ARG_ENABLE(coverage, + AC_HELP_STRING([--enable-coverage], + [enable code coverage support [default=no]]), + [],[enable_coverage="no"]) +AC_MSG_RESULT([$enable_coverage]) +if test "$enable_coverage" = "yes"; then + COVERAGE_CFLAGS="-ftest-coverage -fprofile-arcs" + COVERAGE_LDFLAGS="-ftest-coverage -fprofile-arcs" + AC_SUBST([COVERAGE_CFLAGS]) + AC_SUBST([COVERAGE_LDFLAGS]) +fi + +AC_ARG_ENABLE(profile, + [AS_HELP_STRING([--enable-profile], [Compile with profiling support enabled], )], + [profile=$enableval], [profile="no"]) +if test x"$profile" = x"yes" +then + CFLAGS="$CFLAGS -pg" + CPPFLAGS="$CPPFLAGS -pg" +fi + + + + +AC_MSG_RESULT([CFLAGS="$CFLAGS"]) +AC_MSG_RESULT([CPPFLAGS="$CPPFLAGS"]) + +AC_OUTPUT( + Makefile + daemon/Makefile + ) diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 1a218b9..ec97a36 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -33,8 +33,15 @@ echo set -x -cd daemon -make +cd "$base" +autoreconf --install --force +./configure --enable-sanitize --enable-external-tests --enable-werror $CONFIG +$MAKE $PARALLEL_MAKE +LD_LIBRARY_PATH="$inst/lib" $MAKE check \ + || cat-testlogs.sh +LD_LIBRARY_PATH="$inst/lib" \ + DISTCHECK_CONFIGURE_FLAGS="--enable-vty-tests --enable-external-tests --enable-werror $CONFIG" \ + $MAKE distcheck \ + || cat-testlogs.sh -osmo-clean-workspace.sh - +$MAKE maintainer-clean diff --git a/daemon/Makefile b/daemon/Makefile deleted file mode 100644 index 6cbd59c..0000000 --- a/daemon/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -LIBS=-lpthread -lsctp $(shell pkg-config --libs libosmocore libosmovty libosmo-netif jansson libnl-route-3.0) -INC=$(shell pkg-config --cflags libosmocore libosmovty libosmo-netif jansson libnl-route-3.0) -VER=$(shell git describe --tags) -CFLAGS=-Wall -g -DPACKAGE_VERSION='"$(VER)"' $(INC) - -all: osmo-uecups-daemon - -%.o: %.c - $(CC) $(CFLAGS) -o $@ -c $^ - -osmo-uecups-daemon: utility.o netdev.o netns.o tun_device.o \ - gtp_endpoint.o gtp_tunnel.o daemon_vty.o main.o - $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) - -clean: - @rm -f *.o osmo-uecups-daemon diff --git a/daemon/Makefile.am b/daemon/Makefile.am new file mode 100644 index 0000000..7d41766 --- /dev/null +++ b/daemon/Makefile.am @@ -0,0 +1,47 @@ +AM_CPPFLAGS = \ + $(all_includes) \ + $(NULL) + +AM_CFLAGS = \ + -Wall \ + $(LIBOSMOCORE_CFLAGS) \ + $(LIBOSMOVTY_CFLAGS) \ + $(LIBOSMONETIF_CFLAGS) \ + $(LIBJANSSON_CFLAGS) \ + $(LIBNLROUTE3_CFLAGS) \ + $(NULL) + +LDADD = \ + -lpthread \ + -lsctp \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOVTY_LIBS) \ + $(LIBOSMONETIF_LIBS) \ + $(LIBJANSSON_LIBS) \ + $(LIBNLROUTE3_LIBS) \ + $(NULL) + +AM_LDFLAGS = \ + $(COVERAGE_LDFLAGS) \ + $(NULL) + +noinst_HEADERS = \ + gtp.h \ + netns.h \ + internal.h \ + $(NULL) + +bin_PROGRAMS = \ + osmo-uecups-daemon \ + $(NULL) + +osmo_uecups_daemon_SOURCES = \ + utility.c \ + netdev.c \ + netns.c \ + tun_device.c \ + gtp_endpoint.c \ + gtp_tunnel.c \ + daemon_vty.c \ + main.c \ + $(NULL) diff --git a/git-version-gen b/git-version-gen new file mode 100755 index 0000000..42cf3d2 --- /dev/null +++ b/git-version-gen @@ -0,0 +1,151 @@ +#!/bin/sh +# Print a version string. +scriptversion=2010-01-28.01 + +# Copyright (C) 2007-2010 Free Software Foundation, Inc. +# +# 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 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 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 . + +# This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/. +# It may be run two ways: +# - from a git repository in which the "git describe" command below +# produces useful output (thus requiring at least one signed tag) +# - from a non-git-repo directory containing a .tarball-version file, which +# presumes this script is invoked like "./git-version-gen .tarball-version". + +# In order to use intra-version strings in your project, you will need two +# separate generated version string files: +# +# .tarball-version - present only in a distribution tarball, and not in +# a checked-out repository. Created with contents that were learned at +# the last time autoconf was run, and used by git-version-gen. Must not +# be present in either $(srcdir) or $(builddir) for git-version-gen to +# give accurate answers during normal development with a checked out tree, +# but must be present in a tarball when there is no version control system. +# Therefore, it cannot be used in any dependencies. GNUmakefile has +# hooks to force a reconfigure at distribution time to get the value +# correct, without penalizing normal development with extra reconfigures. +# +# .version - present in a checked-out repository and in a distribution +# tarball. Usable in dependencies, particularly for files that don't +# want to depend on config.h but do want to track version changes. +# Delete this file prior to any autoconf run where you want to rebuild +# files to pick up a version string change; and leave it stale to +# minimize rebuild time after unrelated changes to configure sources. +# +# It is probably wise to add these two files to .gitignore, so that you +# don't accidentally commit either generated file. +# +# Use the following line in your configure.ac, so that $(VERSION) will +# automatically be up-to-date each time configure is run (and note that +# since configure.ac no longer includes a version string, Makefile rules +# should not depend on configure.ac for version updates). +# +# AC_INIT([GNU project], +# m4_esyscmd([build-aux/git-version-gen .tarball-version]), +# [bug-project at example]) +# +# Then use the following lines in your Makefile.am, so that .version +# will be present for dependencies, and so that .tarball-version will +# exist in distribution tarballs. +# +# BUILT_SOURCES = $(top_srcdir)/.version +# $(top_srcdir)/.version: +# echo $(VERSION) > $@-t && mv $@-t $@ +# dist-hook: +# echo $(VERSION) > $(distdir)/.tarball-version + +case $# in + 1) ;; + *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version"; exit 1;; +esac + +tarball_version_file=$1 +nl=' +' + +# First see if there is a tarball-only version file. +# then try "git describe", then default. +if test -f $tarball_version_file +then + v=`cat $tarball_version_file` || exit 1 + case $v in + *$nl*) v= ;; # reject multi-line output + [0-9]*) ;; + *) v= ;; + esac + test -z "$v" \ + && echo "$0: WARNING: $tarball_version_file seems to be damaged" 1>&2 +fi + +if test -n "$v" +then + : # use $v +elif + v=`git describe --abbrev=4 --match='v*' HEAD 2>/dev/null \ + || git describe --abbrev=4 HEAD 2>/dev/null` \ + && case $v in + [0-9]*) ;; + v[0-9]*) ;; + *) (exit 1) ;; + esac +then + # Is this a new git that lists number of commits since the last + # tag or the previous older version that did not? + # Newer: v6.10-77-g0f8faeb + # Older: v6.10-g0f8faeb + case $v in + *-*-*) : git describe is okay three part flavor ;; + *-*) + : git describe is older two part flavor + # Recreate the number of commits and rewrite such that the + # result is the same as if we were using the newer version + # of git describe. + vtag=`echo "$v" | sed 's/-.*//'` + numcommits=`git rev-list "$vtag"..HEAD | wc -l` + v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`; + ;; + esac + + # Change the first '-' to a '.', so version-comparing tools work properly. + # Remove the "g" in git describe's output string, to save a byte. + v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`; +else + v=UNKNOWN +fi + +v=`echo "$v" |sed 's/^v//'` + +# Don't declare a version "dirty" merely because a time stamp has changed. +git status > /dev/null 2>&1 + +dirty=`sh -c 'git diff-index --name-only HEAD' 2>/dev/null` || dirty= +case "$dirty" in + '') ;; + *) # Append the suffix only if there isn't one already. + case $v in + *-dirty) ;; + *) v="$v-dirty" ;; + esac ;; +esac + +# Omit the trailing newline, so that m4_esyscmd can use the result directly. +echo "$v" | tr -d '\012' + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Icb1a0a2e39f291ceac5c868d76445799d0ce31f1 Gerrit-Change-Number: 17888 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 Apr 20 10:48:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 10:48:05 +0000 Subject: Change in osmo-uecups[master]: autotools: add documentation example References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17889 ) Change subject: autotools: add documentation example ...................................................................... autotools: add documentation example Change-Id: Ia1fd914662fd49e470d65e08c6fa972c7f680ff5 --- M Makefile.am M configure.ac A doc/Makefile.am A doc/examples/Makefile.am A doc/examples/osmo-uecups-daemon.cfg 5 files changed, 36 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/89/17889/1 diff --git a/Makefile.am b/Makefile.am index 7800cd2..311faf4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,6 +6,7 @@ SUBDIRS = \ daemon \ + doc \ $(NULL) BUILT_SOURCES = $(top_srcdir)/.version diff --git a/configure.ac b/configure.ac index 67f02bb..94bde9d 100644 --- a/configure.ac +++ b/configure.ac @@ -119,4 +119,6 @@ AC_OUTPUT( Makefile daemon/Makefile + doc/Makefile + doc/examples/Makefile ) diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..5a23107 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,3 @@ +SUBDIRS = \ + examples \ + $(NULL) diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am new file mode 100644 index 0000000..5a8f1fa --- /dev/null +++ b/doc/examples/Makefile.am @@ -0,0 +1,30 @@ +OSMOCONF_FILES = \ + osmo-uecups-daemon.cfg + +osmoconfdir = $(sysconfdir)/osmocom +osmoconf_DATA = $(OSMOCONF_FILES) + +EXTRA_DIST = $(OSMOCONF_FILES) + +CFG_FILES = find $(srcdir) -name '*.cfg*' | sed -e 's,^$(srcdir),,' + +dist-hook: + for f in $$($(CFG_FILES)); do \ + j="$(distdir)/$$f" && \ + mkdir -p "$$(dirname $$j)" && \ + $(INSTALL_DATA) $(srcdir)/$$f $$j; \ + done + +install-data-hook: + for f in $$($(CFG_FILES)); do \ + j="$(DESTDIR)$(docdir)/examples/$$f" && \ + mkdir -p "$$(dirname $$j)" && \ + $(INSTALL_DATA) $(srcdir)/$$f $$j; \ + done + +uninstall-hook: + @$(PRE_UNINSTALL) + for f in $$($(CFG_FILES)); do \ + j="$(DESTDIR)$(docdir)/examples/$$f" && \ + $(RM) $$j; \ + done diff --git a/doc/examples/osmo-uecups-daemon.cfg b/doc/examples/osmo-uecups-daemon.cfg new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/doc/examples/osmo-uecups-daemon.cfg -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17889 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Ia1fd914662fd49e470d65e08c6fa972c7f680ff5 Gerrit-Change-Number: 17889 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 Apr 20 10:50:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 10:50:02 +0000 Subject: Change in osmo-uecups[master]: daemon: set msgb talloc context In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17886 ) Change subject: daemon: set msgb talloc context ...................................................................... Patch Set 1: What's the rationale behind using 10 for pool? -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17886 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Id16952e7c65a1691bbfed8bbfc4f597ae13b10a0 Gerrit-Change-Number: 17886 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 10:50:02 +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 Apr 20 10:55:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 10:55:27 +0000 Subject: Change in osmo-uecups[master]: work around bogus compiler warnings In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17885 ) Change subject: work around bogus compiler warnings ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-uecups/+/17885/1/daemon/tun_device.c File daemon/tun_device.c: https://gerrit.osmocom.org/c/osmo-uecups/+/17885/1/daemon/tun_device.c at 207 PS1, Line 207: osmo_strlcpy(ifr.ifr_name, name, IFNAMSIZ); osmo_strlcpy adds a null character at the end, and if I recall correctly buffers of IFNAMSIZ can be non-null terminated (or had some kind of particularity I don't fully remember now), so it's possible that use of strncpy here is fine. One would need to verify that just in case. -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I9170e4de857c1f3e003a480b12dd16fe796ec763 Gerrit-Change-Number: 17885 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 10:55: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 Mon Apr 20 10:56:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 10:56:02 +0000 Subject: Change in osmo-uecups[master]: daemon: rename default config file to osmo-uecups-daemon.cfg In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17887 ) Change subject: daemon: rename default config file to osmo-uecups-daemon.cfg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Icd1e5f2d62fa46029cfe55878a84166ef76a4e91 Gerrit-Change-Number: 17887 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 10:56: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 Apr 20 10:56:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 10:56:04 +0000 Subject: Change in osmo-uecups[master]: Add support for SIGUSR1 talloc report + SIGHUP logfile re-open In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17859 ) Change subject: Add support for SIGUSR1 talloc report + SIGHUP logfile re-open ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17859 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I8bfce39443fd29b6acab9a88c9fa5da54c46e824 Gerrit-Change-Number: 17859 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 20 Apr 2020 10:56: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 Apr 20 10:56:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 10:56:30 +0000 Subject: Change in osmo-uecups[master]: daemon: set msgb talloc context In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17886 ) Change subject: daemon: set msgb talloc context ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17886 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Id16952e7c65a1691bbfed8bbfc4f597ae13b10a0 Gerrit-Change-Number: 17886 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 10:56: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 Apr 20 10:57:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 10:57:52 +0000 Subject: Change in pysim[master]: Enable parsing of USIM Service table (UST) In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17879 ) Change subject: Enable parsing of USIM Service table (UST) ...................................................................... Patch Set 6: (1 comment) I also think that we should introduce one or more command line options, and make printing supported services optional (depending on these options). For example: ./pySim-read.py --parse-sst all # Parse and print all SIM/USIM/ISIM SST ./pySim-read.py --parse-sst sim,usim # Parse and print all SIM/USIM SST ./pySim-read.py # Do not parse any SST at all (default) https://gerrit.osmocom.org/c/pysim/+/17879/6/pySim-read.py File pySim-read.py: https://gerrit.osmocom.org/c/pysim/+/17879/6/pySim-read.py at 264 PS6, Line 264: if s in EF_UST_map > how about printing "Available" and "Not Available" for each service number? I am fine with the current approach, i.e. printing only supported (by SIM card) services. What I meant here is that we may want to print a service that is supported but not listed in EF_UST_map. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 Gerrit-Change-Number: 17879 Gerrit-PatchSet: 6 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 20 Apr 2020 10:57:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: herlesupreeth Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 11:09:32 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 11:09:32 +0000 Subject: Change in pysim[master]: Enable parsing of USIM Service table (UST) In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17879 ) Change subject: Enable parsing of USIM Service table (UST) ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17879/6/pySim-read.py File pySim-read.py: https://gerrit.osmocom.org/c/pysim/+/17879/6/pySim-read.py at 264 PS6, Line 264: if s in EF_UST_map > I am fine with the current approach, i.e. printing only supported (by SIM card) services. [?] but for this we may need check based on presence of certain EF's or not right? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 Gerrit-Change-Number: 17879 Gerrit-PatchSet: 6 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 20 Apr 2020 11:09:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: herlesupreeth Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 11:21:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 11:21:45 +0000 Subject: Change in osmo-uecups[master]: migrate to autotools 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-uecups/+/17888 to look at the new patch set (#2). Change subject: migrate to autotools ...................................................................... migrate to autotools Change-Id: Icb1a0a2e39f291ceac5c868d76445799d0ce31f1 --- M .gitignore A Makefile.am A configure.ac M contrib/jenkins.sh D daemon/Makefile A daemon/Makefile.am A doc/Makefile.am A doc/examples/Makefile.am A doc/examples/osmo-uecups-daemon.cfg A git-version-gen 10 files changed, 416 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/88/17888/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Icb1a0a2e39f291ceac5c868d76445799d0ce31f1 Gerrit-Change-Number: 17888 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 Mon Apr 20 11:21:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 11:21:46 +0000 Subject: Change in osmo-uecups[master]: daemon: Work around old libnl3 failing to include linux/netlink.h References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17890 ) Change subject: daemon: Work around old libnl3 failing to include linux/netlink.h ...................................................................... daemon: Work around old libnl3 failing to include linux/netlink.h In file included from /usr/include/libnl3/netlink/socket.h:16:0, from netdev.c:19: /usr/include/libnl3/netlink/handlers.h:51:15: warning: ?struct nlmsgerr? declared inside parameter list will not be visible outside of this definition or declaration struct nlmsgerr *nlerr, void *arg); Change-Id: Ia2d1b0d5ccf427895feb80298d9b5c3aef1c6c9d --- M daemon/netdev.c M daemon/tun_device.c 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/90/17890/1 diff --git a/daemon/netdev.c b/daemon/netdev.c index 2022d24..e619883 100644 --- a/daemon/netdev.c +++ b/daemon/netdev.c @@ -16,6 +16,7 @@ #include #include +#include #include #include #include diff --git a/daemon/tun_device.c b/daemon/tun_device.c index e20607d..738d492 100644 --- a/daemon/tun_device.c +++ b/daemon/tun_device.c @@ -22,6 +22,7 @@ #include #include +#include #include #include -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17890 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Ia2d1b0d5ccf427895feb80298d9b5c3aef1c6c9d Gerrit-Change-Number: 17890 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 Apr 20 11:21:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 11:21:47 +0000 Subject: Change in osmo-uecups[master]: debian packaging References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17891 ) Change subject: debian packaging ...................................................................... debian packaging Change-Id: Ib86883b99a4650e984146b0d036d0c14dbec3d14 --- A debian/changelog A debian/compat A debian/control A debian/copyright A debian/rules A debian/source/format 6 files changed, 119 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/91/17891/1 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..6c692f8 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,6 @@ +osmo-uecups (0.1.0) unstable; urgency=medium + + [ Harald Welte ] + * initial debian package + + -- Harald Welte Mon, 20 Apr 2020 08:24:51 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..dbeb691 --- /dev/null +++ b/debian/control @@ -0,0 +1,26 @@ +Source: osmo-uecups +Section: net +Priority: extra +Maintainer: Harald Welte +Build-Depends: debhelper (>=9), + dh-autoreconf, + autotools-dev, + autoconf, + automake, + libtool, + pkg-config, + libjansson-dev, + libnl-route-3-dev, + libosmocore-dev (>= 1.1.0), + libosmo-netif-dev, + osmo-gsm-manuals-dev +Standards-Version: 3.9.8 +Vcs-Git: git://git.osmocom.org/osmo-uecups.git +Vcs-Browser: https://git.osmocom.org/osmo-uecups +Homepage: https://osmocom.org/projects/osmo-uecups + +Package: osmo-uecups +Architecture: any +Multi-Arch: foreign +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: OsmoUECUPS: UE/MME/SGW side GTP user plane daemon with control plane separation diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..7bf2537 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,19 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: osmo-uecups +Source: git://git.osmocom.org/osmo-uecups + +Files: * +Copyright: 2019-2020 Harald Welte +License: 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 Affero General Public License + along with this program. If not, see . diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..2c41c2b --- /dev/null +++ b/debian/rules @@ -0,0 +1,66 @@ +#!/usr/bin/make -f +# You must remove unused comment lines for the released package. +# See debhelper(7) (uncomment to enable) +# This is an autogenerated template for debian/rules. +# +# Output every command that modifies files on the build system. +#export DH_VERBOSE = 1 +# +# Copy some variable definitions from pkg-info.mk and vendor.mk +# under /usr/share/dpkg/ to here if they are useful. +# +# See FEATURE AREAS/ENVIRONMENT in dpkg-buildflags(1) +# Apply all hardening options +#export DEB_BUILD_MAINT_OPTIONS = hardening=+all +# Package maintainers to append CFLAGS +#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic +# Package maintainers to append LDFLAGS +#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed +# +# With debhelper version 9 or newer, the dh command exports +# all buildflags. So there is no need to include the +# /usr/share/dpkg/buildflags.mk file here if compat is 9 or newer. +# +# These are rarely used code. (START) +# +# The following include for *.mk magically sets miscellaneous +# variables while honoring existing values of pertinent +# environment variables: +# +# Architecture-related variables such as DEB_TARGET_MULTIARCH: +#include /usr/share/dpkg/architecture.mk +# Vendor-related variables such as DEB_VENDOR: +#include /usr/share/dpkg/vendor.mk +# Package-related variables such as DEB_DISTRIBUTION +#include /usr/share/dpkg/pkg-info.mk +# +# You may alternatively set them susing a simple script such as: +# DEB_VENDOR ?= $(shell dpkg-vendor --query Vendor) +# +# These are rarely used code. (END) +# + +# main packaging script based on dh7 syntax +%: + dh $@ --with autoreconf + +# debmake generated override targets +CONFIGURE_FLAGS += --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals +override_dh_auto_configure: + dh_auto_configure -- $(CONFIGURE_FLAGS) +# +# Do not install libtool archive, python .pyc .pyo +#override_dh_install: +# dh_install --list-missing -X.la -X.pyc -X.pyo + +# See https://www.debian.org/doc/manuals/developers-reference/best-pkging-practices.html#bpp-dbg +#override_dh_strip: +# dh_strip -posmo-uecups --dbg-package=osmo-uecups-dbg + +# Print test results in case of a failure +override_dh_auto_test: + dh_auto_test || (find . -name testsuite.log -exec cat {} \; ; false) + +# Don't create .pdf.gz files (barely saves space and they can't be opened directly by most pdf readers) +override_dh_compress: + dh_compress -X.pdf diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..89ae9db --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (native) -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17891 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Ib86883b99a4650e984146b0d036d0c14dbec3d14 Gerrit-Change-Number: 17891 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 Apr 20 11:26:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 11:26:35 +0000 Subject: Change in osmo-uecups[master]: Add support for SIGUSR1 talloc report + SIGHUP logfile re-open In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17859 ) Change subject: Add support for SIGUSR1 talloc report + SIGHUP logfile re-open ...................................................................... Add support for SIGUSR1 talloc report + SIGHUP logfile re-open Change-Id: I8bfce39443fd29b6acab9a88c9fa5da54c46e824 --- M daemon/main.c 1 file changed, 25 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/daemon/main.c b/daemon/main.c index a458e16..6ce9042 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -628,11 +628,26 @@ #define OSMO_VTY_PORT_UECUPS 4268 #endif +static void *g_tall_ctx; struct gtp_daemon *g_daemon; static int g_daemonize; static char *g_config_file = "osmo-gtpu-daemon.cfg"; extern struct vty_app_info g_vty_info; +static void signal_cb(struct osmo_signalfd *osfd, const struct signalfd_siginfo *fdsi) +{ + switch (fdsi->ssi_signo) { + case SIGCHLD: + sigchild_cb(osfd, fdsi); + break; + case SIGUSR1: + talloc_report_full(g_tall_ctx, stderr); + break; + default: + break; + } +} + static struct gtp_daemon *gtp_daemon_alloc(void *ctx) { struct gtp_daemon *d = talloc_zero(ctx, struct gtp_daemon); @@ -685,23 +700,23 @@ int main(int argc, char **argv) { - void *ctx = talloc_named_const(NULL, 0, "root"); int rc; - g_vty_info.tall_ctx = ctx; + g_tall_ctx = talloc_named_const(NULL, 0, "root"); + g_vty_info.tall_ctx = g_tall_ctx; osmo_init_ignore_signals(); - osmo_init_logging2(ctx, &log_info); + osmo_init_logging2(g_tall_ctx, &log_info); - g_daemon = gtp_daemon_alloc(ctx); + g_daemon = gtp_daemon_alloc(g_tall_ctx); OSMO_ASSERT(g_daemon); - osmo_stats_init(ctx); + osmo_stats_init(g_tall_ctx); vty_init(&g_vty_info); logging_vty_add_cmds(); osmo_talloc_vty_add_cmds(); osmo_stats_vty_add_cmds(); - rate_ctr_init(ctx); + rate_ctr_init(g_tall_ctx); gtpud_vty_init(); init_netns(); @@ -712,7 +727,7 @@ exit(2); } - rc = telnet_init_dynif(ctx, NULL, vty_get_bind_addr(), OSMO_VTY_PORT_UECUPS); + rc = telnet_init_dynif(g_daemon, NULL, vty_get_bind_addr(), OSMO_VTY_PORT_UECUPS); if (rc < 0) exit(1); @@ -736,8 +751,10 @@ sigset_t sigset; sigemptyset(&sigset); sigaddset(&sigset, SIGCHLD); + sigaddset(&sigset, SIGUSR1); sigprocmask(SIG_BLOCK, &sigset, NULL); - g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, sigchild_cb, g_daemon); + g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); + osmo_init_ignore_signals(); if (g_daemonize) { rc = osmo_daemonize(); -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17859 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I8bfce39443fd29b6acab9a88c9fa5da54c46e824 Gerrit-Change-Number: 17859 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 Mon Apr 20 11:26:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 11:26:58 +0000 Subject: Change in osmo-uecups[master]: autotools: add documentation example In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17889 ) Change subject: autotools: add documentation example ...................................................................... Abandoned merged to the main autotools patch -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17889 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Ia1fd914662fd49e470d65e08c6fa972c7f680ff5 Gerrit-Change-Number: 17889 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 Apr 20 11:27:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 11:27:18 +0000 Subject: Change in osmo-uecups[master]: daemon: Work around old libnl3 failing to include linux/netlink.h In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17890 ) Change subject: daemon: Work around old libnl3 failing to include linux/netlink.h ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17890 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Ia2d1b0d5ccf427895feb80298d9b5c3aef1c6c9d Gerrit-Change-Number: 17890 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 20 Apr 2020 11: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 Apr 20 11:28:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 11:28:00 +0000 Subject: Change in osmo-uecups[master]: daemon: set msgb talloc context In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17886 ) Change subject: daemon: set msgb talloc context ...................................................................... daemon: set msgb talloc context Change-Id: Id16952e7c65a1691bbfed8bbfc4f597ae13b10a0 --- M daemon/main.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/daemon/main.c b/daemon/main.c index 6ce9042..51d5b56 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -711,6 +711,7 @@ g_daemon = gtp_daemon_alloc(g_tall_ctx); OSMO_ASSERT(g_daemon); + msgb_talloc_ctx_init(g_tall_ctx, 10); osmo_stats_init(g_tall_ctx); vty_init(&g_vty_info); logging_vty_add_cmds(); -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17886 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Id16952e7c65a1691bbfed8bbfc4f597ae13b10a0 Gerrit-Change-Number: 17886 Gerrit-PatchSet: 2 Gerrit-Owner: laforge 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 Mon Apr 20 11:28:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 11:28:01 +0000 Subject: Change in osmo-uecups[master]: daemon: rename default config file to osmo-uecups-daemon.cfg In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17887 ) Change subject: daemon: rename default config file to osmo-uecups-daemon.cfg ...................................................................... daemon: rename default config file to osmo-uecups-daemon.cfg Change-Id: Icd1e5f2d62fa46029cfe55878a84166ef76a4e91 --- M daemon/main.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/daemon/main.c b/daemon/main.c index 51d5b56..863b8b4 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -631,7 +631,7 @@ static void *g_tall_ctx; struct gtp_daemon *g_daemon; static int g_daemonize; -static char *g_config_file = "osmo-gtpu-daemon.cfg"; +static char *g_config_file = "osmo-uecups-daemon.cfg"; extern struct vty_app_info g_vty_info; static void signal_cb(struct osmo_signalfd *osfd, const struct signalfd_siginfo *fdsi) -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Icd1e5f2d62fa46029cfe55878a84166ef76a4e91 Gerrit-Change-Number: 17887 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 gerrit-no-reply at lists.osmocom.org Mon Apr 20 11:28:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 11:28:05 +0000 Subject: Change in osmo-uecups[master]: daemon: Work around old libnl3 failing to include linux/netlink.h In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17890 ) Change subject: daemon: Work around old libnl3 failing to include linux/netlink.h ...................................................................... daemon: Work around old libnl3 failing to include linux/netlink.h In file included from /usr/include/libnl3/netlink/socket.h:16:0, from netdev.c:19: /usr/include/libnl3/netlink/handlers.h:51:15: warning: ?struct nlmsgerr? declared inside parameter list will not be visible outside of this definition or declaration struct nlmsgerr *nlerr, void *arg); Change-Id: Ia2d1b0d5ccf427895feb80298d9b5c3aef1c6c9d --- M daemon/netdev.c M daemon/tun_device.c 2 files changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/daemon/netdev.c b/daemon/netdev.c index 2022d24..e619883 100644 --- a/daemon/netdev.c +++ b/daemon/netdev.c @@ -16,6 +16,7 @@ #include #include +#include #include #include #include diff --git a/daemon/tun_device.c b/daemon/tun_device.c index e20607d..738d492 100644 --- a/daemon/tun_device.c +++ b/daemon/tun_device.c @@ -22,6 +22,7 @@ #include #include +#include #include #include -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17890 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Ia2d1b0d5ccf427895feb80298d9b5c3aef1c6c9d Gerrit-Change-Number: 17890 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 Mon Apr 20 11:30:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 11:30:19 +0000 Subject: Change in osmo-uecups[master]: work around bogus compiler warnings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17885 ) Change subject: work around bogus compiler warnings ...................................................................... Patch Set 2: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-uecups/+/17885/1/daemon/tun_device.c File daemon/tun_device.c: https://gerrit.osmocom.org/c/osmo-uecups/+/17885/1/daemon/tun_device.c at 207 PS1, Line 207: osmo_strlcpy(ifr.ifr_name, name, IFNAMSIZ); > osmo_strlcpy adds a null character at the end, and if I recall correctly buffers of IFNAMSIZ can be [?] the problem is that -Werror builds fail if I just have strncpy. In osmo-ggsn we alway shave an explicit manual strncpy + set-last-index-to-0. Will merge this patch now as-is. -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I9170e4de857c1f3e003a480b12dd16fe796ec763 Gerrit-Change-Number: 17885 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 11:30:19 +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 Mon Apr 20 11:30:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 11:30:22 +0000 Subject: Change in osmo-uecups[master]: debian packaging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17891 ) Change subject: debian packaging ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17891 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Ib86883b99a4650e984146b0d036d0c14dbec3d14 Gerrit-Change-Number: 17891 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 20 Apr 2020 11: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 Apr 20 11:30:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 11:30:27 +0000 Subject: Change in osmo-uecups[master]: migrate to autotools In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17888 ) Change subject: migrate to autotools ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Icb1a0a2e39f291ceac5c868d76445799d0ce31f1 Gerrit-Change-Number: 17888 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 20 Apr 2020 11: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 Apr 20 11:30:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 11:30:32 +0000 Subject: Change in osmo-uecups[master]: work around bogus compiler warnings In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17885 ) Change subject: work around bogus compiler warnings ...................................................................... work around bogus compiler warnings Change-Id: I9170e4de857c1f3e003a480b12dd16fe796ec763 --- M daemon/daemon_vty.c M daemon/gtp_tunnel.c M daemon/main.c M daemon/tun_device.c 4 files changed, 5 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/daemon/daemon_vty.c b/daemon/daemon_vty.c index efd9c0f..c84c727 100644 --- a/daemon/daemon_vty.c +++ b/daemon/daemon_vty.c @@ -127,7 +127,7 @@ "Local IP address\n" "Local UDP Port\n") { struct gtp_endpoint *ep; - struct addrinfo *ai; + struct addrinfo *ai = NULL; const char *ipstr; uint16_t port = GTP1U_PORT; diff --git a/daemon/gtp_tunnel.c b/daemon/gtp_tunnel.c index 0d049c7..f9075f7 100644 --- a/daemon/gtp_tunnel.c +++ b/daemon/gtp_tunnel.c @@ -83,6 +83,7 @@ return NULL; } +#if 0 /* find tunnel by R(x_teid), T(x_teid) + A(ddr) */ static struct gtp_tunnel * _gtp_tunnel_find_rta(struct gtp_daemon *d, uint32_t rx_teid, uint32_t tx_teid, @@ -96,6 +97,7 @@ } return NULL; } +#endif /* find tunnel by R(x_teid) + optionally local endpoint */ struct gtp_tunnel * diff --git a/daemon/main.c b/daemon/main.c index 863b8b4..a408df4 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -378,7 +378,7 @@ const char *cmd, *user; char **addl_env = NULL; sigset_t oldmask; - int nsfd, rc; + int nsfd = -1, rc; juser = json_object_get(sprog, "run_as_user"); jcmd = json_object_get(sprog, "command"); diff --git a/daemon/tun_device.c b/daemon/tun_device.c index 738d492..b1bd7fc 100644 --- a/daemon/tun_device.c +++ b/daemon/tun_device.c @@ -205,7 +205,7 @@ if (name) { /* if a TUN interface name was specified, put it in the structure; otherwise, the kernel will try to allocate the "next" device of the specified type */ - strncpy(ifr.ifr_name, name, IFNAMSIZ); + osmo_strlcpy(ifr.ifr_name, name, IFNAMSIZ); } /* try to create the device */ -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I9170e4de857c1f3e003a480b12dd16fe796ec763 Gerrit-Change-Number: 17885 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 gerrit-no-reply at lists.osmocom.org Mon Apr 20 11:30:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 11:30:32 +0000 Subject: Change in osmo-uecups[master]: migrate to autotools In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17888 ) Change subject: migrate to autotools ...................................................................... migrate to autotools Change-Id: Icb1a0a2e39f291ceac5c868d76445799d0ce31f1 --- M .gitignore A Makefile.am A configure.ac M contrib/jenkins.sh D daemon/Makefile A daemon/Makefile.am A doc/Makefile.am A doc/examples/Makefile.am A doc/examples/osmo-uecups-daemon.cfg A git-version-gen 10 files changed, 416 insertions(+), 20 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index c0de8b5..f4442dd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,33 @@ *.o +*.lo +*.a +.deps *.d +Makefile +Makefile.in + +# configure +aclocal.m4 +autom4te.cache +config.log +config.status +config.guess +config.sub +configure +compile +depcomp +install-sh +missing +stamp-h1 +libtool +ltmain.sh +m4/*.m4 + +# git-version-gen magic +.tarball-version +.version + +ttcn3/*.cc +ttcn3/*.hh + daemon/osmo-uecups-daemon diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..311faf4 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,20 @@ +AUTOMAKE_OPTIONS = foreign dist-bzip2 1.6 + +## FIXME: automake >= 1.13 or autoconf >= 2.70 provide better suited AC_CONFIG_MACRO_DIRS for configure.ac +## remove line below when OE toolchain is updated to version which include those +ACLOCAL_AMFLAGS = -I m4 + +SUBDIRS = \ + daemon \ + doc \ + $(NULL) + +BUILT_SOURCES = $(top_srcdir)/.version +EXTRA_DIST = git-version-gen .version + + at RELMAKE@ + +$(top_srcdir)/.version: + echo $(VERSION) > $@-t && mv $@-t $@ +dist-hook: + echo $(VERSION) > $(distdir)/.tarball-version diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..94bde9d --- /dev/null +++ b/configure.ac @@ -0,0 +1,124 @@ +# Process this file with autoconf to produce a configure script. +AC_INIT([osmo-uecups],[m4_esyscmd(./git-version-gen .tarball-version)],[osmocom-net-gprs at lists.osmocom.org]) + +dnl *This* is the root dir, even if an install-sh exists in ../ or ../../ +AC_CONFIG_AUX_DIR([.]) + +AM_INIT_AUTOMAKE([dist-bzip2]) + +dnl kernel style compile messages +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +dnl include release helper +RELMAKE='-include osmo-release.mk' +AC_SUBST([RELMAKE]) + +# Checks for programs. +AC_PROG_MAKE_SET +AC_PROG_CC +AC_PROG_INSTALL +LT_INIT + +dnl check for pkg-config (explained in detail in libosmocore/configure.ac) +AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) +if test "x$PKG_CONFIG_INSTALLED" = "xno"; then + AC_MSG_WARN([You need to install pkg-config]) +fi +PKG_PROG_PKG_CONFIG([0.20]) + +dnl check for AX_CHECK_COMPILE_FLAG +m4_ifdef([AX_CHECK_COMPILE_FLAG], [], [ + AC_MSG_ERROR([Please install autoconf-archive; re-run 'autoreconf -fi' for it to take effect.]) + ]) + +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.1.0) +PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.7.0) +PKG_CHECK_MODULES(LIBJANSSON, jansson) +PKG_CHECK_MODULES(LIBNLROUTE3, libnl-route-3.0) + +AC_HEADER_STDC + +AC_ARG_ENABLE(sanitize, + [AS_HELP_STRING( + [--enable-sanitize], + [Compile with address sanitizer enabled], + )], + [sanitize=$enableval], [sanitize="no"]) +if test x"$sanitize" = x"yes" +then + CFLAGS="$CFLAGS -fsanitize=address -fsanitize=undefined" + CPPFLAGS="$CPPFLAGS -fsanitize=address -fsanitize=undefined" +fi + +AC_ARG_ENABLE(werror, + [AS_HELP_STRING( + [--enable-werror], + [Turn all compiler warnings into errors, with exceptions: + a) deprecation (allow upstream to mark deprecation without breaking builds); + b) "#warning" pragmas (allow to remind ourselves of errors without breaking builds) + ] + )], + [werror=$enableval], [werror="no"]) +if test x"$werror" = x"yes" +then + WERROR_FLAGS="-Werror" + WERROR_FLAGS+=" -Wno-error=deprecated -Wno-error=deprecated-declarations" + WERROR_FLAGS+=" -Wno-error=cpp" # "#warning" + CFLAGS="$CFLAGS $WERROR_FLAGS" + CPPFLAGS="$CPPFLAGS $WERROR_FLAGS" +fi + +# The following test is taken from WebKit's webkit.m4 +saved_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -fvisibility=hidden " +AC_MSG_CHECKING([if ${CC} supports -fvisibility=hidden]) +AC_COMPILE_IFELSE([AC_LANG_SOURCE([char foo;])], + [ AC_MSG_RESULT([yes]) + SYMBOL_VISIBILITY="-fvisibility=hidden"], + AC_MSG_RESULT([no])) +CFLAGS="$saved_CFLAGS" +AC_SUBST(SYMBOL_VISIBILITY) + +AX_CHECK_COMPILE_FLAG([-Werror=implicit], [CFLAGS="$CFLAGS -Werror=implicit"]) +AX_CHECK_COMPILE_FLAG([-Werror=maybe-uninitialized], [CFLAGS="$CFLAGS -Werror=maybe-uninitialized"]) +AX_CHECK_COMPILE_FLAG([-Werror=memset-transposed-args], [CFLAGS="$CFLAGS -Werror=memset-transposed-args"]) +AX_CHECK_COMPILE_FLAG([-Wnull-dereference], [CFLAGS="$CFLAGS -Wnull-dereference"]) +AX_CHECK_COMPILE_FLAG([-Werror=sizeof-array-argument], [CFLAGS="$CFLAGS -Werror=sizeof-array-argument"]) +AX_CHECK_COMPILE_FLAG([-Werror=sizeof-pointer-memaccess], [CFLAGS="$CFLAGS -Werror=sizeof-pointer-memaccess"]) + +# Coverage build taken from WebKit's configure.in +AC_MSG_CHECKING([whether to enable code coverage support]) +AC_ARG_ENABLE(coverage, + AC_HELP_STRING([--enable-coverage], + [enable code coverage support [default=no]]), + [],[enable_coverage="no"]) +AC_MSG_RESULT([$enable_coverage]) +if test "$enable_coverage" = "yes"; then + COVERAGE_CFLAGS="-ftest-coverage -fprofile-arcs" + COVERAGE_LDFLAGS="-ftest-coverage -fprofile-arcs" + AC_SUBST([COVERAGE_CFLAGS]) + AC_SUBST([COVERAGE_LDFLAGS]) +fi + +AC_ARG_ENABLE(profile, + [AS_HELP_STRING([--enable-profile], [Compile with profiling support enabled], )], + [profile=$enableval], [profile="no"]) +if test x"$profile" = x"yes" +then + CFLAGS="$CFLAGS -pg" + CPPFLAGS="$CPPFLAGS -pg" +fi + + + + +AC_MSG_RESULT([CFLAGS="$CFLAGS"]) +AC_MSG_RESULT([CPPFLAGS="$CPPFLAGS"]) + +AC_OUTPUT( + Makefile + daemon/Makefile + doc/Makefile + doc/examples/Makefile + ) diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 1a218b9..ec97a36 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -33,8 +33,15 @@ echo set -x -cd daemon -make +cd "$base" +autoreconf --install --force +./configure --enable-sanitize --enable-external-tests --enable-werror $CONFIG +$MAKE $PARALLEL_MAKE +LD_LIBRARY_PATH="$inst/lib" $MAKE check \ + || cat-testlogs.sh +LD_LIBRARY_PATH="$inst/lib" \ + DISTCHECK_CONFIGURE_FLAGS="--enable-vty-tests --enable-external-tests --enable-werror $CONFIG" \ + $MAKE distcheck \ + || cat-testlogs.sh -osmo-clean-workspace.sh - +$MAKE maintainer-clean diff --git a/daemon/Makefile b/daemon/Makefile deleted file mode 100644 index 6cbd59c..0000000 --- a/daemon/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -LIBS=-lpthread -lsctp $(shell pkg-config --libs libosmocore libosmovty libosmo-netif jansson libnl-route-3.0) -INC=$(shell pkg-config --cflags libosmocore libosmovty libosmo-netif jansson libnl-route-3.0) -VER=$(shell git describe --tags) -CFLAGS=-Wall -g -DPACKAGE_VERSION='"$(VER)"' $(INC) - -all: osmo-uecups-daemon - -%.o: %.c - $(CC) $(CFLAGS) -o $@ -c $^ - -osmo-uecups-daemon: utility.o netdev.o netns.o tun_device.o \ - gtp_endpoint.o gtp_tunnel.o daemon_vty.o main.o - $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) - -clean: - @rm -f *.o osmo-uecups-daemon diff --git a/daemon/Makefile.am b/daemon/Makefile.am new file mode 100644 index 0000000..7d41766 --- /dev/null +++ b/daemon/Makefile.am @@ -0,0 +1,47 @@ +AM_CPPFLAGS = \ + $(all_includes) \ + $(NULL) + +AM_CFLAGS = \ + -Wall \ + $(LIBOSMOCORE_CFLAGS) \ + $(LIBOSMOVTY_CFLAGS) \ + $(LIBOSMONETIF_CFLAGS) \ + $(LIBJANSSON_CFLAGS) \ + $(LIBNLROUTE3_CFLAGS) \ + $(NULL) + +LDADD = \ + -lpthread \ + -lsctp \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOVTY_LIBS) \ + $(LIBOSMONETIF_LIBS) \ + $(LIBJANSSON_LIBS) \ + $(LIBNLROUTE3_LIBS) \ + $(NULL) + +AM_LDFLAGS = \ + $(COVERAGE_LDFLAGS) \ + $(NULL) + +noinst_HEADERS = \ + gtp.h \ + netns.h \ + internal.h \ + $(NULL) + +bin_PROGRAMS = \ + osmo-uecups-daemon \ + $(NULL) + +osmo_uecups_daemon_SOURCES = \ + utility.c \ + netdev.c \ + netns.c \ + tun_device.c \ + gtp_endpoint.c \ + gtp_tunnel.c \ + daemon_vty.c \ + main.c \ + $(NULL) diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..5a23107 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,3 @@ +SUBDIRS = \ + examples \ + $(NULL) diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am new file mode 100644 index 0000000..5a8f1fa --- /dev/null +++ b/doc/examples/Makefile.am @@ -0,0 +1,30 @@ +OSMOCONF_FILES = \ + osmo-uecups-daemon.cfg + +osmoconfdir = $(sysconfdir)/osmocom +osmoconf_DATA = $(OSMOCONF_FILES) + +EXTRA_DIST = $(OSMOCONF_FILES) + +CFG_FILES = find $(srcdir) -name '*.cfg*' | sed -e 's,^$(srcdir),,' + +dist-hook: + for f in $$($(CFG_FILES)); do \ + j="$(distdir)/$$f" && \ + mkdir -p "$$(dirname $$j)" && \ + $(INSTALL_DATA) $(srcdir)/$$f $$j; \ + done + +install-data-hook: + for f in $$($(CFG_FILES)); do \ + j="$(DESTDIR)$(docdir)/examples/$$f" && \ + mkdir -p "$$(dirname $$j)" && \ + $(INSTALL_DATA) $(srcdir)/$$f $$j; \ + done + +uninstall-hook: + @$(PRE_UNINSTALL) + for f in $$($(CFG_FILES)); do \ + j="$(DESTDIR)$(docdir)/examples/$$f" && \ + $(RM) $$j; \ + done diff --git a/doc/examples/osmo-uecups-daemon.cfg b/doc/examples/osmo-uecups-daemon.cfg new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/doc/examples/osmo-uecups-daemon.cfg diff --git a/git-version-gen b/git-version-gen new file mode 100755 index 0000000..42cf3d2 --- /dev/null +++ b/git-version-gen @@ -0,0 +1,151 @@ +#!/bin/sh +# Print a version string. +scriptversion=2010-01-28.01 + +# Copyright (C) 2007-2010 Free Software Foundation, Inc. +# +# 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 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 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 . + +# This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/. +# It may be run two ways: +# - from a git repository in which the "git describe" command below +# produces useful output (thus requiring at least one signed tag) +# - from a non-git-repo directory containing a .tarball-version file, which +# presumes this script is invoked like "./git-version-gen .tarball-version". + +# In order to use intra-version strings in your project, you will need two +# separate generated version string files: +# +# .tarball-version - present only in a distribution tarball, and not in +# a checked-out repository. Created with contents that were learned at +# the last time autoconf was run, and used by git-version-gen. Must not +# be present in either $(srcdir) or $(builddir) for git-version-gen to +# give accurate answers during normal development with a checked out tree, +# but must be present in a tarball when there is no version control system. +# Therefore, it cannot be used in any dependencies. GNUmakefile has +# hooks to force a reconfigure at distribution time to get the value +# correct, without penalizing normal development with extra reconfigures. +# +# .version - present in a checked-out repository and in a distribution +# tarball. Usable in dependencies, particularly for files that don't +# want to depend on config.h but do want to track version changes. +# Delete this file prior to any autoconf run where you want to rebuild +# files to pick up a version string change; and leave it stale to +# minimize rebuild time after unrelated changes to configure sources. +# +# It is probably wise to add these two files to .gitignore, so that you +# don't accidentally commit either generated file. +# +# Use the following line in your configure.ac, so that $(VERSION) will +# automatically be up-to-date each time configure is run (and note that +# since configure.ac no longer includes a version string, Makefile rules +# should not depend on configure.ac for version updates). +# +# AC_INIT([GNU project], +# m4_esyscmd([build-aux/git-version-gen .tarball-version]), +# [bug-project at example]) +# +# Then use the following lines in your Makefile.am, so that .version +# will be present for dependencies, and so that .tarball-version will +# exist in distribution tarballs. +# +# BUILT_SOURCES = $(top_srcdir)/.version +# $(top_srcdir)/.version: +# echo $(VERSION) > $@-t && mv $@-t $@ +# dist-hook: +# echo $(VERSION) > $(distdir)/.tarball-version + +case $# in + 1) ;; + *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version"; exit 1;; +esac + +tarball_version_file=$1 +nl=' +' + +# First see if there is a tarball-only version file. +# then try "git describe", then default. +if test -f $tarball_version_file +then + v=`cat $tarball_version_file` || exit 1 + case $v in + *$nl*) v= ;; # reject multi-line output + [0-9]*) ;; + *) v= ;; + esac + test -z "$v" \ + && echo "$0: WARNING: $tarball_version_file seems to be damaged" 1>&2 +fi + +if test -n "$v" +then + : # use $v +elif + v=`git describe --abbrev=4 --match='v*' HEAD 2>/dev/null \ + || git describe --abbrev=4 HEAD 2>/dev/null` \ + && case $v in + [0-9]*) ;; + v[0-9]*) ;; + *) (exit 1) ;; + esac +then + # Is this a new git that lists number of commits since the last + # tag or the previous older version that did not? + # Newer: v6.10-77-g0f8faeb + # Older: v6.10-g0f8faeb + case $v in + *-*-*) : git describe is okay three part flavor ;; + *-*) + : git describe is older two part flavor + # Recreate the number of commits and rewrite such that the + # result is the same as if we were using the newer version + # of git describe. + vtag=`echo "$v" | sed 's/-.*//'` + numcommits=`git rev-list "$vtag"..HEAD | wc -l` + v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`; + ;; + esac + + # Change the first '-' to a '.', so version-comparing tools work properly. + # Remove the "g" in git describe's output string, to save a byte. + v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`; +else + v=UNKNOWN +fi + +v=`echo "$v" |sed 's/^v//'` + +# Don't declare a version "dirty" merely because a time stamp has changed. +git status > /dev/null 2>&1 + +dirty=`sh -c 'git diff-index --name-only HEAD' 2>/dev/null` || dirty= +case "$dirty" in + '') ;; + *) # Append the suffix only if there isn't one already. + case $v in + *-dirty) ;; + *) v="$v-dirty" ;; + esac ;; +esac + +# Omit the trailing newline, so that m4_esyscmd can use the result directly. +echo "$v" | tr -d '\012' + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Icb1a0a2e39f291ceac5c868d76445799d0ce31f1 Gerrit-Change-Number: 17888 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 Apr 20 11:30:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 11:30:33 +0000 Subject: Change in osmo-uecups[master]: debian packaging In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17891 ) Change subject: debian packaging ...................................................................... debian packaging Change-Id: Ib86883b99a4650e984146b0d036d0c14dbec3d14 --- A debian/changelog A debian/compat A debian/control A debian/copyright A debian/rules A debian/source/format 6 files changed, 119 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..6c692f8 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,6 @@ +osmo-uecups (0.1.0) unstable; urgency=medium + + [ Harald Welte ] + * initial debian package + + -- Harald Welte Mon, 20 Apr 2020 08:24:51 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..dbeb691 --- /dev/null +++ b/debian/control @@ -0,0 +1,26 @@ +Source: osmo-uecups +Section: net +Priority: extra +Maintainer: Harald Welte +Build-Depends: debhelper (>=9), + dh-autoreconf, + autotools-dev, + autoconf, + automake, + libtool, + pkg-config, + libjansson-dev, + libnl-route-3-dev, + libosmocore-dev (>= 1.1.0), + libosmo-netif-dev, + osmo-gsm-manuals-dev +Standards-Version: 3.9.8 +Vcs-Git: git://git.osmocom.org/osmo-uecups.git +Vcs-Browser: https://git.osmocom.org/osmo-uecups +Homepage: https://osmocom.org/projects/osmo-uecups + +Package: osmo-uecups +Architecture: any +Multi-Arch: foreign +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: OsmoUECUPS: UE/MME/SGW side GTP user plane daemon with control plane separation diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..7bf2537 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,19 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: osmo-uecups +Source: git://git.osmocom.org/osmo-uecups + +Files: * +Copyright: 2019-2020 Harald Welte +License: 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 Affero General Public License + along with this program. If not, see . diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..2c41c2b --- /dev/null +++ b/debian/rules @@ -0,0 +1,66 @@ +#!/usr/bin/make -f +# You must remove unused comment lines for the released package. +# See debhelper(7) (uncomment to enable) +# This is an autogenerated template for debian/rules. +# +# Output every command that modifies files on the build system. +#export DH_VERBOSE = 1 +# +# Copy some variable definitions from pkg-info.mk and vendor.mk +# under /usr/share/dpkg/ to here if they are useful. +# +# See FEATURE AREAS/ENVIRONMENT in dpkg-buildflags(1) +# Apply all hardening options +#export DEB_BUILD_MAINT_OPTIONS = hardening=+all +# Package maintainers to append CFLAGS +#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic +# Package maintainers to append LDFLAGS +#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed +# +# With debhelper version 9 or newer, the dh command exports +# all buildflags. So there is no need to include the +# /usr/share/dpkg/buildflags.mk file here if compat is 9 or newer. +# +# These are rarely used code. (START) +# +# The following include for *.mk magically sets miscellaneous +# variables while honoring existing values of pertinent +# environment variables: +# +# Architecture-related variables such as DEB_TARGET_MULTIARCH: +#include /usr/share/dpkg/architecture.mk +# Vendor-related variables such as DEB_VENDOR: +#include /usr/share/dpkg/vendor.mk +# Package-related variables such as DEB_DISTRIBUTION +#include /usr/share/dpkg/pkg-info.mk +# +# You may alternatively set them susing a simple script such as: +# DEB_VENDOR ?= $(shell dpkg-vendor --query Vendor) +# +# These are rarely used code. (END) +# + +# main packaging script based on dh7 syntax +%: + dh $@ --with autoreconf + +# debmake generated override targets +CONFIGURE_FLAGS += --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals +override_dh_auto_configure: + dh_auto_configure -- $(CONFIGURE_FLAGS) +# +# Do not install libtool archive, python .pyc .pyo +#override_dh_install: +# dh_install --list-missing -X.la -X.pyc -X.pyo + +# See https://www.debian.org/doc/manuals/developers-reference/best-pkging-practices.html#bpp-dbg +#override_dh_strip: +# dh_strip -posmo-uecups --dbg-package=osmo-uecups-dbg + +# Print test results in case of a failure +override_dh_auto_test: + dh_auto_test || (find . -name testsuite.log -exec cat {} \; ; false) + +# Don't create .pdf.gz files (barely saves space and they can't be opened directly by most pdf readers) +override_dh_compress: + dh_compress -X.pdf diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..89ae9db --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (native) -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17891 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Ib86883b99a4650e984146b0d036d0c14dbec3d14 Gerrit-Change-Number: 17891 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 Mon Apr 20 11:30:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 11:30:34 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Implement initial RF emulation API In-Reply-To: References: Message-ID: Hello srs_andre, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 to look at the new patch set (#3). Change subject: enb: Implement initial RF emulation API ...................................................................... enb: Implement initial RF emulation API Two implementations are provided: * Amarisoft Ctrl interface (websocket) * Mini-Circuits Programmable Attenuator (HW, HTTP API) [1] in Amarisoft ENBs, if no rfemu is configured explicitly, the Ctrl interface one is used by default, while still being possible to use the HW one. [1] https://www.minicircuits.com/pdfs/RC4DAT-6G-60.pdf Change-Id: Ie98a3fb9bcd2b87b96ecbb5b79e0f53981892a32 --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py A src/osmo_gsm_tester/obj/rfemu.py A src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py A src/osmo_gsm_tester/obj/rfemu_minicircuits.py M src/osmo_gsm_tester/resource.py 7 files changed, 227 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/47/17847/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 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: Ie98a3fb9bcd2b87b96ecbb5b79e0f53981892a32 Gerrit-Change-Number: 17847 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 11:30:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 11:30:36 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_rr.conf.tmpl: Fix whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17892 ) Change subject: srsenb_rr.conf.tmpl: Fix whitespace ...................................................................... srsenb_rr.conf.tmpl: Fix whitespace Change-Id: Ic2b4d8e2468984b096a870c878fa5d032ea4130f --- M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/92/17892/1 diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl index bdbe741..2dcdb2a 100644 --- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl @@ -1,27 +1,27 @@ mac_cnfg = { - phr_cnfg = + phr_cnfg = { dl_pathloss_change = "dB3"; // Valid: 1, 3, 6 or INFINITY periodic_phr_timer = 50; prohibit_phr_timer = 0; }; - ulsch_cnfg = + ulsch_cnfg = { max_harq_tx = 4; periodic_bsr_timer = 20; // in ms retx_bsr_timer = 320; // in ms }; - + time_alignment_timer = -1; // -1 is infinity }; phy_cnfg = { - phich_cnfg = + phich_cnfg = { duration = "Normal"; - resources = "1/6"; + resources = "1/6"; }; pusch_cnfg_ded = -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17892 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: Ic2b4d8e2468984b096a870c878fa5d032ea4130f Gerrit-Change-Number: 17892 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 Apr 20 11:30:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 11:30:36 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Introduce support for neighbour cell list References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17893 ) Change subject: enb: Introduce support for neighbour cell list ...................................................................... enb: Introduce support for neighbour cell list Change-Id: If604f1f2643a73f8c4da6ae3e9d24cd6c7e52d06 --- M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M sysmocom/defaults.conf 3 files changed, 14 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/93/17893/1 diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index d4757f3..cd575b5 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -109,6 +109,7 @@ 'enb[].a3_time_to_trigger': schema.INT, 'enb[].num_cells': schema.UINT, 'enb[].cell_list[].cell_id': schema.UINT, + 'enb[].cell_list[].ncell_list[]': schema.UINT, 'enb[].cell_list[].scell_list[]': schema.UINT, 'enb[].cell_list[].dl_earfcn': schema.UINT, 'enb[].cell_list[].dl_rfemu.type': schema.STR, diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 11704b6..7ef511e 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -61,10 +61,18 @@ dl_earfcn: ${cell.dl_earfcn}, rf_port: ${loop.index}, cell_id: ${cell.cell_id}, - n_id_cell: ${loop.index + 1}, + n_id_cell: ${cell.cell_id}, tac: 0x0001, root_sequence_index: ${loop.index + 204}, /* PRACH root sequence index */ + ncell_list: [ +%for ncell in enb.cell_list: +%if ncell.cell_id in cell.ncell_list: + { n_id_cell: ${ncell.cell_id}, dl_earfcn: ${ncell.dl_earfcn}, cell_id: ${ncell.cell_id}, tac: 1 }, +%endif +%endfor + ], + scell_list: [ %for scell_id in cell.scell_list: { cell_id: ${scell_id}, cross_carrier_scheduling: false, scheduling_cell_id: ${cell.cell_id}, ul_allowed: true}, diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index bf5bce1..72aa483 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -126,10 +126,12 @@ cell_list: - cell_id: 0x01 dl_earfcn: 2850 - scell_list: [0x02] + scell_list: [] + ncell_list: [0x02] - cell_id: 0x02 dl_earfcn: 3050 - scell_list: [0x01] + scell_list: [] + ncell_list: [0x01] srsenb: num_prb: 100 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17893 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: If604f1f2643a73f8c4da6ae3e9d24cd6c7e52d06 Gerrit-Change-Number: 17893 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 Apr 20 11:30:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 11:30:37 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb: Support neighbour and secondary cell lists in config file References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17894 ) Change subject: srsenb: Support neighbour and secondary cell lists in config file ...................................................................... srsenb: Support neighbour and secondary cell lists in config file Change-Id: I8fe0703b7d9db69658c112066404d2da1c3d1e09 --- M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl 1 file changed, 29 insertions(+), 49 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/94/17894/1 diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl index 2dcdb2a..c675d33 100644 --- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl @@ -62,29 +62,46 @@ cell_list = ( +%for cell in enb.cell_list: + ${',' if loop.index != 0 else ''} { - // rf_port = 0; - cell_id = 0x01; + rf_port = ${loop.index}; + cell_id = ${cell.cell_id}; tac = 0x0001; - pci = 1; - // root_seq_idx = 204; - dl_earfcn = 2850; + pci = ${loop.index + 1}; + root_seq_idx = ${loop.index + 204}; + dl_earfcn = ${cell.dl_earfcn}; //ul_earfcn = 20850; ho_active = false; // CA cells scell_list = ( - {cell_id = 0x02; cross_carrier_scheduling = false; scheduling_cell_id = 0x02; ul_allowed = true} +%for scell_id in cell.scell_list: + ${',' if loop.index != 0 else ''} + { + cell_id = ${scell_id}; + cross_carrier_scheduling = false; + scheduling_cell_id = ${cell.cell_id}; + ul_allowed = true; + } +%endfor ) // Cells available for handover meas_cell_list = ( - { - eci = 0x19C02; - dl_earfcn = 2850; - pci = 2; - } +%for ncell in enb.cell_list: + <% loop.my_num_items = 0 if loop.index == 0 else loop.my_num_items %> +%if ncell.cell_id in cell.ncell_list: + ${',' if loop.my_num_items != 0 else ''} + <% loop.my_num_items += 1 %> + { + eci = ${ncell.cell_id}; + dl_earfcn = ${ncell.dl_earfcn}; + pci = ${loop.index + 1}; + } +%endif +%endfor ); // ReportCfg (only A3 supported) @@ -96,42 +113,5 @@ rsrq_config = 4; }; } -% if enb.get('num_cells') == '2': - , - { - rf_port = 1; - cell_id = 0x02; - tac = 0x0002; - pci = 2; - root_seq_idx = 205; - dl_earfcn = 3050; - //ul_earfcn = 21050; - ho_active = false; - - // CA cells - scell_list = ( - {cell_id = 0x01; cross_carrier_scheduling = false; scheduling_cell_id = 0x01; ul_allowed = true} - ) - - // Cells available for handover - meas_cell_list = - ( - { - eci = 0x19C02; - dl_earfcn = 2850; - pci = 1; - } - ); - - // ReportCfg (only A3 supported) - meas_report_desc = { - a3_report_type = "RSRP"; - a3_offset = 6; - a3_hysteresis = 0; - a3_time_to_trigger = 480; - rsrq_config = 4; - }; - } -% endif - // Add here more cells +%endfor ); -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17894 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: I8fe0703b7d9db69658c112066404d2da1c3d1e09 Gerrit-Change-Number: 17894 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 Apr 20 11:42:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 11:42:05 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Introduce support for neighbour cell list In-Reply-To: References: Message-ID: Hello srs_andre, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17893 to look at the new patch set (#2). Change subject: enb: Introduce support for neighbour cell list ...................................................................... enb: Introduce support for neighbour cell list Change-Id: If604f1f2643a73f8c4da6ae3e9d24cd6c7e52d06 --- M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M sysmocom/defaults.conf 3 files changed, 15 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/93/17893/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17893 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: If604f1f2643a73f8c4da6ae3e9d24cd6c7e52d06 Gerrit-Change-Number: 17893 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 12:05:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 12:05:57 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_rr.conf.tmpl: Fix whitespace In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17892 ) Change subject: srsenb_rr.conf.tmpl: Fix whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17892 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: Ic2b4d8e2468984b096a870c878fa5d032ea4130f Gerrit-Change-Number: 17892 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 12: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 Mon Apr 20 12:06:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 12:06:03 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Implement initial RF emulation API In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 ) Change subject: enb: Implement initial RF emulation API ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 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: Ie98a3fb9bcd2b87b96ecbb5b79e0f53981892a32 Gerrit-Change-Number: 17847 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Mon, 20 Apr 2020 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 Mon Apr 20 12:06:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 12:06:05 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_rr.conf.tmpl: Fix whitespace In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17892 ) Change subject: srsenb_rr.conf.tmpl: Fix whitespace ...................................................................... srsenb_rr.conf.tmpl: Fix whitespace Change-Id: Ic2b4d8e2468984b096a870c878fa5d032ea4130f --- M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl index bdbe741..2dcdb2a 100644 --- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl @@ -1,27 +1,27 @@ mac_cnfg = { - phr_cnfg = + phr_cnfg = { dl_pathloss_change = "dB3"; // Valid: 1, 3, 6 or INFINITY periodic_phr_timer = 50; prohibit_phr_timer = 0; }; - ulsch_cnfg = + ulsch_cnfg = { max_harq_tx = 4; periodic_bsr_timer = 20; // in ms retx_bsr_timer = 320; // in ms }; - + time_alignment_timer = -1; // -1 is infinity }; phy_cnfg = { - phich_cnfg = + phich_cnfg = { duration = "Normal"; - resources = "1/6"; + resources = "1/6"; }; pusch_cnfg_ded = -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17892 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: Ic2b4d8e2468984b096a870c878fa5d032ea4130f Gerrit-Change-Number: 17892 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Apr 20 12:06:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 12:06:06 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Implement initial RF emulation API In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 ) Change subject: enb: Implement initial RF emulation API ...................................................................... enb: Implement initial RF emulation API Two implementations are provided: * Amarisoft Ctrl interface (websocket) * Mini-Circuits Programmable Attenuator (HW, HTTP API) [1] in Amarisoft ENBs, if no rfemu is configured explicitly, the Ctrl interface one is used by default, while still being possible to use the HW one. [1] https://www.minicircuits.com/pdfs/RC4DAT-6G-60.pdf Change-Id: Ie98a3fb9bcd2b87b96ecbb5b79e0f53981892a32 --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py A src/osmo_gsm_tester/obj/rfemu.py A src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py A src/osmo_gsm_tester/obj/rfemu_minicircuits.py M src/osmo_gsm_tester/resource.py 7 files changed, 227 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 340ea3a..59b5bfe 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -113,6 +113,11 @@ def ue_max_rate(self, downlink=True): pass + @abstractmethod + def get_rfemu(self, cell=0, dl=True): + 'Get rfemu.RFemulation subclass implementation object for given cell index and direction.' + pass + def addr(self): return self._addr diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index 996af19..0b748e0 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 . import enb +from . import rfemu def rf_type_valid(rf_type_str): return rf_type_str in ('uhd', 'zmq') @@ -62,6 +63,7 @@ self.run_dir = None self.inst = None self._bin_prefix = None + self.gen_conf = None self.config_file = None self.config_sib1_file = None self.config_sib23_file = None @@ -209,6 +211,8 @@ config.overlay(values, dict(trx=dict(rf_dev_type=values['enb'].get('rf_dev_type', None), rf_dev_args=values['enb'].get('rf_dev_args', None)))) + self.gen_conf = values + self.gen_conf_file(self.config_file, AmarisoftENB.CFGFILE, values) self.gen_conf_file(self.config_sib1_file, AmarisoftENB.CFGFILE_SIB1, values) self.gen_conf_file(self.config_sib23_file, AmarisoftENB.CFGFILE_SIB23, values) @@ -233,4 +237,19 @@ def running(self): return not self.process.terminated() + def get_rfemu(self, cell=0, dl=True): + cell_list = self.gen_conf['enb'].get('cell_list', None) + if cell_list is None or len(cell_list) < cell + 1: + raise log.Error('cell_list attribute or subitem not found!') + rfemu_cfg = cell_list[cell].get('dl_rfemu', None) + if rfemu_cfg is None: # craft amarisfot by default: + rfemu_cfg = {'type': 'amarisoftctl', + 'addr': self.addr(), + 'ports': [9001] + } + if rfemu_cfg['type'] == 'amarisoftctl': # this one requires extra config: + config.overlay(rfemu_cfg, dict(cell_id=cell_list[cell]['cell_id'])) + rfemu_obj = rfemu.get_instance_by_type(rfemu_cfg['type'], rfemu_cfg) + return rfemu_obj + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index c9721d1..e657b04 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -22,6 +22,7 @@ from ..core import log, util, config, template, process, remote from . import enb +from . import rfemu def rf_type_valid(rf_type_str): return rf_type_str in ('zmq', 'uhd', 'soapy', 'bladerf') @@ -60,6 +61,7 @@ super().__init__(suite_run, conf, srsENB.BINFILE) self.ue = None self.run_dir = None + self.gen_conf = None self.config_file = None self.config_sib_file = None self.config_rr_file = None @@ -221,6 +223,8 @@ 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) self.gen_conf_file(self.config_sib_file, srsENB.CFGFILE_SIB, values) self.gen_conf_file(self.config_rr_file, srsENB.CFGFILE_RR, values) @@ -243,4 +247,14 @@ def running(self): return not self.process.terminated() + def get_rfemu(self, cell=0, dl=True): + cell_list = self.gen_conf['enb'].get('cell_list', None) + if cell_list is None or len(cell_list) < cell + 1: + raise log.Error('cell_list attribute or subitem not found!') + rfemu_cfg = cell_list[cell].get('dl_rfemu', None) + if rfemu_cfg is None: # craft amarisfot by default: + raise log.Error('rfemu attribute not found in cell_list item!') + rfemu_obj = rfemu.get_instance_by_type(rfemu_cfg['type'], rfemu_cfg) + return rfemu_obj + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/rfemu.py b/src/osmo_gsm_tester/obj/rfemu.py new file mode 100644 index 0000000..b2add6b --- /dev/null +++ b/src/osmo_gsm_tester/obj/rfemu.py @@ -0,0 +1,57 @@ +# osmo_gsm_tester: class defining a RF emulation object +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# Author: Pau Espin Pedrol +# +# 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 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 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 abc import ABCMeta, abstractmethod +from ..core import log +from ..core.event_loop import MainLoop + +class RFemulation(log.Origin, metaclass=ABCMeta): + +############## +# PROTECTED +############## + def __init__(self, conf, name): + """Base constructor. Must be called by subclass.""" + super().__init__(log.C_RUN, name) + self.conf = conf + +############################# +# PUBLIC (test API included) +############################# + @abstractmethod + def set_attenuation(self, db): + """Set attenuation in dB on the configured channel""" + pass + +def get_instance_by_type(rfemu_type, rfemu_opt): + """Allocate a RFemulation child class based on type. Opts are passed to the newly created object.""" + if rfemu_type == 'amarisoftctl': + from .rfemu_amarisoftctrl import RFemulationAmarisoftCtrl + obj = RFemulationAmarisoftCtrl + elif rfemu_type == 'minicircuits': + from .rfemu_minicircuits import RFemulationMinicircuitsHTTP + obj = RFemulationMinicircuitsHTTP + else: + raise log.Error('RFemulation type not supported:', rfemu_type) + + return obj(rfemu_opt) + + + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py b/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py new file mode 100644 index 0000000..87e4cbd --- /dev/null +++ b/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py @@ -0,0 +1,62 @@ +# osmo_gsm_tester: class defining a RF emulation object implemented using Amarisoft Ctl interface +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# Author: Pau Espin Pedrol +# +# 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 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 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 +from websocket import create_connection + +from ..core import log +from .rfemu import RFemulation + +class RFemulationAmarisoftCtrl(RFemulation): +############## +# PROTECTED +############## + def __init__(self, conf): + super().__init__(conf, 'amarisoftctl') + self.addr = conf.get('addr') + self.port = conf.get('ports') + if self.addr is None: + raise log.Error('No "addr" attribute provided in supply conf!') + if self.port is None or len(self.port) != 1: + raise log.Error('No "port" attribute provided in supply conf!') + self.port = self.port[0] + self.set_name('amarisoftctl(%s:%d)' % (self.addr, self.port)) + self.cell_id = conf.get('cell_id') + if self.cell_id is None: + raise log.Error('No "cell_id" attribute provided in supply conf!') + self.ws = create_connection("ws://%s:%s" % (self.addr, self.port)) + + def __del__(self): + self.dbg('closing CTRL websocket') + self.ws.close() + +############################# +# PUBLIC (test API included) +############################# + def set_attenuation(self, db): + msg = { "message": "cell_gain", "cell_id": int(self.cell_id), "gain": -db } + msg_str = json.dumps(msg) + self.dbg('sending CTRL msg: "%s"' % msg_str) + self.ws.send(msg_str) + self.dbg('waiting CTRL recv...') + result = self.ws.recv() + self.dbg('Received CTRL msg: "%s"' % result) + + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/rfemu_minicircuits.py b/src/osmo_gsm_tester/obj/rfemu_minicircuits.py new file mode 100644 index 0000000..eea3a0e --- /dev/null +++ b/src/osmo_gsm_tester/obj/rfemu_minicircuits.py @@ -0,0 +1,67 @@ +# osmo_gsm_tester: class defining a RF emulation object implemented using a Minicircuits RC4DAT-6G-60 device +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# Author: Pau Espin Pedrol +# +# 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 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 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 urllib.request +import xml.etree.ElementTree as ET + +from ..core import log +from .rfemu import RFemulation + +# https://www.minicircuits.com/softwaredownload/Prog_Manual-6-Programmable_Attenuator.pdf +class RFemulationMinicircuitsHTTP(RFemulation): + + # HTTP request timeout, in seconds + HTTP_TIMEOUT = 5 + +############## +# PROTECTED +############## + def __init__(self, conf): + super().__init__(conf, 'minicircuits') + self.addr = conf.get('addr') + self.ports = conf.get('ports') + if self.addr is None: + raise log.Error('No "addr" attribute provided in supply conf!') + if self.ports is None or len(self.ports) == 0: + raise log.Error('No "port" attribute provided in supply conf!') + self.set_name('minicircuits(%s:%r)' % (self.addr, self.ports)) + + def _url_prefix(self): + #http://10.12.1.216/:SetAttPerChan:1:0_2:0_3:0_4:0 + return 'http://' + self.addr + + def _utl_set_attenauation(self, db): + ports_str = "" + for port in self.ports: + ports_str = ports_str + str(port) + ":" + + return self._url_prefix() + '/:CHAN:' + ports_str + 'SETATT:' + str(db) + +############################# +# PUBLIC (test API included) +############################# + def set_attenuation(self, db): + url = self._utl_set_attenauation(db) + self.dbg('sending HTTP req: "%s"' % url) + data = urllib.request.urlopen(url, timeout = self.HTTP_TIMEOUT).read() + data_str = str(data, 'utf-8') + self.dbg('Received response: "%s"' % data_str) + if data_str != '1': + raise log.Error('Mini-circuits attenuation device returned failure! %s' & data_str) +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index efb7d5a..d4757f3 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -111,6 +111,9 @@ 'enb[].cell_list[].cell_id': schema.UINT, 'enb[].cell_list[].scell_list[]': schema.UINT, 'enb[].cell_list[].dl_earfcn': schema.UINT, + 'enb[].cell_list[].dl_rfemu.type': schema.STR, + 'enb[].cell_list[].dl_rfemu.addr': schema.IPV4, + 'enb[].cell_list[].dl_rfemu.ports[]': schema.UINT, 'arfcn[].arfcn': schema.INT, 'arfcn[].band': schema.BAND, 'modem[].type': schema.STR, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17847 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: Ie98a3fb9bcd2b87b96ecbb5b79e0f53981892a32 Gerrit-Change-Number: 17847 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge 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 Mon Apr 20 12:08:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 12:08:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Add GTPv2_Emulation component In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867 ) Change subject: Add GTPv2_Emulation component ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867/3/library/GTPv2_Emulation.ttcn File library/GTPv2_Emulation.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867/3/library/GTPv2_Emulation.ttcn at 378 PS3, Line 378: GTPv2_CodecPort_CtrlFunct > This prefix may be omitted since we 'import all' anyway. but if you import from multiple CodecPorts, it becomes ambiguous. May not be needed here, but I tend to do it just in case. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867/3/library/GTPv2_Emulation.ttcn at 405 PS3, Line 405: activate(as_uecups_ind()); > So this altstep is activated regardless of 'g_gtp2_cfg. [?] yes, but does it hurt? an unconnected port will never receive any messages... -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867 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: If73aa453e44ebf28032c60d207feb03e8061dc0c Gerrit-Change-Number: 17867 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 20 Apr 2020 12:08: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 Apr 20 12:31:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 12:31:29 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Add attribute to set 'id' References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17895 ) Change subject: enb: Add attribute to set 'id' ...................................................................... enb: Add attribute to set 'id' Change-Id: I8ce296c7875d557062dc13e7093ce0400050f2ce --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/epc_srs.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M sysmocom/defaults.conf 6 files changed, 16 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/95/17895/1 diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 59b5bfe..e0f7be0 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -37,6 +37,7 @@ self._gtp_bind_addr = self._addr self.set_name('%s_%s' % (name, self._addr)) self._txmode = 0 + self._id = None self._num_prb = 0 self._num_cells = None self._epc = None @@ -49,6 +50,8 @@ for config_specifics in config_specifics_li: config.overlay(values, dict(enb=self.suite_run.config().get(config_specifics, {}))) config.overlay(values, dict(enb=self._conf)) + self._id = int(values['enb'].get('id', None)) + assert self._id is not None self._num_prb = int(values['enb'].get('num_prb', None)) assert self._num_prb self._txmode = int(values['enb'].get('transmission_mode', None)) @@ -78,6 +81,9 @@ return values + def id(self): + return self._id + def num_ports(self): if self._txmode == 1: return 1 diff --git a/src/osmo_gsm_tester/obj/epc_srs.py b/src/osmo_gsm_tester/obj/epc_srs.py index fc1ee5f..ec9dc44 100644 --- a/src/osmo_gsm_tester/obj/epc_srs.py +++ b/src/osmo_gsm_tester/obj/epc_srs.py @@ -190,8 +190,12 @@ return subscriber_id def enb_is_connected(self, enb): - # TODO: match against srsENB config: "S1 Setup Request - eNB Name: srsenb01, eNB id: 0x19" - return 'S1 Setup Request - eNB' in (self.process.get_stdout() or '') + # Match against sample line: "S1 Setup Request - eNB Name: srsenb01, eNB id: 0x19" + stdout_lines = (self.process.get_stdout() or '').splitlines() + for l in stdout_lines: + if l.startswith('S1 Setup Request') and l.endswith('eNB id: %s' % hex(enb.id()).lower()): + return True + return False def running(self): return not self.process.terminated() diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index d4757f3..cafdab8 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -89,6 +89,7 @@ 'enb[].remote_user': schema.STR, 'enb[].addr': schema.IPV4, 'enb[].gtp_bind_addr': schema.IPV4, + 'enb[].id': schema.UINT, 'enb[].num_prb': schema.UINT, 'enb[].transmission_mode': schema.LTE_TRANSMISSION_MODE, 'enb[].rf_dev_type': schema.STR, diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 11704b6..89e65f1 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -51,7 +51,7 @@ gtp_addr: "${enb.gtp_bind_addr}", /* high 20 bits of SIB1.cellIdentifier */ - enb_id: 0x19B, + enb_id: ${enb.id}, /* list of cells */ cell_list: [ diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index 94e724b..5f7b3ea 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -19,7 +19,7 @@ # ##################################################################### [enb] -enb_id = 0x19B +enb_id = ${enb.id} mcc = ${enb.mcc} mnc = ${enb.mnc} mme_addr = ${enb.mme_addr} diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index bf5bce1..aea2791 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -106,6 +106,7 @@ license_server_addr: 0.0.0.0 enb: + id: 0x19B mcc: 901 mnc: 70 transmission_mode: 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17895 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: I8ce296c7875d557062dc13e7093ce0400050f2ce Gerrit-Change-Number: 17895 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Apr 20 12:35:49 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 12:35:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5e9d972f99062_4a172ad5e03f65fc289cf@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_8.0/i586 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 194s] #define VERSION "UNKNOWN" [ 194s] #define STDC_HEADERS 1 [ 194s] #define HAVE_SYS_TYPES_H 1 [ 194s] #define HAVE_SYS_STAT_H 1 [ 194s] #define HAVE_STDLIB_H 1 [ 194s] #define HAVE_STRING_H 1 [ 194s] #define HAVE_MEMORY_H 1 [ 194s] #define HAVE_STRINGS_H 1 [ 194s] #define HAVE_INTTYPES_H 1 [ 194s] #define HAVE_STDINT_H 1 [ 194s] #define HAVE_UNISTD_H 1 [ 194s] #define HAVE_DLFCN_H 1 [ 194s] #define LT_OBJDIR ".libs/" [ 194s] [ 194s] configure: exit 1 [ 194s] dh_auto_configure: ./configure --build=i586-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --libdir=${prefix}/lib/i386-linux-gnu --libexecdir=${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 194s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 194s] make[1]: *** [override_dh_auto_configure] Error 255 [ 194s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 194s] debian/rules:45: recipe for target 'build' failed [ 194s] make: *** [build] Error 2 [ 194s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 195s] ### VM INTERACTION START ### [ 196s] Powering off. [ 196s] [ 184.942098] reboot: Power down [ 196s] ### VM INTERACTION END ### [ 196s] [ 196s] lamb04 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 12:35:45 UTC 2020. [ 196s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 12:36:06 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 12:36:06 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5e9d9750dd05b_4a172ad5e03f65fc29164@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 163s] #define VERSION "UNKNOWN" [ 163s] #define STDC_HEADERS 1 [ 163s] #define HAVE_SYS_TYPES_H 1 [ 163s] #define HAVE_SYS_STAT_H 1 [ 163s] #define HAVE_STDLIB_H 1 [ 163s] #define HAVE_STRING_H 1 [ 163s] #define HAVE_MEMORY_H 1 [ 163s] #define HAVE_STRINGS_H 1 [ 163s] #define HAVE_INTTYPES_H 1 [ 163s] #define HAVE_STDINT_H 1 [ 163s] #define HAVE_UNISTD_H 1 [ 163s] #define HAVE_DLFCN_H 1 [ 163s] #define LT_OBJDIR ".libs/" [ 163s] [ 163s] configure: exit 1 [ 163s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/x86_64-linux-gnu --libexecdir=${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 163s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 163s] make[1]: *** [override_dh_auto_configure] Error 2 [ 163s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 163s] debian/rules:45: recipe for target 'build' failed [ 163s] make: *** [build] Error 2 [ 163s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 163s] ### VM INTERACTION START ### [ 166s] [ 158.420179] sysrq: SysRq : Power Off [ 166s] [ 158.421869] reboot: Power down [ 166s] ### VM INTERACTION END ### [ 166s] [ 166s] build80 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 12:35:58 UTC 2020. [ 166s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 12:36:23 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 12:36:23 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in xUbuntu_16.04/x86_64 In-Reply-To: References: Message-ID: <5e9d9752598c7_4a172ad5e03f65fc29232@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/xUbuntu_16.04/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in xUbuntu_16.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 184s] #define VERSION "UNKNOWN" [ 184s] #define STDC_HEADERS 1 [ 184s] #define HAVE_SYS_TYPES_H 1 [ 184s] #define HAVE_SYS_STAT_H 1 [ 184s] #define HAVE_STDLIB_H 1 [ 184s] #define HAVE_STRING_H 1 [ 184s] #define HAVE_MEMORY_H 1 [ 184s] #define HAVE_STRINGS_H 1 [ 184s] #define HAVE_INTTYPES_H 1 [ 184s] #define HAVE_STDINT_H 1 [ 184s] #define HAVE_UNISTD_H 1 [ 184s] #define HAVE_DLFCN_H 1 [ 184s] #define LT_OBJDIR ".libs/" [ 184s] [ 184s] configure: exit 1 [ 184s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/x86_64-linux-gnu --libexecdir=${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 184s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 184s] make[1]: *** [override_dh_auto_configure] Error 255 [ 184s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 184s] debian/rules:45: recipe for target 'build' failed [ 184s] make: *** [build] Error 2 [ 184s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 184s] ### VM INTERACTION START ### [ 187s] [ 178.125244] sysrq: SysRq : Power Off [ 187s] [ 178.130930] reboot: Power down [ 187s] ### VM INTERACTION END ### [ 187s] [ 187s] lamb07 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 12:36:14 UTC 2020. [ 187s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 12:36:24 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 12:36:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in xUbuntu_16.04/i586 In-Reply-To: References: Message-ID: <5e9d97538cec3_4a172ad5e03f65fc2939b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/xUbuntu_16.04/i586 Package network:osmocom:nightly/osmo-uecups failed to build in xUbuntu_16.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 251s] #define VERSION "UNKNOWN" [ 251s] #define STDC_HEADERS 1 [ 251s] #define HAVE_SYS_TYPES_H 1 [ 251s] #define HAVE_SYS_STAT_H 1 [ 251s] #define HAVE_STDLIB_H 1 [ 251s] #define HAVE_STRING_H 1 [ 251s] #define HAVE_MEMORY_H 1 [ 251s] #define HAVE_STRINGS_H 1 [ 251s] #define HAVE_INTTYPES_H 1 [ 251s] #define HAVE_STDINT_H 1 [ 251s] #define HAVE_UNISTD_H 1 [ 251s] #define HAVE_DLFCN_H 1 [ 251s] #define LT_OBJDIR ".libs/" [ 251s] [ 251s] configure: exit 1 [ 251s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/i386-linux-gnu --libexecdir=${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 251s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 251s] make[1]: *** [override_dh_auto_configure] Error 255 [ 251s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 251s] debian/rules:45: recipe for target 'build' failed [ 251s] make: *** [build] Error 2 [ 251s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 251s] ### VM INTERACTION START ### [ 254s] [ 223.593701] sysrq: SysRq : Power Off [ 254s] [ 223.635359] reboot: Power down [ 254s] ### VM INTERACTION END ### [ 255s] [ 255s] cloud123 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 12:36:21 UTC 2020. [ 255s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 12:36:40 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 12:36:40 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_10/i586 In-Reply-To: References: Message-ID: <5e9d976df44b_4a172ad5e03f65fc29418@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_10/i586 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 238s] #define PACKAGE_URL "" [ 238s] #define PACKAGE "osmo-uecups" [ 238s] #define VERSION "UNKNOWN" [ 238s] #define STDC_HEADERS 1 [ 238s] #define HAVE_SYS_TYPES_H 1 [ 238s] #define HAVE_SYS_STAT_H 1 [ 238s] #define HAVE_STDLIB_H 1 [ 238s] #define HAVE_STRING_H 1 [ 238s] #define HAVE_MEMORY_H 1 [ 238s] #define HAVE_STRINGS_H 1 [ 238s] #define HAVE_INTTYPES_H 1 [ 238s] #define HAVE_STDINT_H 1 [ 238s] #define HAVE_UNISTD_H 1 [ 238s] #define HAVE_DLFCN_H 1 [ 238s] #define LT_OBJDIR ".libs/" [ 238s] [ 238s] configure: exit 1 [ 238s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 238s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 2 [ 238s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 238s] make: *** [debian/rules:45: build] Error 2 [ 238s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 238s] ### VM INTERACTION START ### [ 242s] [ 232.561146] sysrq: SysRq : Power Off [ 242s] [ 232.564824] reboot: Power down [ 242s] ### VM INTERACTION END ### [ 242s] [ 242s] sheep88 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 12:36:29 UTC 2020. [ 242s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 12:36:40 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 12:36:40 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5e9d976da7d39_4a172ad5e03f65fc295ac@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 178s] #define VERSION "UNKNOWN" [ 178s] #define STDC_HEADERS 1 [ 178s] #define HAVE_SYS_TYPES_H 1 [ 178s] #define HAVE_SYS_STAT_H 1 [ 178s] #define HAVE_STDLIB_H 1 [ 178s] #define HAVE_STRING_H 1 [ 178s] #define HAVE_MEMORY_H 1 [ 178s] #define HAVE_STRINGS_H 1 [ 178s] #define HAVE_INTTYPES_H 1 [ 178s] #define HAVE_STDINT_H 1 [ 178s] #define HAVE_UNISTD_H 1 [ 178s] #define HAVE_DLFCN_H 1 [ 178s] #define LT_OBJDIR ".libs/" [ 178s] [ 178s] configure: exit 1 [ 178s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --libdir=${prefix}/lib/x86_64-linux-gnu --libexecdir=${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 178s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 178s] make[1]: *** [override_dh_auto_configure] Error 255 [ 178s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 178s] debian/rules:45: recipe for target 'build' failed [ 178s] make: *** [build] Error 2 [ 178s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 179s] ### VM INTERACTION START ### [ 180s] Powering off. [ 180s] [ 169.929429] reboot: Power down [ 180s] ### VM INTERACTION END ### [ 180s] [ 180s] lamb10 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 12:36:25 UTC 2020. [ 180s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 12:36:58 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 12:36:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5e9d976f767d5_4a172ad5e03f65fc29723@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/i586 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 265s] #define VERSION "UNKNOWN" [ 265s] #define STDC_HEADERS 1 [ 265s] #define HAVE_SYS_TYPES_H 1 [ 265s] #define HAVE_SYS_STAT_H 1 [ 265s] #define HAVE_STDLIB_H 1 [ 265s] #define HAVE_STRING_H 1 [ 265s] #define HAVE_MEMORY_H 1 [ 265s] #define HAVE_STRINGS_H 1 [ 265s] #define HAVE_INTTYPES_H 1 [ 265s] #define HAVE_STDINT_H 1 [ 265s] #define HAVE_UNISTD_H 1 [ 265s] #define HAVE_DLFCN_H 1 [ 265s] #define LT_OBJDIR ".libs/" [ 265s] [ 265s] configure: exit 1 [ 265s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/i386-linux-gnu --libexecdir=${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 265s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 265s] make[1]: *** [override_dh_auto_configure] Error 2 [ 265s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 265s] debian/rules:45: recipe for target 'build' failed [ 265s] make: *** [build] Error 2 [ 266s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 266s] ### VM INTERACTION START ### [ 269s] [ 252.518387] sysrq: SysRq : Power Off [ 269s] [ 252.529350] reboot: Power down [ 269s] ### VM INTERACTION END ### [ 269s] [ 269s] cloud128 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 12:36:51 UTC 2020. [ 269s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 12:36:58 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 12:36:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5e9d976f1c2cc_4a172ad5e03f65fc2961a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 207s] #define VERSION "UNKNOWN" [ 207s] #define STDC_HEADERS 1 [ 207s] #define HAVE_SYS_TYPES_H 1 [ 207s] #define HAVE_SYS_STAT_H 1 [ 207s] #define HAVE_STDLIB_H 1 [ 207s] #define HAVE_STRING_H 1 [ 207s] #define HAVE_MEMORY_H 1 [ 207s] #define HAVE_STRINGS_H 1 [ 207s] #define HAVE_INTTYPES_H 1 [ 207s] #define HAVE_STDINT_H 1 [ 207s] #define HAVE_UNISTD_H 1 [ 207s] #define HAVE_DLFCN_H 1 [ 207s] #define LT_OBJDIR ".libs/" [ 207s] [ 207s] configure: exit 1 [ 207s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 207s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 207s] make[1]: *** [override_dh_auto_configure] Error 2 [ 207s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 207s] debian/rules:45: recipe for target 'build' failed [ 207s] make: *** [build] Error 2 [ 207s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 207s] ### VM INTERACTION START ### [ 210s] [ 202.177226] sysrq: SysRq : Power Off [ 210s] [ 202.181175] reboot: Power down [ 210s] ### VM INTERACTION END ### [ 210s] [ 210s] sheep85 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 12:36:49 UTC 2020. [ 210s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 12:37:49 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 12:37:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5e9d97ab21efa_4a172ad5e03f65fc29931@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 267s] #define PACKAGE_URL "" [ 267s] #define PACKAGE "osmo-uecups" [ 267s] #define VERSION "UNKNOWN" [ 267s] #define STDC_HEADERS 1 [ 267s] #define HAVE_SYS_TYPES_H 1 [ 267s] #define HAVE_SYS_STAT_H 1 [ 267s] #define HAVE_STDLIB_H 1 [ 267s] #define HAVE_STRING_H 1 [ 267s] #define HAVE_MEMORY_H 1 [ 267s] #define HAVE_STRINGS_H 1 [ 267s] #define HAVE_INTTYPES_H 1 [ 267s] #define HAVE_STDINT_H 1 [ 267s] #define HAVE_UNISTD_H 1 [ 267s] #define HAVE_DLFCN_H 1 [ 267s] #define LT_OBJDIR ".libs/" [ 267s] [ 267s] configure: exit 1 [ 267s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 267s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 2 [ 267s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 267s] make: *** [debian/rules:45: build] Error 2 [ 267s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 267s] ### VM INTERACTION START ### [ 270s] [ 259.500712] sysrq: SysRq : Power Off [ 270s] [ 259.505237] reboot: Power down [ 270s] ### VM INTERACTION END ### [ 270s] [ 270s] lamb05 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 12:37:32 UTC 2020. [ 270s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 12:38:23 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 12:38:23 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5e9d97c6c789d_4a172ad5e03f65fc30261@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/xUbuntu_18.10/i586 Package network:osmocom:nightly/osmo-uecups failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 299s] #define PACKAGE "osmo-uecups" [ 299s] #define VERSION "UNKNOWN" [ 299s] #define STDC_HEADERS 1 [ 299s] #define HAVE_SYS_TYPES_H 1 [ 299s] #define HAVE_SYS_STAT_H 1 [ 299s] #define HAVE_STDLIB_H 1 [ 299s] #define HAVE_STRING_H 1 [ 299s] #define HAVE_MEMORY_H 1 [ 299s] #define HAVE_STRINGS_H 1 [ 299s] #define HAVE_INTTYPES_H 1 [ 299s] #define HAVE_STDINT_H 1 [ 299s] #define HAVE_UNISTD_H 1 [ 299s] #define HAVE_DLFCN_H 1 [ 299s] #define LT_OBJDIR ".libs/" [ 299s] [ 299s] configure: exit 1 [ 299s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsys[ 287.756136] serial8250: too much work for irq4 [ 299s] temunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 299s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 2 [ 299s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 299s] make: *** [debian/rules:45: build] Error 2 [ 299s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 299s] ### VM INTERACTION START ### [ 302s] [ 290.844641] sysrq: SysRq : Power Off [ 302s] [ 290.849054] reboot: Power down [ 302s] ### VM INTERACTION END ### [ 302s] [ 302s] lamb17 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 12:38:07 UTC 2020. [ 302s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 12:38:40 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 12:38:40 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5e9d97e5e2cd6_4a172ad5e03f65fc30359@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 315s] #define PACKAGE_URL "" [ 315s] #define PACKAGE "osmo-uecups" [ 315s] #define VERSION "UNKNOWN" [ 315s] #define STDC_HEADERS 1 [ 315s] #define HAVE_SYS_TYPES_H 1 [ 315s] #define HAVE_SYS_STAT_H 1 [ 315s] #define HAVE_STDLIB_H 1 [ 315s] #define HAVE_STRING_H 1 [ 315s] #define HAVE_MEMORY_H 1 [ 315s] #define HAVE_STRINGS_H 1 [ 315s] #define HAVE_INTTYPES_H 1 [ 315s] #define HAVE_STDINT_H 1 [ 315s] #define HAVE_UNISTD_H 1 [ 315s] #define HAVE_DLFCN_H 1 [ 315s] #define LT_OBJDIR ".libs/" [ 315s] [ 315s] configure: exit 1 [ 315s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 315s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 255 [ 315s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 315s] make: *** [debian/rules:45: build] Error 2 [ 315s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 315s] ### VM INTERACTION START ### [ 318s] [ 289.307081] sysrq: SysRq : Power Off [ 318s] [ 289.310922] reboot: Power down [ 318s] ### VM INTERACTION END ### [ 318s] [ 318s] cloud103 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 12:38:34 UTC 2020. [ 318s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 12:39:15 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 12:39:15 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5e9d980531b3b_4a172ad5e03f65fc304d1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_10/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 316s] #define PACKAGE_URL "" [ 316s] #define PACKAGE "osmo-uecups" [ 316s] #define VERSION "UNKNOWN" [ 316s] #define STDC_HEADERS 1 [ 316s] #define HAVE_SYS_TYPES_H 1 [ 316s] #define HAVE_SYS_STAT_H 1 [ 316s] #define HAVE_STDLIB_H 1 [ 316s] #define HAVE_STRING_H 1 [ 316s] #define HAVE_MEMORY_H 1 [ 316s] #define HAVE_STRINGS_H 1 [ 316s] #define HAVE_INTTYPES_H 1 [ 316s] #define HAVE_STDINT_H 1 [ 316s] #define HAVE_UNISTD_H 1 [ 316s] #define HAVE_DLFCN_H 1 [ 316s] #define LT_OBJDIR ".libs/" [ 316s] [ 316s] configure: exit 1 [ 316s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 316s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 2 [ 316s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 316s] make: *** [debian/rules:45: build] Error 2 [ 316s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 316s] ### VM INTERACTION START ### [ 319s] [ 303.553325] sysrq: SysRq : Power Off [ 319s] [ 303.565994] reboot: Power down [ 319s] ### VM INTERACTION END ### [ 319s] [ 319s] cloud123 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 12:39:12 UTC 2020. [ 319s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 12:40:06 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 12:40:06 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5e9d983ecf9fa_4a172ad5e03f65fc30757@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 325s] #define PACKAGE_URL "" [ 325s] #define PACKAGE "osmo-uecups" [ 325s] #define VERSION "UNKNOWN" [ 325s] #define STDC_HEADERS 1 [ 325s] #define HAVE_SYS_TYPES_H 1 [ 325s] #define HAVE_SYS_STAT_H 1 [ 325s] #define HAVE_STDLIB_H 1 [ 325s] #define HAVE_STRING_H 1 [ 325s] #define HAVE_MEMORY_H 1 [ 325s] #define HAVE_STRINGS_H 1 [ 325s] #define HAVE_INTTYPES_H 1 [ 325s] #define HAVE_STDINT_H 1 [ 325s] #define HAVE_UNISTD_H 1 [ 325s] #define HAVE_DLFCN_H 1 [ 325s] #define LT_OBJDIR ".libs/" [ 325s] [ 325s] configure: exit 1 [ 325s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 325s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 2 [ 325s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 325s] make: *** [debian/rules:45: build] Error 2 [ 325s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 325s] ### VM INTERACTION START ### [ 328s] [ 312.362653] sysrq: SysRq : Power Off [ 328s] [ 312.370205] reboot: Power down [ 328s] ### VM INTERACTION END ### [ 328s] [ 328s] lamb61 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 12:39:52 UTC 2020. [ 328s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 12:40:40 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 12:40:40 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5e9d985aa52ce_4a172ad5e03f65fc3119d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 432s] #define PACKAGE_URL "" [ 432s] #define PACKAGE "osmo-uecups" [ 432s] #define VERSION "UNKNOWN" [ 432s] #define STDC_HEADERS 1 [ 432s] #define HAVE_SYS_TYPES_H 1 [ 432s] #define HAVE_SYS_STAT_H 1 [ 432s] #define HAVE_STDLIB_H 1 [ 432s] #define HAVE_STRING_H 1 [ 432s] #define HAVE_MEMORY_H 1 [ 432s] #define HAVE_STRINGS_H 1 [ 432s] #define HAVE_INTTYPES_H 1 [ 432s] #define HAVE_STDINT_H 1 [ 432s] #define HAVE_UNISTD_H 1 [ 432s] #define HAVE_DLFCN_H 1 [ 432s] #define LT_OBJDIR ".libs/" [ 432s] [ 432s] configure: exit 1 [ 432s] dh_auto_configure: error: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 432s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 25 [ 432s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 432s] make: *** [debian/rules:45: build] Error 2 [ 432s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 432s] ### VM INTERACTION START ### [ 435s] [ 422.274814] sysrq: SysRq : Power Off [ 435s] [ 422.291363] reboot: Power down [ 435s] ### VM INTERACTION END ### [ 435s] [ 435s] lamb06 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 12:40:25 UTC 2020. [ 435s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 12:40:40 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 12:40:40 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e9d985b6cd42_4a172ad5e03f65fc31258@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 446s] #define PACKAGE_URL "" [ 446s] #define PACKAGE "osmo-uecups" [ 446s] #define VERSION "UNKNOWN" [ 446s] #define STDC_HEADERS 1 [ 446s] #define HAVE_SYS_TYPES_H 1 [ 446s] #define HAVE_SYS_STAT_H 1 [ 446s] #define HAVE_STDLIB_H 1 [ 446s] #define HAVE_STRING_H 1 [ 446s] #define HAVE_MEMORY_H 1 [ 446s] #define HAVE_STRINGS_H 1 [ 446s] #define HAVE_INTTYPES_H 1 [ 446s] #define HAVE_STDINT_H 1 [ 446s] #define HAVE_UNISTD_H 1 [ 446s] #define HAVE_DLFCN_H 1 [ 446s] #define LT_OBJDIR ".libs/" [ 446s] [ 446s] configure: exit 1 [ 446s] dh_auto_configure: error: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 446s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 25 [ 446s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 446s] make: *** [debian/rules:45: build] Error 2 [ 446s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 446s] ### VM INTERACTION START ### [ 449s] [ 433.127176] sysrq: SysRq : Power Off [ 449s] [ 433.149047] reboot: Power down [ 449s] ### VM INTERACTION END ### [ 449s] [ 449s] lamb11 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 12:40:34 UTC 2020. [ 449s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 12:40:58 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 12:40:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5e9d987a99b5f_4a172ad5e03f65fc314d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/xUbuntu_18.04/i586 Package network:osmocom:nightly/osmo-uecups failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 464s] #define VERSION "UNKNOWN" [ 464s] #define STDC_HEADERS 1 [ 464s] #define HAVE_SYS_TYPES_H 1 [ 464s] #define HAVE_SYS_STAT_H 1 [ 464s] #define HAVE_STDLIB_H 1 [ 464s] #define HAVE_STRING_H 1 [ 464s] #define HAVE_MEMORY_H 1 [ 464s] #define HAVE_STRINGS_H 1 [ 464s] #define HAVE_INTTYPES_H 1 [ 464s] #define HAVE_STDINT_H 1 [ 464s] #define HAVE_UNISTD_H 1 [ 464s] #define HAVE_DLFCN_H 1 [ 464s] #define LT_OBJDIR ".libs/" [ 464s] [ 464s] configure: exit 1 [ 464s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 464s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 464s] make[1]: *** [override_dh_auto_configure] Error 2 [ 464s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 464s] debian/rules:45: recipe for target 'build' failed [ 464s] make: *** [build] Error 2 [ 464s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 464s] ### VM INTERACTION START ### [ 467s] [ 441.550695] sysrq: SysRq : Power Off [ 467s] [ 441.554987] reboot: Power down [ 467s] ### VM INTERACTION END ### [ 467s] [ 467s] cloud107 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 12:40:45 UTC 2020. [ 467s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 12:43:15 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 12:43:15 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5e9d98f33e22e_4a172ad5e03f65fc32072@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/aarch64 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 284s] #define VERSION "UNKNOWN" [ 284s] #define STDC_HEADERS 1 [ 284s] #define HAVE_SYS_TYPES_H 1 [ 284s] #define HAVE_SYS_STAT_H 1 [ 284s] #define HAVE_STDLIB_H 1 [ 284s] #define HAVE_STRING_H 1 [ 284s] #define HAVE_MEMORY_H 1 [ 284s] #define HAVE_STRINGS_H 1 [ 284s] #define HAVE_INTTYPES_H 1 [ 284s] #define HAVE_STDINT_H 1 [ 284s] #define HAVE_UNISTD_H 1 [ 284s] #define HAVE_DLFCN_H 1 [ 284s] #define LT_OBJDIR ".libs/" [ 284s] [ 284s] configure: exit 1 [ 284s] dh_auto_configure: ./configure --build=aarch64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/aarch64-linux-gnu --libexecdir=${prefix}/lib/aarch64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 284s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 284s] make[1]: *** [override_dh_auto_configure] Error 2 [ 284s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 284s] debian/rules:45: recipe for target 'build' failed [ 284s] make: *** [build] Error 2 [ 284s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 284s] ### VM INTERACTION START ### [ 287s] [ 273.228800] sysrq: Power Off [ 287s] [ 273.231668] reboot: Power down [ 287s] ### VM INTERACTION END ### [ 287s] [ 287s] obs-arm-7 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 12:43:10 UTC 2020. [ 287s] -- 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 Apr 20 12:47:19 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 20 Apr 2020 12:47:19 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when not loglevel is set In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/17604 to look at the new patch set (#4). Change subject: logging: use LOGL_NOTICE when not loglevel is set ...................................................................... logging: use LOGL_NOTICE when not loglevel is set when the API user of libosmocores logging infrastructure does not set a pre-defined logging level in struct log_info_cat, the result would be an invalid logging level. In order to avoid problems with that and to spare all the additional .loglevel = LOGL_NOTICE (API users are advised to use LOGL_NOTICE as default) lines in the user code lets check the logging level on startup and set LOGL_NOTICE if there is no logging level set. Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Related: OS#2577 --- M src/logging.c 1 file changed, 15 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/04/17604/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Gerrit-Change-Number: 17604 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Apr 20 12:50:23 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 12:50:23 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5e9d9a9726672_4a172ad5e03f65fc338e9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_10/aarch64 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 1032s] configure:7616: $? = 0 [ 1032s] configure:7616: result: yes [ 1032s] configure:7616: checking for stdint.h [ 1032s] configure:7616: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 1032s] configure:7616: $? = 0 [ 1032s] configure:7616: result: yes [ 1032s] configure:7616: checking for unistd.h [ 1032s] configure:7616: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 1032s] configure:7616: $? = 0 [ 1032s] configure:7616: result: yes [ 1032s] configure:7630: checking for dlfcn.h [ 1032s] configure:7630: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 1032s] configure:7630: $? = 0 [ 1032s] configure:7630: result: yes [ 1032s] configure:7886: checking for objdir [ 1032s] configure:7901: result: .libs [ 1032s] configure:8165: checking if gcc supports -fno-rtti -fno-exceptions [ 1032s] configure:8183: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fno-rtti -fno-exceptions conftest.c >&5 [ 1032s] cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C [ 1032s] configure:8187: $? = 0 [ 1032s] configure:8200: result: no [ 1032s] configure:8558: checking for gcc option to produce PIC [ 1032s] configure:8565: result: -fPIC -DPIC [ 1034s] configure:8573: checking if gcc PIC flag -fPIC -[ 943.666452] sysrq: SysRq : Power Off [ 1034s] [ 943.691219] reboot: Power down [ 1034s] ### VM INTERACTION END ### [ 1034s] [ 1034s] obs-arm-3 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 12:50:18 UTC 2020. [ 1034s] -- 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 Apr 20 12:51:36 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 20 Apr 2020 12:51:36 +0000 Subject: Change in libosmo-sccp[master]: doc: make sure all log categories are set to level notice In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17597 ) Change subject: doc: make sure all log categories are set to level notice ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmo-sccp/+/17597/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmo-sccp/+/17597/2//COMMIT_MSG at 9 PS2, Line 9: Lets make sure all logging levels are set to notice > Commit description doesn't match the commit changes. notive vs info. I had a look at it, it should be indeed notice instead of info in the config file. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I3b17aa4354f30b55da8fc77f4fe6af0373de7983 Gerrit-Change-Number: 17597 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 12:51:36 +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 Apr 20 12:52:24 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 12:52:24 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse and print Service Table References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17896 ) Change subject: utils.py: Add helper method to parse and print Service Table ...................................................................... utils.py: Add helper method to parse and print Service Table This method helps in printing Service Tables in EF.SST, EF.UST, EF.IST. Takes hex string of Service table, parses it and prints available service along with its description. Change-Id: Ie1e82e07ead2e28314a5794661e6b2ced0acd72a --- M pySim/utils.py 1 file changed, 31 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/96/17896/1 diff --git a/pySim/utils.py b/pySim/utils.py index 51f2954..be670e9 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -347,3 +347,34 @@ avail_srvc.append((8*i) + j) byte = byte >> 1 return avail_srvc + +def dec_st(st, table="sim"): + """ + Parses the EF S/U/IST and prints the list of available services in EF S/U/IST + """ + + if table == "usim": + from pySim.ts_31_102 import EF_UST_map + lookup_map = EF_UST_map + else: + from pySim.ts_51_011 import EF_SST_map + lookup_map = EF_SST_map + + st_bytes = [st[i:i+2] for i in range(0, len(st), 2) ] + + avail_st = "" + # Get each byte and check for available services + for i in range(0, len(st_bytes)): + # Byte i contains info about Services num (8i+1) to num (8i+8) + byte = int(st_bytes[i], 16) + # Services in each byte are in order MSB to LSB + # MSB - Service (8i+8) + # LSB - Service (8i+1) + for j in range(1, 9): + if byte&0x01 == 0x01 and ((8*i) + j in lookup_map): + # Byte X contains info about Services num (8X-7) to num (8X) + # bit = 1: service available + # bit = 0: service not available + avail_st += '\tService %d - %s\n' % ((8*i) + j, lookup_map[(8*i) + j]) + byte = byte >> 1 + return avail_st -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17896 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie1e82e07ead2e28314a5794661e6b2ced0acd72a Gerrit-Change-Number: 17896 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 12:52:23 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 12:52:23 +0000 Subject: Change in pysim[master]: Define mapping between ISIM Service Number and its description 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/+/17881 to look at the new patch set (#3). Change subject: Define mapping between ISIM Service Number and its description ...................................................................... Define mapping between ISIM Service Number and its description This commit introduces a lookup table which maps ISIM Service Number to its description. The mapping is defined in 3GPP TS 31.103 version 14.2.0 Release 14, 4.2.7 EF.IST (ISIM Service Table) Change-Id: Iad51d0804259df47729308b461062f794b135e66 --- A pySim/ts_31_103.py 1 file changed, 46 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/81/17881/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iad51d0804259df47729308b461062f794b135e66 Gerrit-Change-Number: 17881 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth 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 Apr 20 12:52:25 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 12:52:25 +0000 Subject: Change in pysim[master]: Use helper method to print available service in EF.SST References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17897 ) Change subject: Use helper method to print available service in EF.SST ...................................................................... Use helper method to print available service in EF.SST Change-Id: I375475e9f7210dae4e8da7258d6824dc2d54cf4c --- 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, 244 insertions(+), 243 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/97/17897/1 diff --git a/pySim-read.py b/pySim-read.py index 9f7a305..8b037b0 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -32,7 +32,7 @@ from pySim.commands import SimCardCommands from pySim.cards import card_detect, Card -from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn, format_xplmn_w_act, dec_spn +from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn, format_xplmn_w_act, dec_spn, dec_st def parse_options(): @@ -223,16 +223,11 @@ print("AD: Can't read, response code = %s" % (sw,)) # EF.SST - (res, sw) = card.read_sst() + (res, sw) = card.read_binary('SST') if sw == '9000': - # (st_hex, avail_src_list) = res - # st_hex - Service Table in hex format - # avail_src_list - List of services available - print("SIM Service Table: %s" % res[0]) + print("SIM Service Table: %s" % res) # Print those which are available - for s in res[1]: - if s in EF_SST_map: - print('\tService %d - %s: %s' % (s, EF_SST_map[s], s in res[1])) + print("%s" % dec_st(res)) else: print("SIM Service Table: Can't read, response code = %s" % (sw,)) diff --git a/pysim-testdata/Fairwaves-SIM.ok b/pysim-testdata/Fairwaves-SIM.ok index 1dbaab6..9df44fd 100644 --- a/pysim-testdata/Fairwaves-SIM.ok +++ b/pysim-testdata/Fairwaves-SIM.ok @@ -44,46 +44,47 @@ MSISDN: Not available AD: 00000002 SIM Service Table: ff3cc3ff030fff0f000fff03f0c0 - Service 1 - CHV1 disable function: True - Service 2 - Abbreviated Dialling Numbers (ADN): True - Service 3 - Fixed Dialling Numbers (FDN): True - Service 4 - Short Message Storage (SMS): True - Service 5 - Advice of Charge (AoC): True - Service 6 - Capability Configuration Parameters (CCP): True - Service 7 - PLMN selector: True - Service 8 - RFU: True - Service 11 - Extension2: True - Service 12 - SMS Parameters: True - Service 13 - Last Number Dialled (LND): True - Service 14 - Cell Broadcast Message Identifier: True - Service 17 - Service Provider Name: True - Service 18 - Service Dialling Numbers (SDN): True - Service 23 - enhanced Multi-Level Precedence and Pre-emption Service: True - Service 24 - Automatic Answer for eMLPP: True - Service 25 - Data download via SMS-CB: True - Service 26 - Data download via SMS-PP: True - Service 27 - Menu selection: True - Service 28 - Call control: True - Service 29 - Proactive SIM: True - Service 30 - Cell Broadcast Message Identifier Ranges: True - Service 31 - Barred Dialling Numbers (BDN): True - Service 32 - Extension4: True - Service 33 - De-personalization Control Keys: True - Service 34 - Co-operative Network List: True - Service 41 - USSD string data object supported in Call Control: True - Service 42 - RUN AT COMMAND command: True - Service 43 - User controlled PLMN Selector with Access Technology: True - Service 44 - Operator controlled PLMN Selector with Access Technology: True - Service 49 - MExE: True - Service 50 - Reserved and shall be ignored: True - Service 51 - PLMN Network Name: True - Service 52 - Operator PLMN List: True - Service 53 - Mailbox Dialling Numbers: True - Service 54 - Message Waiting Indication Status: True - Service 55 - Call Forwarding Indication Status: True - Service 56 - Service Provider Display Information: True - Service 57 - Multimedia Messaging Service (MMS): True - Service 58 - Extension 8: True - Service 59 - MMS User Connectivity Parameters: True + Service 1 - CHV1 disable function + Service 2 - Abbreviated Dialling Numbers (ADN) + Service 3 - Fixed Dialling Numbers (FDN) + Service 4 - Short Message Storage (SMS) + Service 5 - Advice of Charge (AoC) + Service 6 - Capability Configuration Parameters (CCP) + Service 7 - PLMN selector + Service 8 - RFU + Service 11 - Extension2 + Service 12 - SMS Parameters + Service 13 - Last Number Dialled (LND) + Service 14 - Cell Broadcast Message Identifier + Service 17 - Service Provider Name + Service 18 - Service Dialling Numbers (SDN) + Service 23 - enhanced Multi-Level Precedence and Pre-emption Service + Service 24 - Automatic Answer for eMLPP + Service 25 - Data download via SMS-CB + Service 26 - Data download via SMS-PP + Service 27 - Menu selection + Service 28 - Call control + Service 29 - Proactive SIM + Service 30 - Cell Broadcast Message Identifier Ranges + Service 31 - Barred Dialling Numbers (BDN) + Service 32 - Extension4 + Service 33 - De-personalization Control Keys + Service 34 - Co-operative Network List + Service 41 - USSD string data object supported in Call Control + Service 42 - RUN AT COMMAND command + Service 43 - User controlled PLMN Selector with Access Technology + Service 44 - Operator controlled PLMN Selector with Access Technology + Service 49 - MExE + Service 50 - Reserved and shall be ignored + Service 51 - PLMN Network Name + Service 52 - Operator PLMN List + Service 53 - Mailbox Dialling Numbers + Service 54 - Message Waiting Indication Status + Service 55 - Call Forwarding Indication Status + Service 56 - Service Provider Display Information + Service 57 - Multimedia Messaging Service (MMS) + Service 58 - Extension 8 + Service 59 - MMS User Connectivity Parameters + Done ! diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok index e72599f..01ba6b7 100644 --- a/pysim-testdata/Wavemobile-SIM.ok +++ b/pysim-testdata/Wavemobile-SIM.ok @@ -51,44 +51,45 @@ MSISDN: Not available AD: 00ffff02 SIM Service Table: ff33ff0f3c00ff0f000cf0c0f0030000 - Service 1 - CHV1 disable function: True - Service 2 - Abbreviated Dialling Numbers (ADN): True - Service 3 - Fixed Dialling Numbers (FDN): True - Service 4 - Short Message Storage (SMS): True - Service 5 - Advice of Charge (AoC): True - Service 6 - Capability Configuration Parameters (CCP): True - Service 7 - PLMN selector: True - Service 8 - RFU: True - Service 9 - MSISDN: True - Service 10 - Extension1: True - Service 13 - Last Number Dialled (LND): True - Service 14 - Cell Broadcast Message Identifier: True - Service 17 - Service Provider Name: True - Service 18 - Service Dialling Numbers (SDN): True - Service 19 - Extension3: True - Service 20 - RFU: True - Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS): True - Service 22 - VBS Group Identifier List (EFVBS and EFVBSS): True - Service 23 - enhanced Multi-Level Precedence and Pre-emption Service: True - Service 24 - Automatic Answer for eMLPP: True - Service 25 - Data download via SMS-CB: True - Service 26 - Data download via SMS-PP: True - Service 27 - Menu selection: True - Service 28 - Call control: True - Service 35 - Short Message Status Reports: True - Service 36 - Network's indication of alerting in the MS: True - Service 37 - Mobile Originated Short Message control by SIM: True - Service 38 - GPRS: True - Service 49 - MExE: True - Service 50 - Reserved and shall be ignored: True - Service 51 - PLMN Network Name: True - Service 52 - Operator PLMN List: True - Service 53 - Mailbox Dialling Numbers: True - Service 54 - Message Waiting Indication Status: True - Service 55 - Call Forwarding Indication Status: True - Service 56 - Service Provider Display Information: True - Service 57 - Multimedia Messaging Service (MMS): True - Service 58 - Extension 8: True - Service 59 - MMS User Connectivity Parameters: True + Service 1 - CHV1 disable function + Service 2 - Abbreviated Dialling Numbers (ADN) + Service 3 - Fixed Dialling Numbers (FDN) + Service 4 - Short Message Storage (SMS) + Service 5 - Advice of Charge (AoC) + Service 6 - Capability Configuration Parameters (CCP) + Service 7 - PLMN selector + Service 8 - RFU + Service 9 - MSISDN + Service 10 - Extension1 + Service 13 - Last Number Dialled (LND) + Service 14 - Cell Broadcast Message Identifier + Service 17 - Service Provider Name + Service 18 - Service Dialling Numbers (SDN) + Service 19 - Extension3 + Service 20 - RFU + Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS) + Service 22 - VBS Group Identifier List (EFVBS and EFVBSS) + Service 23 - enhanced Multi-Level Precedence and Pre-emption Service + Service 24 - Automatic Answer for eMLPP + Service 25 - Data download via SMS-CB + Service 26 - Data download via SMS-PP + Service 27 - Menu selection + Service 28 - Call control + Service 35 - Short Message Status Reports + Service 36 - Network's indication of alerting in the MS + Service 37 - Mobile Originated Short Message control by SIM + Service 38 - GPRS + Service 49 - MExE + Service 50 - Reserved and shall be ignored + Service 51 - PLMN Network Name + Service 52 - Operator PLMN List + Service 53 - Mailbox Dialling Numbers + Service 54 - Message Waiting Indication Status + Service 55 - Call Forwarding Indication Status + Service 56 - Service Provider Display Information + Service 57 - Multimedia Messaging Service (MMS) + Service 58 - Extension 8 + Service 59 - MMS User Connectivity Parameters + Done ! diff --git a/pysim-testdata/fakemagicsim.ok b/pysim-testdata/fakemagicsim.ok index 944dbfc..80cf3d9 100644 --- a/pysim-testdata/fakemagicsim.ok +++ b/pysim-testdata/fakemagicsim.ok @@ -18,39 +18,40 @@ MSISDN: Not available AD: 000000 SIM Service Table: ff3fff0f0300f003000c - Service 1 - CHV1 disable function: True - Service 2 - Abbreviated Dialling Numbers (ADN): True - Service 3 - Fixed Dialling Numbers (FDN): True - Service 4 - Short Message Storage (SMS): True - Service 5 - Advice of Charge (AoC): True - Service 6 - Capability Configuration Parameters (CCP): True - Service 7 - PLMN selector: True - Service 8 - RFU: True - Service 9 - MSISDN: True - Service 10 - Extension1: True - Service 11 - Extension2: True - Service 12 - SMS Parameters: True - Service 13 - Last Number Dialled (LND): True - Service 14 - Cell Broadcast Message Identifier: True - Service 17 - Service Provider Name: True - Service 18 - Service Dialling Numbers (SDN): True - Service 19 - Extension3: True - Service 20 - RFU: True - Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS): True - Service 22 - VBS Group Identifier List (EFVBS and EFVBSS): True - Service 23 - enhanced Multi-Level Precedence and Pre-emption Service: True - Service 24 - Automatic Answer for eMLPP: True - Service 25 - Data download via SMS-CB: True - Service 26 - Data download via SMS-PP: True - Service 27 - Menu selection: True - Service 28 - Call control: True - Service 33 - De-personalization Control Keys: True - Service 34 - Co-operative Network List: True - Service 53 - Mailbox Dialling Numbers: True - Service 54 - Message Waiting Indication Status: True - Service 55 - Call Forwarding Indication Status: True - Service 56 - Service Provider Display Information: True - Service 57 - Multimedia Messaging Service (MMS): True - Service 58 - Extension 8: True + Service 1 - CHV1 disable function + Service 2 - Abbreviated Dialling Numbers (ADN) + Service 3 - Fixed Dialling Numbers (FDN) + Service 4 - Short Message Storage (SMS) + Service 5 - Advice of Charge (AoC) + Service 6 - Capability Configuration Parameters (CCP) + Service 7 - PLMN selector + Service 8 - RFU + Service 9 - MSISDN + Service 10 - Extension1 + Service 11 - Extension2 + Service 12 - SMS Parameters + Service 13 - Last Number Dialled (LND) + Service 14 - Cell Broadcast Message Identifier + Service 17 - Service Provider Name + Service 18 - Service Dialling Numbers (SDN) + Service 19 - Extension3 + Service 20 - RFU + Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS) + Service 22 - VBS Group Identifier List (EFVBS and EFVBSS) + Service 23 - enhanced Multi-Level Precedence and Pre-emption Service + Service 24 - Automatic Answer for eMLPP + Service 25 - Data download via SMS-CB + Service 26 - Data download via SMS-PP + Service 27 - Menu selection + Service 28 - Call control + Service 33 - De-personalization Control Keys + Service 34 - Co-operative Network List + Service 53 - Mailbox Dialling Numbers + Service 54 - Message Waiting Indication Status + Service 55 - Call Forwarding Indication Status + Service 56 - Service Provider Display Information + Service 57 - Multimedia Messaging Service (MMS) + Service 58 - Extension 8 + Done ! diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index 205cddf..f1acc16 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -56,48 +56,49 @@ MSISDN (NPI=1 ToN=1): +1234 AD: 00000002 SIM Service Table: ff33ffff3f003f0f300cf0c3f00000 - Service 1 - CHV1 disable function: True - Service 2 - Abbreviated Dialling Numbers (ADN): True - Service 3 - Fixed Dialling Numbers (FDN): True - Service 4 - Short Message Storage (SMS): True - Service 5 - Advice of Charge (AoC): True - Service 6 - Capability Configuration Parameters (CCP): True - Service 7 - PLMN selector: True - Service 8 - RFU: True - Service 9 - MSISDN: True - Service 10 - Extension1: True - Service 13 - Last Number Dialled (LND): True - Service 14 - Cell Broadcast Message Identifier: True - Service 17 - Service Provider Name: True - Service 18 - Service Dialling Numbers (SDN): True - Service 19 - Extension3: True - Service 20 - RFU: True - Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS): True - Service 22 - VBS Group Identifier List (EFVBS and EFVBSS): True - Service 23 - enhanced Multi-Level Precedence and Pre-emption Service: True - Service 24 - Automatic Answer for eMLPP: True - Service 25 - Data download via SMS-CB: True - Service 26 - Data download via SMS-PP: True - Service 27 - Menu selection: True - Service 28 - Call control: True - Service 29 - Proactive SIM: True - Service 30 - Cell Broadcast Message Identifier Ranges: True - Service 31 - Barred Dialling Numbers (BDN): True - Service 32 - Extension4: True - Service 33 - De-personalization Control Keys: True - Service 34 - Co-operative Network List: True - Service 35 - Short Message Status Reports: True - Service 36 - Network's indication of alerting in the MS: True - Service 37 - Mobile Originated Short Message control by SIM: True - Service 38 - GPRS: True - Service 49 - MExE: True - Service 50 - Reserved and shall be ignored: True - Service 51 - PLMN Network Name: True - Service 52 - Operator PLMN List: True - Service 53 - Mailbox Dialling Numbers: True - Service 54 - Message Waiting Indication Status: True - Service 57 - Multimedia Messaging Service (MMS): True - Service 58 - Extension 8: True - Service 59 - MMS User Connectivity Parameters: True + Service 1 - CHV1 disable function + Service 2 - Abbreviated Dialling Numbers (ADN) + Service 3 - Fixed Dialling Numbers (FDN) + Service 4 - Short Message Storage (SMS) + Service 5 - Advice of Charge (AoC) + Service 6 - Capability Configuration Parameters (CCP) + Service 7 - PLMN selector + Service 8 - RFU + Service 9 - MSISDN + Service 10 - Extension1 + Service 13 - Last Number Dialled (LND) + Service 14 - Cell Broadcast Message Identifier + Service 17 - Service Provider Name + Service 18 - Service Dialling Numbers (SDN) + Service 19 - Extension3 + Service 20 - RFU + Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS) + Service 22 - VBS Group Identifier List (EFVBS and EFVBSS) + Service 23 - enhanced Multi-Level Precedence and Pre-emption Service + Service 24 - Automatic Answer for eMLPP + Service 25 - Data download via SMS-CB + Service 26 - Data download via SMS-PP + Service 27 - Menu selection + Service 28 - Call control + Service 29 - Proactive SIM + Service 30 - Cell Broadcast Message Identifier Ranges + Service 31 - Barred Dialling Numbers (BDN) + Service 32 - Extension4 + Service 33 - De-personalization Control Keys + Service 34 - Co-operative Network List + Service 35 - Short Message Status Reports + Service 36 - Network's indication of alerting in the MS + Service 37 - Mobile Originated Short Message control by SIM + Service 38 - GPRS + Service 49 - MExE + Service 50 - Reserved and shall be ignored + Service 51 - PLMN Network Name + Service 52 - Operator PLMN List + Service 53 - Mailbox Dialling Numbers + Service 54 - Message Waiting Indication Status + Service 57 - Multimedia Messaging Service (MMS) + Service 58 - Extension 8 + Service 59 - MMS User Connectivity Parameters + Done ! diff --git a/pysim-testdata/sysmoUSIM-SJS1.ok b/pysim-testdata/sysmoUSIM-SJS1.ok index 89123a0..2244716 100644 --- a/pysim-testdata/sysmoUSIM-SJS1.ok +++ b/pysim-testdata/sysmoUSIM-SJS1.ok @@ -56,50 +56,51 @@ MSISDN (NPI=1 ToN=1): +77776336143 AD: 00000002 SIM Service Table: ff3fffff3f003f1ff00c00c0f00000 - Service 1 - CHV1 disable function: True - Service 2 - Abbreviated Dialling Numbers (ADN): True - Service 3 - Fixed Dialling Numbers (FDN): True - Service 4 - Short Message Storage (SMS): True - Service 5 - Advice of Charge (AoC): True - Service 6 - Capability Configuration Parameters (CCP): True - Service 7 - PLMN selector: True - Service 8 - RFU: True - Service 9 - MSISDN: True - Service 10 - Extension1: True - Service 11 - Extension2: True - Service 12 - SMS Parameters: True - Service 13 - Last Number Dialled (LND): True - Service 14 - Cell Broadcast Message Identifier: True - Service 17 - Service Provider Name: True - Service 18 - Service Dialling Numbers (SDN): True - Service 19 - Extension3: True - Service 20 - RFU: True - Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS): True - Service 22 - VBS Group Identifier List (EFVBS and EFVBSS): True - Service 23 - enhanced Multi-Level Precedence and Pre-emption Service: True - Service 24 - Automatic Answer for eMLPP: True - Service 25 - Data download via SMS-CB: True - Service 26 - Data download via SMS-PP: True - Service 27 - Menu selection: True - Service 28 - Call control: True - Service 29 - Proactive SIM: True - Service 30 - Cell Broadcast Message Identifier Ranges: True - Service 31 - Barred Dialling Numbers (BDN): True - Service 32 - Extension4: True - Service 33 - De-personalization Control Keys: True - Service 34 - Co-operative Network List: True - Service 35 - Short Message Status Reports: True - Service 36 - Network's indication of alerting in the MS: True - Service 37 - Mobile Originated Short Message control by SIM: True - Service 38 - GPRS: True - Service 49 - MExE: True - Service 50 - Reserved and shall be ignored: True - Service 51 - PLMN Network Name: True - Service 52 - Operator PLMN List: True - Service 53 - Mailbox Dialling Numbers: True - Service 54 - Message Waiting Indication Status: True - Service 57 - Multimedia Messaging Service (MMS): True - Service 58 - Extension 8: True - Service 59 - MMS User Connectivity Parameters: True + Service 1 - CHV1 disable function + Service 2 - Abbreviated Dialling Numbers (ADN) + Service 3 - Fixed Dialling Numbers (FDN) + Service 4 - Short Message Storage (SMS) + Service 5 - Advice of Charge (AoC) + Service 6 - Capability Configuration Parameters (CCP) + Service 7 - PLMN selector + Service 8 - RFU + Service 9 - MSISDN + Service 10 - Extension1 + Service 11 - Extension2 + Service 12 - SMS Parameters + Service 13 - Last Number Dialled (LND) + Service 14 - Cell Broadcast Message Identifier + Service 17 - Service Provider Name + Service 18 - Service Dialling Numbers (SDN) + Service 19 - Extension3 + Service 20 - RFU + Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS) + Service 22 - VBS Group Identifier List (EFVBS and EFVBSS) + Service 23 - enhanced Multi-Level Precedence and Pre-emption Service + Service 24 - Automatic Answer for eMLPP + Service 25 - Data download via SMS-CB + Service 26 - Data download via SMS-PP + Service 27 - Menu selection + Service 28 - Call control + Service 29 - Proactive SIM + Service 30 - Cell Broadcast Message Identifier Ranges + Service 31 - Barred Dialling Numbers (BDN) + Service 32 - Extension4 + Service 33 - De-personalization Control Keys + Service 34 - Co-operative Network List + Service 35 - Short Message Status Reports + Service 36 - Network's indication of alerting in the MS + Service 37 - Mobile Originated Short Message control by SIM + Service 38 - GPRS + Service 49 - MExE + Service 50 - Reserved and shall be ignored + Service 51 - PLMN Network Name + Service 52 - Operator PLMN List + Service 53 - Mailbox Dialling Numbers + Service 54 - Message Waiting Indication Status + Service 57 - Multimedia Messaging Service (MMS) + Service 58 - Extension 8 + Service 59 - MMS User Connectivity Parameters + Done ! diff --git a/pysim-testdata/sysmosim-gr1.ok b/pysim-testdata/sysmosim-gr1.ok index 39f5ff6..833ba83 100644 --- a/pysim-testdata/sysmosim-gr1.ok +++ b/pysim-testdata/sysmosim-gr1.ok @@ -18,37 +18,38 @@ MSISDN: Not available AD: 000000 SIM Service Table: ff3fff0f0f0000030000 - Service 1 - CHV1 disable function: True - Service 2 - Abbreviated Dialling Numbers (ADN): True - Service 3 - Fixed Dialling Numbers (FDN): True - Service 4 - Short Message Storage (SMS): True - Service 5 - Advice of Charge (AoC): True - Service 6 - Capability Configuration Parameters (CCP): True - Service 7 - PLMN selector: True - Service 8 - RFU: True - Service 9 - MSISDN: True - Service 10 - Extension1: True - Service 11 - Extension2: True - Service 12 - SMS Parameters: True - Service 13 - Last Number Dialled (LND): True - Service 14 - Cell Broadcast Message Identifier: True - Service 17 - Service Provider Name: True - Service 18 - Service Dialling Numbers (SDN): True - Service 19 - Extension3: True - Service 20 - RFU: True - Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS): True - Service 22 - VBS Group Identifier List (EFVBS and EFVBSS): True - Service 23 - enhanced Multi-Level Precedence and Pre-emption Service: True - Service 24 - Automatic Answer for eMLPP: True - Service 25 - Data download via SMS-CB: True - Service 26 - Data download via SMS-PP: True - Service 27 - Menu selection: True - Service 28 - Call control: True - Service 33 - De-personalization Control Keys: True - Service 34 - Co-operative Network List: True - Service 35 - Short Message Status Reports: True - Service 36 - Network's indication of alerting in the MS: True - Service 57 - Multimedia Messaging Service (MMS): True - Service 58 - Extension 8: True + Service 1 - CHV1 disable function + Service 2 - Abbreviated Dialling Numbers (ADN) + Service 3 - Fixed Dialling Numbers (FDN) + Service 4 - Short Message Storage (SMS) + Service 5 - Advice of Charge (AoC) + Service 6 - Capability Configuration Parameters (CCP) + Service 7 - PLMN selector + Service 8 - RFU + Service 9 - MSISDN + Service 10 - Extension1 + Service 11 - Extension2 + Service 12 - SMS Parameters + Service 13 - Last Number Dialled (LND) + Service 14 - Cell Broadcast Message Identifier + Service 17 - Service Provider Name + Service 18 - Service Dialling Numbers (SDN) + Service 19 - Extension3 + Service 20 - RFU + Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS) + Service 22 - VBS Group Identifier List (EFVBS and EFVBSS) + Service 23 - enhanced Multi-Level Precedence and Pre-emption Service + Service 24 - Automatic Answer for eMLPP + Service 25 - Data download via SMS-CB + Service 26 - Data download via SMS-PP + Service 27 - Menu selection + Service 28 - Call control + Service 33 - De-personalization Control Keys + Service 34 - Co-operative Network List + Service 35 - Short Message Status Reports + Service 36 - Network's indication of alerting in the MS + Service 57 - Multimedia Messaging Service (MMS) + Service 58 - Extension 8 + Done ! -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17897 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I375475e9f7210dae4e8da7258d6824dc2d54cf4c Gerrit-Change-Number: 17897 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 12:52:23 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 12:52:23 +0000 Subject: Change in pysim[master]: Enable parsing of ISIM Service table (IST) 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/+/17882 to look at the new patch set (#4). Change subject: Enable parsing of ISIM Service table (IST) ...................................................................... Enable parsing of ISIM Service table (IST) As per TS 31.103, This EF indicates which ISIM services are available. If a service is not indicated as available in the ISIM, the ME shall not select this service. Parsing of IST is achieved by first selecting the ISIM application using its AID. This is followed by selecting EF.IST with File ID - 6f07 in ADF.ISIM Change-Id: I3f0a7227360b72a707dc1bcc4cc9c8a4ec7ad2b2 --- M pySim-read.py M pysim-testdata/sysmoISIM-SJA2.ok 2 files changed, 19 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/82/17882/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3f0a7227360b72a707dc1bcc4cc9c8a4ec7ad2b2 Gerrit-Change-Number: 17882 Gerrit-PatchSet: 4 Gerrit-Owner: herlesupreeth 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 Apr 20 12:52:23 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 12:52:23 +0000 Subject: Change in pysim[master]: Enable parsing of USIM Service table (UST) 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/+/17879 to look at the new patch set (#7). Change subject: Enable parsing of USIM Service table (UST) ...................................................................... Enable parsing of USIM Service table (UST) As per TS.31.102, This EF indicates which USIM services are available. If a service is not indicated as available in the USIM, the ME shall not select this service. Parsing of UST is achieved by first selecting the USIM application using its AID. This is followed by selecting EF.UST with File ID - 6f38 in ADF.USIM Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 --- M pySim-read.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 5 files changed, 166 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/79/17879/7 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 Gerrit-Change-Number: 17879 Gerrit-PatchSet: 7 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 12:52:26 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 12:52:26 +0000 Subject: Change in pysim[master]: Extend parsing and printing of Service table to ISIM References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17899 ) Change subject: Extend parsing and printing of Service table to ISIM ...................................................................... Extend parsing and printing of Service table to ISIM Change-Id: I7657432df76e9de5e4e5fdecfd717d8363de8270 --- M pySim/utils.py 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/99/17899/1 diff --git a/pySim/utils.py b/pySim/utils.py index 56f9706..1980685 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -331,7 +331,10 @@ Parses the EF S/U/IST and prints the list of available services in EF S/U/IST """ - if table == "usim": + if table == "isim": + from pySim.ts_31_103 import EF_IST_map + lookup_map = EF_IST_map + elif table == "usim": from pySim.ts_31_102 import EF_UST_map lookup_map = EF_UST_map else: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7657432df76e9de5e4e5fdecfd717d8363de8270 Gerrit-Change-Number: 17899 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 12:52:25 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 20 Apr 2020 12:52:25 +0000 Subject: Change in pysim[master]: Remove redundant functions References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17898 ) Change subject: Remove redundant functions ...................................................................... Remove redundant functions Change-Id: I2dfb5b662b8a4f351e4a629040b405c182e58e8d --- M pySim/cards.py M pySim/utils.py 2 files changed, 0 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/98/17898/1 diff --git a/pySim/cards.py b/pySim/cards.py index c0462fb..d2f1057 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -188,14 +188,6 @@ else: return (None, sw) - # Read SIM Service table - def read_sst(self): - (res, sw) = self._scc.read_binary(EF['SST']) - if sw == '9000': - return ((res, parse_st(res)), sw) - else: - return (None, sw) - # Read the (full) AID for either ISIM or USIM or ISIM application def read_aid(self, isim = False): diff --git a/pySim/utils.py b/pySim/utils.py index be670e9..56f9706 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -326,28 +326,6 @@ return ('%02x' % bcd_len) + ('%02x' % npi_ton) + bcd -def parse_st(st): - """ - Parses the EF S/U/IST and returns available/supported services - """ - st_bytes = [st[i:i+2] for i in range(0, len(st), 2) ] - avail_srvc = [] - # Get each byte and check for available services - for i in range(0, len(st_bytes)): - # Byte i contains info about Services num (8i+1) to num (8i+8) - byte = int(st_bytes[i], 16) - # Services in each byte are in order MSB to LSB - # MSB - Service (8i+8) - # LSB - Service (8i+1) - for j in range(1, 9): - if byte&0x01 == 0x01: - # Byte X contains info about Services num (8X-7) to num (8X) - # bit = 1: service available - # bit = 0: service not available - avail_srvc.append((8*i) + j) - byte = byte >> 1 - return avail_srvc - def dec_st(st, table="sim"): """ Parses the EF S/U/IST and prints the list of available services in EF S/U/IST -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2dfb5b662b8a4f351e4a629040b405c182e58e8d Gerrit-Change-Number: 17898 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 12:55:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 12:55:39 +0000 Subject: Change in osmo-ggsn[master]: debug: use LOGL_NOTICE instead of LOGL_DEBUG In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17607 ) Change subject: debug: use LOGL_NOTICE instead of LOGL_DEBUG ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I4c6a9165114d1240e7e2cfa98d30d571a3f4e9d2 Gerrit-Change-Number: 17607 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 12:55: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 Apr 20 13:17:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 13:17:05 +0000 Subject: Change in osmo-gsm-tester[master]: srsue, amarisoft/srsENB: Support setting rx/tx_gain attributes References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17900 ) Change subject: srsue, amarisoft/srsENB: Support setting rx/tx_gain attributes ...................................................................... srsue, amarisoft/srsENB: Support setting rx/tx_gain attributes Change-Id: I4228ba8746a54db4c17443718c01069d431361b9 --- M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/ms_amarisoft.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M src/osmo_gsm_tester/templates/srsue.conf.tmpl M sysmocom/defaults.conf 7 files changed, 24 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/00/17900/1 diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index 0b748e0..bb48880 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -209,7 +209,10 @@ # rf driver is shared between amarisoft enb and ue, so it has a # different cfg namespace 'trx'. Copy needed values over there: config.overlay(values, dict(trx=dict(rf_dev_type=values['enb'].get('rf_dev_type', None), - rf_dev_args=values['enb'].get('rf_dev_args', None)))) + rf_dev_args=values['enb'].get('rf_dev_args', None), + rx_gain=values['enb'].get('rx_gain', None), + tx_gain=values['enb'].get('tx_gain', None), + ))) self.gen_conf = values diff --git a/src/osmo_gsm_tester/obj/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py index 1b49b30..6fd80ee 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -274,7 +274,10 @@ # rf driver is shared between amarisoft enb and ue, so it has a # different cfg namespace 'trx'. Copy needed values over there: config.overlay(values, dict(trx=dict(rf_dev_type=values['ue'].get('rf_dev_type', None), - rf_dev_args=values['ue'].get('rf_dev_args', None)))) + rf_dev_args=values['ue'].get('rf_dev_args', None), + rx_gain=values['ue'].get('rx_gain', None), + tx_gain=values['ue'].get('tx_gain', None), + ))) self.gen_conf_file(self.config_file, AmarisoftUE.CFGFILE, values) self.gen_conf_file(self.config_rf_file, AmarisoftUE.CFGFILE_RF, values) diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index cafdab8..ded8568 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -92,6 +92,8 @@ 'enb[].id': schema.UINT, 'enb[].num_prb': schema.UINT, 'enb[].transmission_mode': schema.LTE_TRANSMISSION_MODE, + 'enb[].tx_gain': schema.UINT, + 'enb[].rx_gain': schema.UINT, 'enb[].rf_dev_type': schema.STR, 'enb[].rf_dev_args': schema.STR, 'enb[].additional_args': schema.STR, @@ -134,6 +136,8 @@ 'modem[].additional_args': schema.STR, 'modem[].airplane_t_on_ms': schema.INT, 'modem[].airplane_t_off_ms': schema.INT, + 'modem[].tx_gain': schema.UINT, + 'modem[].rx_gain': schema.UINT, 'osmocon_phone[].serial_device': schema.STR, } 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 874feca..cd08835 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -10,8 +10,8 @@ % endif }, -tx_gain: 89.0, /* TX gain (in dB) B2x0: 0 to 89.8 dB */ -rx_gain: 60.0, /* RX gain (in dB) B2x0: 0 to 73 dB */ +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: diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index 5f7b3ea..4214b5d 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -63,8 +63,8 @@ # Default "auto". B210 USRP: 400 us, bladeRF: 0 us. ##################################################################### [rf] -tx_gain = 80 -rx_gain = 40 +tx_gain = ${enb.tx_gain} +rx_gain = ${enb.rx_gain} device_name = ${enb.rf_dev_type} diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 37175dd..a600f5e 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -37,8 +37,8 @@ dl_earfcn = 2850 % endif freq_offset = 0 -tx_gain = 80 -#rx_gain = 40 +tx_gain = ${ue.tx_gain} +rx_gain = ${ue.rx_gain} #nof_radios = 1 nof_antennas = ${ue.num_antennas} diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index aea2791..f7820c0 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -135,16 +135,22 @@ srsenb: num_prb: 100 enable_pcap: false + tx_gain: 80 + rx_gain: 40 amarisoftenb: num_prb: 100 enable_pcap: false + tx_gain: 89 + rx_gain: 60 srsue: enable_pcap: false airplane_t_on_ms: -1 airplane_t_off_ms: -1 num_carriers: 1 + tx_gain: 80 + rx_gain: 40 iperf3cli: time: 60 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17900 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: I4228ba8746a54db4c17443718c01069d431361b9 Gerrit-Change-Number: 17900 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 Apr 20 13:17:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 13:17:07 +0000 Subject: Change in osmo-gsm-tester[master]: WIP References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 ) Change subject: WIP ...................................................................... WIP Change-Id: I0dff4af7e3a89804a03842ad4a4d697bca3a9773 --- A sysmocom/suites/4g/handover.py 1 file changed, 29 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/01/17901/1 diff --git a/sysmocom/suites/4g/handover.py b/sysmocom/suites/4g/handover.py new file mode 100755 index 0000000..3a49321 --- /dev/null +++ b/sysmocom/suites/4g/handover.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +epc = suite.epc() +enb = suite.enb() +ue = suite.modem() + +epc.subscriber_add(ue) +epc.start() +enb.ue_add(ue) +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) +print('waiting for UE to attach...') +wait(ue.is_connected, None) +print('UE is attached') + +sleep(2) + +rfemu = enb.get_rfemu() +for att in range(1, 10, 1): + print("Setting cell attenuation %d..." % att) + rfemu.set_attenuation(att) + sleep(1) +print("Done") -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 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: I0dff4af7e3a89804a03842ad4a4d697bca3a9773 Gerrit-Change-Number: 17901 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 Apr 20 13:21:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 13:21:11 +0000 Subject: Change in osmo-hlr[master]: doc: do not use loglevel info for log category ss In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/17600 ) Change subject: doc: do not use loglevel info for log category ss ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I192a5f07cb7f45adb6f3af1c511b706738bdadf4 Gerrit-Change-Number: 17600 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 13:21: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 Apr 20 13:21:45 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 13:21:45 +0000 Subject: Change in osmo-ggsn[master]: debug: use LOGL_NOTICE instead of LOGL_DEBUG In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17607 ) Change subject: debug: use LOGL_NOTICE instead of LOGL_DEBUG ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I4c6a9165114d1240e7e2cfa98d30d571a3f4e9d2 Gerrit-Change-Number: 17607 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 13: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 Mon Apr 20 13:23:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 13:23:14 +0000 Subject: Change in libosmo-sccp[master]: doc: make sure all log categories are set to level notice In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17597 ) Change subject: doc: make sure all log categories are set to level notice ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I3b17aa4354f30b55da8fc77f4fe6af0373de7983 Gerrit-Change-Number: 17597 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 13:23: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 Apr 20 13:27:28 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 20 Apr 2020 13:27:28 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when not loglevel is set In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17604 ) Change subject: logging: use LOGL_NOTICE when not loglevel is set ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17604/4/src/logging.c File src/logging.c: https://gerrit.osmocom.org/c/libosmocore/+/17604/4/src/logging.c at 1073 PS4, Line 1073: (struct log_info_cat *) This type cast is not needed anymore (because the pointer is not const now). -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Gerrit-Change-Number: 17604 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 20 Apr 2020 13:27:28 +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 Apr 20 14:11:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 14:11:06 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Add attribute to set 'id' 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/+/17895 to look at the new patch set (#2). Change subject: enb: Add attribute to set 'id' ...................................................................... enb: Add attribute to set 'id' Change-Id: I8ce296c7875d557062dc13e7093ce0400050f2ce --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/epc_srs.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M sysmocom/defaults.conf 6 files changed, 17 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/95/17895/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17895 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: I8ce296c7875d557062dc13e7093ce0400050f2ce Gerrit-Change-Number: 17895 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 Mon Apr 20 14:15:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 14:15:47 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g: Introduce sample handover test References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17902 ) Change subject: suites/4g: Introduce sample handover test ...................................................................... suites/4g: Introduce sample handover test Change-Id: I1afc77c7bc3ca6a247ffdf96e3b7e31c4c7606c3 --- M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl M sysmocom/suites/4g/handover.py 2 files changed, 31 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/02/17902/1 diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl index c675d33..8f857b2 100644 --- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl @@ -72,7 +72,7 @@ root_seq_idx = ${loop.index + 204}; dl_earfcn = ${cell.dl_earfcn}; //ul_earfcn = 20850; - ho_active = false; + ho_active = true; // CA cells scell_list = ( diff --git a/sysmocom/suites/4g/handover.py b/sysmocom/suites/4g/handover.py index 3a49321..3cb8b02 100755 --- a/sysmocom/suites/4g/handover.py +++ b/sysmocom/suites/4g/handover.py @@ -4,6 +4,10 @@ epc = suite.epc() enb = suite.enb() ue = suite.modem() +iperf3srv = suite.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) epc.start() @@ -15,15 +19,35 @@ print('ENB is connected to EPC') ue.connect(enb) + +iperf3srv.start() +proc = iperf3cli.prepare_test_proc(False, ue.netns()) + print('waiting for UE to attach...') wait(ue.is_connected, None) print('UE is attached') -sleep(2) +rfemu_cell1 = enb.get_rfemu(0) +rfemu_cell2 = enb.get_rfemu(1) -rfemu = enb.get_rfemu() -for att in range(1, 10, 1): - print("Setting cell attenuation %d..." % att) - rfemu.set_attenuation(att) - sleep(1) +# attenuation from 0 to 10, then back to 0 +cell1_att_li = list(range(0, 11, 1)) + list(range(9, -1, -1)) +# attenuation from 10 to 0, then back to 10 +cell2_att_li = list(range(10, 0, -1)) + list(range(0, 11, 1)) + +try: + proc.launch() + step = 0 + while step < len(cell1_gain_li): + rfemu_cell1.set_attenuation(cell1_att_li[step]) + rfemu_cell2.set_attenuation(cell2_att_li[step]) + step += 1 + sleep(1) + proc.wait() +except Exception as e: + try: + proc.terminate() # make sure we always terminate the process + except Exception: + print("Exception while terminating process %r" % repr(process)) + raise e print("Done") -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17902 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: I1afc77c7bc3ca6a247ffdf96e3b7e31c4c7606c3 Gerrit-Change-Number: 17902 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 Apr 20 14:33:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 14:33:04 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g: Introduce sample handover test In-Reply-To: References: Message-ID: pespin has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17902 ) Change subject: suites/4g: Introduce sample handover test ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17902 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: I1afc77c7bc3ca6a247ffdf96e3b7e31c4c7606c3 Gerrit-Change-Number: 17902 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 14:36:44 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 20 Apr 2020 14:36:44 +0000 Subject: Change in osmo-gsm-tester[master]: srsue, amarisoft/srsENB: Support setting rx/tx_gain attributes In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17900 ) Change subject: srsue, amarisoft/srsENB: Support setting rx/tx_gain attributes ...................................................................... Patch Set 2: Code-Review+2 Looks good. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17900 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: I4228ba8746a54db4c17443718c01069d431361b9 Gerrit-Change-Number: 17900 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Mon, 20 Apr 2020 14: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 Mon Apr 20 14:40:12 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 20 Apr 2020 14:40:12 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Introduce support for neighbour cell list In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17893 ) Change subject: enb: Introduce support for neighbour cell list ...................................................................... Patch Set 5: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17893/5/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl File src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17893/5/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl at 64 PS5, Line 64: n_id_cell: ${cell.cell_id}, i guess it's ok for now to use the cell_id but it would be better to split them. The PCI (physical cell id) is a number from 0 to 504 and the cell_id is many more bits. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17893 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: If604f1f2643a73f8c4da6ae3e9d24cd6c7e52d06 Gerrit-Change-Number: 17893 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Mon, 20 Apr 2020 14:40: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 Mon Apr 20 14:41:28 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 20 Apr 2020 14:41:28 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb: Support neighbour and secondary cell lists in config file In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17894 ) Change subject: srsenb: Support neighbour and secondary cell lists in config file ...................................................................... Patch Set 5: Code-Review-1 (1 comment) Check comment on PCI https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17894/5/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl File src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17894/5/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl at 71 PS5, Line 71: pci = ${loop.index + 1}; same here, in theory ok, but it would be cleaner to add the "pci" field to the cell list Use it here and in the amarisoft its n_id_ncell -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17894 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: I8fe0703b7d9db69658c112066404d2da1c3d1e09 Gerrit-Change-Number: 17894 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Mon, 20 Apr 2020 14:41:28 +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 Apr 20 14:52:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 14:52:00 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Add attribute to set 'id' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17895 ) Change subject: enb: Add attribute to set 'id' ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17895 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: I8ce296c7875d557062dc13e7093ce0400050f2ce Gerrit-Change-Number: 17895 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 14: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 Apr 20 14:52:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 14:52:03 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Add attribute to set 'id' In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17895 ) Change subject: enb: Add attribute to set 'id' ...................................................................... enb: Add attribute to set 'id' Change-Id: I8ce296c7875d557062dc13e7093ce0400050f2ce --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/epc_srs.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M sysmocom/defaults.conf 6 files changed, 17 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 59b5bfe..e0f7be0 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -37,6 +37,7 @@ self._gtp_bind_addr = self._addr self.set_name('%s_%s' % (name, self._addr)) self._txmode = 0 + self._id = None self._num_prb = 0 self._num_cells = None self._epc = None @@ -49,6 +50,8 @@ for config_specifics in config_specifics_li: config.overlay(values, dict(enb=self.suite_run.config().get(config_specifics, {}))) config.overlay(values, dict(enb=self._conf)) + self._id = int(values['enb'].get('id', None)) + assert self._id is not None self._num_prb = int(values['enb'].get('num_prb', None)) assert self._num_prb self._txmode = int(values['enb'].get('transmission_mode', None)) @@ -78,6 +81,9 @@ return values + def id(self): + return self._id + def num_ports(self): if self._txmode == 1: return 1 diff --git a/src/osmo_gsm_tester/obj/epc_srs.py b/src/osmo_gsm_tester/obj/epc_srs.py index fc1ee5f..ec9dc44 100644 --- a/src/osmo_gsm_tester/obj/epc_srs.py +++ b/src/osmo_gsm_tester/obj/epc_srs.py @@ -190,8 +190,12 @@ return subscriber_id def enb_is_connected(self, enb): - # TODO: match against srsENB config: "S1 Setup Request - eNB Name: srsenb01, eNB id: 0x19" - return 'S1 Setup Request - eNB' in (self.process.get_stdout() or '') + # Match against sample line: "S1 Setup Request - eNB Name: srsenb01, eNB id: 0x19" + stdout_lines = (self.process.get_stdout() or '').splitlines() + for l in stdout_lines: + if l.startswith('S1 Setup Request') and l.endswith('eNB id: %s' % hex(enb.id()).lower()): + return True + return False def running(self): return not self.process.terminated() diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index d4757f3..cafdab8 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -89,6 +89,7 @@ 'enb[].remote_user': schema.STR, 'enb[].addr': schema.IPV4, 'enb[].gtp_bind_addr': schema.IPV4, + 'enb[].id': schema.UINT, 'enb[].num_prb': schema.UINT, 'enb[].transmission_mode': schema.LTE_TRANSMISSION_MODE, 'enb[].rf_dev_type': schema.STR, diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 11704b6..89e65f1 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -51,7 +51,7 @@ gtp_addr: "${enb.gtp_bind_addr}", /* high 20 bits of SIB1.cellIdentifier */ - enb_id: 0x19B, + enb_id: ${enb.id}, /* list of cells */ cell_list: [ diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index 94e724b..95b10f0 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -19,7 +19,8 @@ # ##################################################################### [enb] -enb_id = 0x19B +# need hex value here for enb_id due to bug: https://github.com/srsLTE/srsLTE/issues/485 +enb_id = ${hex(int(enb.id))} mcc = ${enb.mcc} mnc = ${enb.mnc} mme_addr = ${enb.mme_addr} diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index bf5bce1..aea2791 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -106,6 +106,7 @@ license_server_addr: 0.0.0.0 enb: + id: 0x19B mcc: 901 mnc: 70 transmission_mode: 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17895 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: I8ce296c7875d557062dc13e7093ce0400050f2ce Gerrit-Change-Number: 17895 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Apr 20 14:52:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 14:52:24 +0000 Subject: Change in osmo-gsm-tester[master]: srsue, amarisoft/srsENB: Support setting rx/tx_gain attributes In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17900 ) Change subject: srsue, amarisoft/srsENB: Support setting rx/tx_gain attributes ...................................................................... srsue, amarisoft/srsENB: Support setting rx/tx_gain attributes Change-Id: I4228ba8746a54db4c17443718c01069d431361b9 --- M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/ms_amarisoft.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M src/osmo_gsm_tester/templates/srsue.conf.tmpl M sysmocom/defaults.conf 7 files changed, 24 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified srs_andre: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index 0b748e0..bb48880 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -209,7 +209,10 @@ # rf driver is shared between amarisoft enb and ue, so it has a # different cfg namespace 'trx'. Copy needed values over there: config.overlay(values, dict(trx=dict(rf_dev_type=values['enb'].get('rf_dev_type', None), - rf_dev_args=values['enb'].get('rf_dev_args', None)))) + rf_dev_args=values['enb'].get('rf_dev_args', None), + rx_gain=values['enb'].get('rx_gain', None), + tx_gain=values['enb'].get('tx_gain', None), + ))) self.gen_conf = values diff --git a/src/osmo_gsm_tester/obj/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py index 1b49b30..6fd80ee 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -274,7 +274,10 @@ # rf driver is shared between amarisoft enb and ue, so it has a # different cfg namespace 'trx'. Copy needed values over there: config.overlay(values, dict(trx=dict(rf_dev_type=values['ue'].get('rf_dev_type', None), - rf_dev_args=values['ue'].get('rf_dev_args', None)))) + rf_dev_args=values['ue'].get('rf_dev_args', None), + rx_gain=values['ue'].get('rx_gain', None), + tx_gain=values['ue'].get('tx_gain', None), + ))) self.gen_conf_file(self.config_file, AmarisoftUE.CFGFILE, values) self.gen_conf_file(self.config_rf_file, AmarisoftUE.CFGFILE_RF, values) diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index cafdab8..ded8568 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -92,6 +92,8 @@ 'enb[].id': schema.UINT, 'enb[].num_prb': schema.UINT, 'enb[].transmission_mode': schema.LTE_TRANSMISSION_MODE, + 'enb[].tx_gain': schema.UINT, + 'enb[].rx_gain': schema.UINT, 'enb[].rf_dev_type': schema.STR, 'enb[].rf_dev_args': schema.STR, 'enb[].additional_args': schema.STR, @@ -134,6 +136,8 @@ 'modem[].additional_args': schema.STR, 'modem[].airplane_t_on_ms': schema.INT, 'modem[].airplane_t_off_ms': schema.INT, + 'modem[].tx_gain': schema.UINT, + 'modem[].rx_gain': schema.UINT, 'osmocon_phone[].serial_device': schema.STR, } 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 874feca..cd08835 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -10,8 +10,8 @@ % endif }, -tx_gain: 89.0, /* TX gain (in dB) B2x0: 0 to 89.8 dB */ -rx_gain: 60.0, /* RX gain (in dB) B2x0: 0 to 73 dB */ +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: diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index 95b10f0..b3efd22 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -64,8 +64,8 @@ # Default "auto". B210 USRP: 400 us, bladeRF: 0 us. ##################################################################### [rf] -tx_gain = 80 -rx_gain = 40 +tx_gain = ${enb.tx_gain} +rx_gain = ${enb.rx_gain} device_name = ${enb.rf_dev_type} diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 37175dd..a600f5e 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -37,8 +37,8 @@ dl_earfcn = 2850 % endif freq_offset = 0 -tx_gain = 80 -#rx_gain = 40 +tx_gain = ${ue.tx_gain} +rx_gain = ${ue.rx_gain} #nof_radios = 1 nof_antennas = ${ue.num_antennas} diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index aea2791..f7820c0 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -135,16 +135,22 @@ srsenb: num_prb: 100 enable_pcap: false + tx_gain: 80 + rx_gain: 40 amarisoftenb: num_prb: 100 enable_pcap: false + tx_gain: 89 + rx_gain: 60 srsue: enable_pcap: false airplane_t_on_ms: -1 airplane_t_off_ms: -1 num_carriers: 1 + tx_gain: 80 + rx_gain: 40 iperf3cli: time: 60 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17900 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: I4228ba8746a54db4c17443718c01069d431361b9 Gerrit-Change-Number: 17900 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 admin at opensuse.org Mon Apr 20 14:54:41 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 14:54:41 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in xUbuntu_16.04/x86_64 In-Reply-To: References: Message-ID: <5e9db7bf7dbd_4a172ad5e03f65fc7776f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/xUbuntu_16.04/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in xUbuntu_16.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 125s] #warning "Merge netns.c from osmo-ggsn and osmo-gtpu-daemon" [ 125s] ^ [ 125s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o tun_device.o tun_device.c [ 125s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_endpoint.o gtp_endpoint.c [ 125s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_tunnel.o gtp_tunnel.c [ 125s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o daemon_vty.o daemon_vty.c [ 125s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o main.o main.c [ 125s] main.c:33:26: fatal error: netinet/sctp.h: No such file or directory [ 125s] compilation terminated. [ 125s] Makefile:469: recipe for target 'main.o' failed [ 125s] make[3]: *** [main.o] Error 1 [ 125s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 125s] Makefile:402: recipe for target 'all-recursive' failed [ 125s] make[2]: *** [all-recursive] Error 1 [ 125s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 125s] Makefile:349: recipe for target 'all' failed [ 125s] make[1]: *** [all] Error 2 [ 125s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 125s] dh_auto_build: make -j1 returned exit code 2 [ 125s] debian/rules:45: recipe for target 'build' failed [ 125s] make: *** [build] Error 2 [ 125s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 125s] ### VM INTERACTION START ### [ 128s] [ 120.183413] sysrq: SysRq : Power Off [ 128s] [ 120.193059] reboot: Power down [ 128s] ### VM INTERACTION END ### [ 128s] [ 128s] build77 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 14:54:25 UTC 2020. [ 128s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 14:54:41 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 14:54:41 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5e9db7c037b60_4a172ad5e03f65fc779c8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/i586 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 186s] LOGEP(ep, LOGL_NOTICE, "Shotr GTP Message: %lu < len=%d\n", [ 186s] ^~~~~ [ 187s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_tunnel.o gtp_tunnel.c [ 187s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o daemon_vty.o daemon_vty.c [ 187s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o main.o main.c [ 187s] main.c:33:26: fatal error: netinet/sctp.h: No such file or directory [ 187s] #include [ 187s] ^ [ 187s] compilation terminated. [ 187s] Makefile:469: recipe for target 'main.o' failed [ 187s] make[3]: *** [main.o] Error 1 [ 187s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 187s] Makefile:402: recipe for target 'all-recursive' failed [ 187s] make[2]: *** [all-recursive] Error 1 [ 187s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 187s] Makefile:349: recipe for target 'all' failed [ 187s] make[1]: *** [all] Error 2 [ 187s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 187s] dh_auto_build: make -j1 returned exit code 2 [ 187s] debian/rules:45: recipe for target 'build' failed [ 187s] make: *** [build] Error 2 [ 187s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 187s] ### VM INTERACTION START ### [ 190s] [ 181.373982] sysrq: SysRq : Power Off [ 190s] [ 181.378016] reboot: Power down [ 190s] ### VM INTERACTION END ### [ 190s] [ 190s] sheep88 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 14:54:24 UTC 2020. [ 190s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 14:55:15 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 14:55:15 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5e9db7dc31f17_4a172ad5e03f65fc7822b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_8.0/i586 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 199s] ^ [ 199s] gtp_endpoint.c:67:4: warning: format '%lu' expects argument of type 'long unsigned int', but argument 8 has type 'unsigned int' [-Wformat=] [ 200s] CC gtp_tunnel.o [ 200s] CC daemon_vty.o [ 200s] CC main.o [ 200s] main.c:33:26: fatal error: netinet/sctp.h: No such file or directory [ 200s] #include [ 200s] ^ [ 200s] compilation terminated. [ 200s] Makefile:457: recipe for target 'main.o' failed [ 200s] make[3]: *** [main.o] Error 1 [ 200s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 200s] Makefile:390: recipe for target 'all-recursive' failed [ 200s] make[2]: *** [all-recursive] Error 1 [ 200s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 200s] Makefile:336: recipe for target 'all' failed [ 200s] make[1]: *** [all] Error 2 [ 200s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 200s] dh_auto_build: make -j1 returned exit code 2 [ 200s] debian/rules:45: recipe for target 'build' failed [ 200s] make: *** [build] Error 2 [ 200s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 200s] ### VM INTERACTION START ### [ 201s] Powering off. [ 201s] [ 191.430462] reboot: Power down [ 201s] ### VM INTERACTION END ### [ 201s] [ 201s] lamb22 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 14:55:07 UTC 2020. [ 201s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 14:55:32 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 14:55:32 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5e9db7f7e44a2_4a172ad5e03f65fc78377@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/xUbuntu_18.04/i586 Package network:osmocom:nightly/osmo-uecups failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 240s] ~~^ [ 240s] %u [ 240s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_tunnel.o gtp_tunnel.c [ 240s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o daemon_vty.o daemon_vty.c [ 240s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o main.o main.c [ 240s] main.c:33:10: fatal error: netinet/sctp.h: No such file or directory [ 240s] #include [ 240s] ^~~~~~~~~~~~~~~~ [ 240s] compilation terminated. [ 240s] Makefile:469: recipe for target 'main.o' failed [ 240s] make[3]: *** [main.o] Error 1 [ 240s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 240s] Makefile:402: recipe for target 'all-recursive' failed [ 240s] make[2]: *** [all-recursive] Error 1 [ 240s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 240s] Makefile:349: recipe for target 'all' failed [ 240s] make[1]: *** [all] Error 2 [ 240s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 240s] dh_auto_build: make -j1 returned exit code 2 [ 240s] debian/rules:45: recipe for target 'build' failed [ 240s] make: *** [build] Error 2 [ 240s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 240s] ### VM INTERACTION START ### [ 243s] [ 234.588641] sysrq: SysRq : Power Off [ 243s] [ 234.591940] reboot: Power down [ 243s] ### VM INTERACTION END ### [ 243s] [ 243s] sheep85 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 14:55:22 UTC 2020. [ 243s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 14:56:07 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 14:56:07 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5e9db8164d551_4a172ad5e03f65fc78518@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 182s] CC tun_device.o [ 182s] CC gtp_endpoint.o [ 182s] CC gtp_tunnel.o [ 182s] CC daemon_vty.o [ 183s] CC main.o [ 183s] main.c:33:26: fatal error: netinet/sctp.h: No such file or directory [ 183s] #include [ 183s] ^ [ 183s] compilation terminated. [ 183s] Makefile:457: recipe for target 'main.o' failed [ 183s] make[3]: *** [main.o] Error 1 [ 183s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 183s] Makefile:390: recipe for target 'all-recursive' failed [ 183s] make[2]: *** [all-recursive] Error 1 [ 183s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 183s] Makefile:336: recipe for target 'all' failed [ 183s] make[1]: *** [all] Error 2 [ 183s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 183s] dh_auto_build: make -j1 returned exit code 2 [ 183s] debian/rules:45: recipe for target 'build' failed [ 183s] make: *** [build] Error 2 [ 183s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 183s] ### VM INTERACTION START ### [ 184s] Powering off. [ 184s] [ 174.305078] reboot: Power down [ 184s] ### VM INTERACTION END ### [ 184s] [ 184s] lamb72 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 14:56:06 UTC 2020. [ 184s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 14:56:07 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 14:56:07 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in xUbuntu_16.04/i586 In-Reply-To: References: Message-ID: <5e9db81762104_4a172ad5e03f65fc78679@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/xUbuntu_16.04/i586 Package network:osmocom:nightly/osmo-uecups failed to build in xUbuntu_16.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 249s] ^ [ 249s] gtp_endpoint.c:67:4: note: in expansion of macro 'LOGEP' [ 249s] LOGEP(ep, LOGL_NOTICE, "Shotr GTP Message: %lu < len=%d\n", [ 249s] ^ [ 249s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_tunnel.o gtp_tunnel.c [ 249s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o daemon_vty.o daemon_vty.c [ 249s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o main.o main.c [ 249s] main.c:33:26: fatal error: netinet/sctp.h: No such file or directory [ 249s] compilation terminated. [ 249s] Makefile:469: recipe for target 'main.o' failed [ 249s] make[3]: *** [main.o] Error 1 [ 249s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 249s] Makefile:402: recipe for target 'all-recursive' failed [ 249s] make[2]: *** [all-recursive] Error 1 [ 249s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 249s] Makefile:349: recipe for target 'all' failed [ 250s] make[1]: *** [all] Error 2 [ 250s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 250s] dh_auto_build: make -j1 returned exit code 2 [ 250s] debian/rules:45: recipe for target 'build' failed [ 250s] make: *** [build] Error 2 [ 250s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 250s] ### VM INTERACTION START ### [ 253s] [ 239.746667] sysrq: SysRq : Power Off [ 253s] [ 239.753841] reboot: Power down [ 253s] ### VM INTERACTION END ### [ 253s] [ 253s] cloud117 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 14:55:58 UTC 2020. [ 253s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 14:56:07 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 14:56:07 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5e9db817b4eb1_4a172ad5e03f65fc7875b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 242s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o tun_device.o tun_device.c [ 242s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_endpoint.o gtp_endpoint.c [ 242s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_tunnel.o gtp_tunnel.c [ 243s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o daemon_vty.o daemon_vty.c [ 243s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o main.o main.c [ 243s] main.c:33:26: fatal error: netinet/sctp.h: No such file or directory [ 243s] #include [ 243s] ^ [ 243s] compilation terminated. [ 243s] Makefile:469: recipe for target 'main.o' failed [ 243s] make[3]: *** [main.o] Error 1 [ 243s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 243s] Makefile:402: recipe for target 'all-recursive' failed [ 243s] make[2]: *** [all-recursive] Error 1 [ 243s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 243s] Makefile:349: recipe for target 'all' failed [ 243s] make[1]: *** [all] Error 2 [ 243s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 243s] dh_auto_build: make -j1 returned exit code 2 [ 243s] debian/rules:45: recipe for target 'build' failed [ 243s] make: *** [build] Error 2 [ 243s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 243s] ### VM INTERACTION START ### [ 246s] [ 217.374341] sysrq: SysRq : Power Off [ 246s] [ 217.389212] reboot: Power down [ 246s] ### VM INTERACTION END ### [ 246s] [ 246s] cloud125 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 14:56:00 UTC 2020. [ 246s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 14:56:58 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 14:56:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5e9db8511a8e0_4a172ad5e03f65fc7893e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/aarch64 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 346s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o tun_device.o tun_device.c [ 346s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_endpoint.o gtp_endpoint.c [ 346s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_tunnel.o gtp_tunnel.c [ 347s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o daemon_vty.o daemon_vty.c [ 347s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o main.o main.c [ 347s] main.c:33:26: fatal error: netinet/sctp.h: No such file or directory [ 347s] #include [ 347s] ^ [ 347s] compilation terminated. [ 347s] Makefile:469: recipe for target 'main.o' failed [ 347s] make[3]: *** [main.o] Error 1 [ 347s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 347s] Makefile:402: recipe for target 'all-recursive' failed [ 347s] make[2]: *** [all-recursive] Error 1 [ 347s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 347s] Makefile:349: recipe for target 'all' failed [ 347s] make[1]: *** [all] Error 2 [ 347s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 347s] dh_auto_build: make -j1 returned exit code 2 [ 347s] debian/rules:45: recipe for target 'build' failed [ 347s] make: *** [build] Error 2 [ 347s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 347s] ### VM INTERACTION START ### [ 350s] [ 332.679087] sysrq: Power Off [ 350s] [ 332.681217] reboot: Power down [ 351s] ### VM INTERACTION END ### [ 351s] [ 351s] obs-arm-8 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 14:56:48 UTC 2020. [ 351s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 14:56:58 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 14:56:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5e9db853bedbf_4a172ad5e03f65fc7933f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 272s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o tun_device.o tun_device.c [ 272s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_endpoint.o gtp_endpoint.c [ 273s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_tunnel.o gtp_tunnel.c [ 273s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o daemon_vty.o daemon_vty.c [ 273s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o main.o main.c [ 273s] main.c:33:10: fatal error: netinet/sctp.h: No such file or directory [ 273s] #include [ 273s] ^~~~~~~~~~~~~~~~ [ 273s] compilation terminated. [ 273s] Makefile:469: recipe for target 'main.o' failed [ 273s] make[3]: *** [main.o] Error 1 [ 273s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 273s] Makefile:402: recipe for target 'all-recursive' failed [ 273s] make[2]: *** [all-recursive] Error 1 [ 273s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 273s] Makefile:349: recipe for target 'all' failed [ 273s] make[1]: *** [all] Error 2 [ 273s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 273s] dh_auto_build: make -j1 returned exit code 2 [ 273s] debian/rules:45: recipe for target 'build' failed [ 273s] make: *** [build] Error 2 [ 273s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 273s] ### VM INTERACTION START ### [ 276s] [ 264.285329] sysrq: SysRq : Power Off [ 276s] [ 264.289286] reboot: Power down [ 276s] ### VM INTERACTION END ### [ 276s] [ 276s] lamb10 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 14:56:52 UTC 2020. [ 276s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 14:56:58 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 14:56:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5e9db8536eab4_4a172ad5e03f65fc79233@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 289s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o netns.o netns.c [ 289s] netns.c:1:2: warning: #warning "Merge netns.c from osmo-ggsn and osmo-gtpu-daemon" [-Wcpp] [ 289s] 1 | #warning "Merge netns.c from osmo-ggsn and osmo-gtpu-daemon" [ 289s] | ^~~~~~~ [ 289s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o tun_device.o tun_device.c [ 289s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_endpoint.o gtp_endpoint.c [ 290s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_tunnel.o gtp_tunnel.c [ 290s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o daemon_vty.o daemon_vty.c [ 290s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o main.o main.c [ 290s] main.c:33:10: fatal error: netinet/sctp.h: No such file or directory [ 290s] 33 | #include [ 290s] | ^~~~~~~~~~~~~~~~ [ 290s] compilation terminated. [ 290s] make[3]: *** [Makefile:479: main.o] Error 1 [ 290s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 290s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 290s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 290s] make[1]: *** [Makefile:349: all] Error 2 [ 290s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 290s] dh_auto_build: make -j1 returned exit code 2 [ 290s] make: *** [debian/rules:45: build] Error 255 [ 290s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 290s] ### VM INTERACTION START ### [ 293s] [ 281.504273] sysrq: SysRq : Power Off [ 293s] [ 281.510357] reboot: Power down [ 293s] ### VM INTERACTION END ### [ 293s] [ 293s] lamb67 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 14:56:52 UTC 2020. [ 293s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 14:57:15 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 14:57:15 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5e9db85829298_4a172ad5e03f65fc79546@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/xUbuntu_18.10/i586 Package network:osmocom:nightly/osmo-uecups failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 325s] LOGEP(ep, LOGL_NOTICE, "Shotr GTP Message: %lu < len=%d\n", [ 325s] ^~~~~ [ 325s] gtp_endpoint.c:67:49: note: format string is defined here [ 325s] LOGEP(ep, LOGL_NOTICE, "Shotr GTP Message: %lu < len=%d\n", [ 325s] ~~^ [ 325s] %u [ 326s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_tunnel.o gtp_tunnel.c [ 326s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o daemon_vty.o daemon_vty.c [ 326s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o main.o main.c [ 326s] main.c:33:10: fatal error: netinet/sctp.h: No such file or directory [ 326s] #include [ 326s] ^~~~~~~~~~~~~~~~ [ 326s] compilation terminated. [ 326s] make[3]: *** [Makefile:479: main.o] Error 1 [ 326s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 326s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 326s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 326s] make[1]: *** [Makefile:349: all] Error 2 [ 326s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 326s] dh_auto_build: make -j1 returned exit code 2 [ 326s] make: *** [debian/rules:45: build] Error 2 [ 326s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 326s] ### VM INTERACTION START ### [ 329s] [ 315.673329] sysrq: SysRq : Power Off [ 329s] [ 315.679188] reboot: Power down [ 329s] ### VM INTERACTION END ### [ 329s] [ 329s] lamb21 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 14:56:59 UTC 2020. [ 329s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 14:57:32 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 14:57:32 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5e9db874d9c91_4a172ad5e03f65fc7976a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 292s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o netns.o netns.c [ 292s] netns.c:1:2: warning: #warning "Merge netns.c from osmo-ggsn and osmo-gtpu-daemon" [-Wcpp] [ 292s] #warning "Merge netns.c from osmo-ggsn and osmo-gtpu-daemon" [ 292s] ^~~~~~~ [ 292s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o tun_device.o tun_device.c [ 293s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_endpoint.o gtp_endpoint.c [ 293s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_tunnel.o gtp_tunnel.c [ 293s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o daemon_vty.o daemon_vty.c [ 293s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o main.o main.c [ 293s] main.c:33:10: fatal error: netinet/sctp.h: No such file or directory [ 293s] #include [ 293s] ^~~~~~~~~~~~~~~~ [ 293s] compilation terminated. [ 293s] make[3]: *** [Makefile:479: main.o] Error 1 [ 293s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 293s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 293s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 293s] make[1]: *** [Makefile:349: all] Error 2 [ 293s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 293s] dh_auto_build: make -j1 returned exit code 2 [ 293s] make: *** [debian/rules:45: build] Error 2 [ 293s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 293s] ### VM INTERACTION START ### [ 297s] [ 283.963994] sysrq: SysRq : Power Off [ 297s] [ 283.986052] reboot: Power down [ 297s] ### VM INTERACTION END ### [ 297s] [ 297s] lamb59 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 14:57:18 UTC 2020. [ 297s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 14:58:07 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 14:58:07 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5e9db88d1640c_4a172ad5e03f65fc798a9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_10/aarch64 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 411s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o netns.o netns.c [ 411s] netns.c:1:2: warning: #warning "Merge netns.c from osmo-ggsn and osmo-gtpu-daemon" [-Wcpp] [ 411s] #warning "Merge netns.c from osmo-ggsn and osmo-gtpu-daemon" [ 411s] ^~~~~~~ [ 412s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o tun_device.o tun_device.c [ 412s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_endpoint.o gtp_endpoint.c [ 413s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_tunnel.o gtp_tunnel.c [ 413s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o daemon_vty.o daemon_vty.c [ 413s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o main.o main.c [ 413s] main.c:33:10: fatal error: netinet/sctp.h: No such file or directory [ 413s] #include [ 413s] ^~~~~~~~~~~~~~~~ [ 413s] compilation terminated. [ 413s] make[3]: *** [Makefile:479: main.o] Error 1 [ 413s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 413s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 413s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 413s] make[1]: *** [Makefile:349: all] Error 2 [ 413s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 413s] dh_auto_build: make -j1 returned exit code 2 [ 413s] make: *** [debian/rules:45: build] Error 2 [ 413s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 413s] ### VM INTERACTION START ### [ 416s] [ 391.998017] sysrq: Power Off [ 416s] [ 392.000501] reboot: Power down [ 417s] ### VM INTERACTION END ### [ 417s] [ 417s] obs-arm-8 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 14:58:01 UTC 2020. [ 417s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 14:58:25 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 14:58:25 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5e9db8ad955cf_4a172ad5e03f65fc800ca@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 349s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o netns.o netns.c [ 349s] netns.c:1:2: warning: #warning "Merge netns.c from osmo-ggsn and osmo-gtpu-daemon" [-Wcpp] [ 349s] 1 | #warning "Merge netns.c from osmo-ggsn and osmo-gtpu-daemon" [ 349s] | ^~~~~~~ [ 349s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o tun_device.o tun_device.c [ 349s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_endpoint.o gtp_endpoint.c [ 350s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_tunnel.o gtp_tunnel.c [ 350s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o daemon_vty.o daemon_vty.c [ 350s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o main.o main.c [ 350s] main.c:33:10: fatal error: netinet/sctp.h: No such file or directory [ 350s] 33 | #include [ 350s] | ^~~~~~~~~~~~~~~~ [ 350s] compilation terminated. [ 350s] make[3]: *** [Makefile:479: main.o] Error 1 [ 350s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 350s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 350s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 350s] make[1]: *** [Makefile:349: all] Error 2 [ 350s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 350s] dh_auto_build: error: make -j1 returned exit code 2 [ 350s] make: *** [debian/rules:45: build] Error 25 [ 350s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 350s] ### VM INTERACTION START ### [ 353s] [ 340.217571] sysrq: SysRq : Power Off [ 353s] [ 340.223351] reboot: Power down [ 353s] ### VM INTERACTION END ### [ 353s] [ 353s] lamb68 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 14:58:22 UTC 2020. [ 353s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 14:58:58 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 14:58:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_10/i586 In-Reply-To: References: Message-ID: <5e9db8cd87a92_4a172ad5e03f65fc8029a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_10/i586 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 336s] LOGEP(ep, LOGL_NOTICE, "Shotr GTP Message: %lu < len=%d\n", [ 336s] ^~~~~ [ 336s] gtp_endpoint.c:67:49: note: format string is defined here [ 336s] LOGEP(ep, LOGL_NOTICE, "Shotr GTP Message: %lu < len=%d\n", [ 336s] ~~^ [ 336s] %u [ 336s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_tunnel.o gtp_tunnel.c [ 336s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o daemon_vty.o daemon_vty.c [ 336s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o main.o main.c [ 337s] main.c:33:10: fatal error: netinet/sctp.h: No such file or directory [ 337s] #include [ 337s] ^~~~~~~~~~~~~~~~ [ 337s] compilation terminated. [ 337s] make[3]: *** [Makefile:479: main.o] Error 1 [ 337s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 337s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 337s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 337s] make[1]: *** [Makefile:349: all] Error 2 [ 337s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 337s] dh_auto_build: make -j1 returned exit code 2 [ 337s] make: *** [debian/rules:45: build] Error 2 [ 337s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 337s] ### VM INTERACTION START ### [ 340s] [ 326.905770] sysrq: SysRq : Power Off [ 340s] [ 326.920240] reboot: Power down [ 340s] ### VM INTERACTION END ### [ 340s] [ 340s] lamb61 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 14:58:41 UTC 2020. [ 340s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 14:58:58 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 14:58:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5e9db8cdc2745_4a172ad5e03f65fc80381@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 407s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o netns.o netns.c [ 407s] netns.c:1:2: warning: #warning "Merge netns.c from osmo-ggsn and osmo-gtpu-daemon" [-Wcpp] [ 407s] #warning "Merge netns.c from osmo-ggsn and osmo-gtpu-daemon" [ 407s] ^~~~~~~ [ 407s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o tun_device.o tun_device.c [ 408s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_endpoint.o gtp_endpoint.c [ 408s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_tunnel.o gtp_tunnel.c [ 408s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o daemon_vty.o daemon_vty.c [ 408s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o main.o main.c [ 408s] main.c:33:10: fatal error: netinet/sctp.h: No such file or directory [ 408s] #include [ 408s] ^~~~~~~~~~~~~~~~ [ 408s] compilation terminated. [ 408s] make[3]: *** [Makefile:479: main.o] Error 1 [ 408s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 408s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 408s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 408s] make[1]: *** [Makefile:349: all] Error 2 [ 408s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 408s] dh_auto_build: make -j1 returned exit code 2 [ 408s] make: *** [debian/rules:45: build] Error 2 [ 408s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 408s] ### VM INTERACTION START ### [ 411s] [ 393.092634] sysrq: SysRq : Power Off [ 411s] [ 393.104500] reboot: Power down [ 411s] ### VM INTERACTION END ### [ 411s] [ 411s] lamb24 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 14:58:41 UTC 2020. [ 411s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 14:59:50 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 14:59:50 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5e9db8ee40bea_4a172ad5e03f65fc806b9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 436s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o netns.o netns.c [ 436s] netns.c:1:2: warning: #warning "Merge netns.c from osmo-ggsn and osmo-gtpu-daemon" [-Wcpp] [ 436s] 1 | #warning "Merge netns.c from osmo-ggsn and osmo-gtpu-daemon" [ 436s] | ^~~~~~~ [ 436s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o tun_device.o tun_device.c [ 436s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_endpoint.o gtp_endpoint.c [ 436s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_tunnel.o gtp_tunnel.c [ 437s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o daemon_vty.o daemon_vty.c [ 437s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o main.o main.c [ 437s] main.c:33:10: fatal error: netinet/sctp.h: No such file or directory [ 437s] 33 | #include [ 437s] | ^~~~~~~~~~~~~~~~ [ 437s] compilation terminated. [ 437s] make[3]: *** [Makefile:479: main.o] Error 1 [ 437s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 437s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 437s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 437s] make[1]: *** [Makefile:349: all] Error 2 [ 437s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 437s] dh_auto_build: error: make -j1 returned exit code 2 [ 437s] make: *** [debian/rules:45: build] Error 25 [ 437s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 437s] ### VM INTERACTION START ### [ 440s] [ 423.298667] sysrq: SysRq : Power Off [ 440s] [ 423.303262] reboot: Power down [ 440s] ### VM INTERACTION END ### [ 440s] [ 440s] lamb14 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 14:59:39 UTC 2020. [ 440s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 20 14:59:50 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 14:59:50 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5e9db8ee7b54c_4a172ad5e03f65fc8072b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_10/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 430s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o netns.o netns.c [ 430s] netns.c:1:2: warning: #warning "Merge netns.c from osmo-ggsn and osmo-gtpu-daemon" [-Wcpp] [ 430s] #warning "Merge netns.c from osmo-ggsn and osmo-gtpu-daemon" [ 430s] ^~~~~~~ [ 430s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o tun_device.o tun_device.c [ 430s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_endpoint.o gtp_endpoint.c [ 431s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o gtp_tunnel.o gtp_tunnel.c [ 431s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o daemon_vty.o daemon_vty.c [ 431s] gcc -DPACKAGE_NAME=\"osmo-uecups\" -DPACKAGE_TARNAME=\"osmo-uecups\" -DPACKAGE_VERSION=\"UNKNOWN\" -DPACKAGE_STRING=\"osmo-uecups\ UNKNOWN\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-uecups\" -DVERSION=\"UNKNOWN\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/libnl3 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o main.o main.c [ 431s] main.c:33:10: fatal error: netinet/sctp.h: No such file or directory [ 431s] #include [ 431s] ^~~~~~~~~~~~~~~~ [ 431s] compilation terminated. [ 431s] make[3]: *** [Makefile:479: main.o] Error 1 [ 431s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 431s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 431s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 431s] make[1]: *** [Makefile:349: all] Error 2 [ 431s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 431s] dh_auto_build: make -j1 returned exit code 2 [ 431s] make: *** [debian/rules:45: build] Error 2 [ 431s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 431s] ### VM INTERACTION START ### [ 434s] [ 412.941432] sysrq: SysRq : Power Off [ 434s] [ 412.950052] reboot: Power down [ 434s] ### VM INTERACTION END ### [ 434s] [ 434s] build73 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 14:59:39 UTC 2020. [ 434s] -- 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 Apr 20 15:11:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 15:11:02 +0000 Subject: Change in osmo-uecups[master]: debian: add dependency to autoconf-archive References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17903 ) Change subject: debian: add dependency to autoconf-archive ...................................................................... debian: add dependency to autoconf-archive configure: 8901: error: Please install autoconf-archive; re-run 'autoreconf -fi' for it to take effect. Change-Id: I7a7c4680678cc68b0b81f71af7687386a09afdb5 --- M debian/control 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/03/17903/1 diff --git a/debian/control b/debian/control index dbeb691..b801091 100644 --- a/debian/control +++ b/debian/control @@ -6,6 +6,7 @@ dh-autoreconf, autotools-dev, autoconf, + autoconf-archive, automake, libtool, pkg-config, -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17903 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I7a7c4680678cc68b0b81f71af7687386a09afdb5 Gerrit-Change-Number: 17903 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 Apr 20 15:11:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 15:11:03 +0000 Subject: Change in osmo-uecups[master]: debian/control: Add dependency to libsctp-dev References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17904 ) Change subject: debian/control: Add dependency to libsctp-dev ...................................................................... debian/control: Add dependency to libsctp-dev [ 337s] main.c:33:10: fatal error: netinet/sctp.h: No such file or directory [ 337s] #include [ 337s] ^~~~~~~~~~~~~~~~ Change-Id: Iaec1c688ac136bd146dbc9527804c238245cac47 --- M debian/control 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/04/17904/1 diff --git a/debian/control b/debian/control index b801091..3efd4c2 100644 --- a/debian/control +++ b/debian/control @@ -14,6 +14,7 @@ libnl-route-3-dev, libosmocore-dev (>= 1.1.0), libosmo-netif-dev, + libsctp-dev, osmo-gsm-manuals-dev Standards-Version: 3.9.8 Vcs-Git: git://git.osmocom.org/osmo-uecups.git -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Iaec1c688ac136bd146dbc9527804c238245cac47 Gerrit-Change-Number: 17904 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 Apr 20 15:16:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 15:16:36 +0000 Subject: Change in osmo-uecups[master]: debian: add dependency to autoconf-archive In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17903 ) Change subject: debian: add dependency to autoconf-archive ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17903 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I7a7c4680678cc68b0b81f71af7687386a09afdb5 Gerrit-Change-Number: 17903 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 15:16: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 Apr 20 15:16:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 15:16:48 +0000 Subject: Change in osmo-uecups[master]: debian/control: Add dependency to libsctp-dev In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17904 ) Change subject: debian/control: Add dependency to libsctp-dev ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Iaec1c688ac136bd146dbc9527804c238245cac47 Gerrit-Change-Number: 17904 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 15: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 Mon Apr 20 15:18:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 15:18:11 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Introduce support for neighbour cell list In-Reply-To: References: Message-ID: Hello srs_andre, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17893 to look at the new patch set (#6). Change subject: enb: Introduce support for neighbour cell list ...................................................................... enb: Introduce support for neighbour cell list Change-Id: If604f1f2643a73f8c4da6ae3e9d24cd6c7e52d06 --- M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M sysmocom/defaults.conf 3 files changed, 14 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/93/17893/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17893 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: If604f1f2643a73f8c4da6ae3e9d24cd6c7e52d06 Gerrit-Change-Number: 17893 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 15:18:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 15:18:11 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb: Support neighbour and secondary cell lists in config file In-Reply-To: References: Message-ID: Hello srs_andre, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17894 to look at the new patch set (#6). Change subject: srsenb: Support neighbour and secondary cell lists in config file ...................................................................... srsenb: Support neighbour and secondary cell lists in config file Change-Id: I8fe0703b7d9db69658c112066404d2da1c3d1e09 --- M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl 1 file changed, 29 insertions(+), 49 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/94/17894/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17894 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: I8fe0703b7d9db69658c112066404d2da1c3d1e09 Gerrit-Change-Number: 17894 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 15:18:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 15:18:11 +0000 Subject: Change in osmo-gsm-tester[master]: AmarisoftENB: Support setting PCI value References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17905 ) Change subject: AmarisoftENB: Support setting PCI value ...................................................................... AmarisoftENB: Support setting PCI value Change-Id: Ibffb95f9b55e145d76ba64119a73ef9f1ed7cdef --- M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M sysmocom/defaults.conf 3 files changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/05/17905/1 diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index ded8568..6e744e5 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -112,6 +112,7 @@ 'enb[].a3_time_to_trigger': schema.INT, 'enb[].num_cells': schema.UINT, 'enb[].cell_list[].cell_id': schema.UINT, + 'enb[].cell_list[].pci': schema.UINT, 'enb[].cell_list[].scell_list[]': schema.UINT, 'enb[].cell_list[].dl_earfcn': schema.UINT, 'enb[].cell_list[].dl_rfemu.type': schema.STR, diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 89e65f1..4dc9c60 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -61,7 +61,7 @@ dl_earfcn: ${cell.dl_earfcn}, rf_port: ${loop.index}, cell_id: ${cell.cell_id}, - n_id_cell: ${loop.index + 1}, + n_id_cell: ${cell.pci}, tac: 0x0001, root_sequence_index: ${loop.index + 204}, /* PRACH root sequence index */ diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index f7820c0..80515d8 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -126,9 +126,11 @@ a3_time_to_trigger: 480 cell_list: - cell_id: 0x01 + pci: 0x01 dl_earfcn: 2850 scell_list: [0x02] - cell_id: 0x02 + pci: 0x02 dl_earfcn: 3050 scell_list: [0x01] -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17905 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: Ibffb95f9b55e145d76ba64119a73ef9f1ed7cdef Gerrit-Change-Number: 17905 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 Apr 20 15:18:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 15:18:12 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoftENB: Fix running with num_cells=2 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17906 ) Change subject: amarisoftENB: Fix running with num_cells=2 ...................................................................... amarisoftENB: Fix running with num_cells=2 The B200 device being used in the physical setup doesn't support several RF ports, so let's hardcode it to 0 for now. Change-Id: Id4c31be2bd0c75f469e2293ade011c7b7ceedb1c --- M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/06/17906/1 diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 24cd0d1..5d146f7 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -59,7 +59,7 @@ %for cell in enb.cell_list: { dl_earfcn: ${cell.dl_earfcn}, - rf_port: ${loop.index}, + rf_port: 0, /* FIXME: this may need to be configurable based on device specifics (B2xx vs X310) */ cell_id: ${cell.cell_id}, n_id_cell: ${cell.pci}, tac: 0x0001, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17906 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: Id4c31be2bd0c75f469e2293ade011c7b7ceedb1c Gerrit-Change-Number: 17906 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 Apr 20 15:28:49 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 20 Apr 2020 15:28:49 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c File src/osmo-bts-litecell15/l1_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c at 1608 PS4, Line 1608: static void dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) I'm not sure how much it really matters, but should we not avoid introduction of yet more compiler warnings? This should be int I think and then return 0 for success. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 4 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Mon, 20 Apr 2020 15:28: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 Mon Apr 20 15:30:14 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 20 Apr 2020 15:30:14 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/lc15bts_vty.c File src/osmo-bts-litecell15/lc15bts_vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/lc15bts_vty.c at 359 PS4, Line 359: "Set the maximum cell size in qbits\n") sorry for super nit picking. why two spaces? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 4 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Mon, 20 Apr 2020 15:30: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 Mon Apr 20 15:39:12 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 20 Apr 2020 15:39:12 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c File src/osmo-bts-litecell15/l1_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c at 1722 PS4, Line 1722: fl1h->hw_alive.dsp_alive_timer.cb = dsp_alive_timer_cb; an osmo_timer_list cb expects void, but dsp_alive_timer_cb() can return -EIO or 0 Something amis here? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 4 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Mon, 20 Apr 2020 15:39: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 Mon Apr 20 15:46:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 15:46:41 +0000 Subject: Change in docker-playground[master]: move all osmo-*-master containers to Debian 10 (buster) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17778 ) Change subject: move all osmo-*-master containers to Debian 10 (buster) ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibcf323a1fc5c660779a7005127d7cdb4577a9495 Gerrit-Change-Number: 17778 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 20 Apr 2020 15:46: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 Apr 20 15:47:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 15:47:01 +0000 Subject: Change in osmo-uecups[master]: debian: add dependency to autoconf-archive In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17903 ) Change subject: debian: add dependency to autoconf-archive ...................................................................... debian: add dependency to autoconf-archive configure: 8901: error: Please install autoconf-archive; re-run 'autoreconf -fi' for it to take effect. Change-Id: I7a7c4680678cc68b0b81f71af7687386a09afdb5 --- M debian/control 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/debian/control b/debian/control index dbeb691..b801091 100644 --- a/debian/control +++ b/debian/control @@ -6,6 +6,7 @@ dh-autoreconf, autotools-dev, autoconf, + autoconf-archive, automake, libtool, pkg-config, -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17903 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I7a7c4680678cc68b0b81f71af7687386a09afdb5 Gerrit-Change-Number: 17903 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 Mon Apr 20 15:47:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 15:47:02 +0000 Subject: Change in osmo-uecups[master]: debian/control: Add dependency to libsctp-dev In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17904 ) Change subject: debian/control: Add dependency to libsctp-dev ...................................................................... debian/control: Add dependency to libsctp-dev [ 337s] main.c:33:10: fatal error: netinet/sctp.h: No such file or directory [ 337s] #include [ 337s] ^~~~~~~~~~~~~~~~ Change-Id: Iaec1c688ac136bd146dbc9527804c238245cac47 --- M debian/control 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/debian/control b/debian/control index b801091..3efd4c2 100644 --- a/debian/control +++ b/debian/control @@ -14,6 +14,7 @@ libnl-route-3-dev, libosmocore-dev (>= 1.1.0), libosmo-netif-dev, + libsctp-dev, osmo-gsm-manuals-dev Standards-Version: 3.9.8 Vcs-Git: git://git.osmocom.org/osmo-uecups.git -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Iaec1c688ac136bd146dbc9527804c238245cac47 Gerrit-Change-Number: 17904 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 Mon Apr 20 15:48:56 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 20 Apr 2020 15:48:56 +0000 Subject: Change in osmo-hlr[master]: doc: do not use loglevel info for log category ss In-Reply-To: References: Message-ID: Hello fixeria, pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17600 to look at the new patch set (#3). Change subject: doc: do not use loglevel info for log category ss ...................................................................... doc: do not use loglevel info for log category ss The log category ss uses info as loglevel vor ss, this is to verbose, lets use notice instead. Change-Id: I192a5f07cb7f45adb6f3af1c511b706738bdadf4 --- M doc/examples/osmo-hlr.cfg M tests/test_nodes.vty 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/00/17600/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I192a5f07cb7f45adb6f3af1c511b706738bdadf4 Gerrit-Change-Number: 17600 Gerrit-PatchSet: 3 Gerrit-Owner: dexter 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 Apr 20 15:49:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 15:49:42 +0000 Subject: Change in docker-playground[master]: move all osmo-*-master containers to Debian 10 (buster) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17778 ) Change subject: move all osmo-*-master containers to Debian 10 (buster) ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibcf323a1fc5c660779a7005127d7cdb4577a9495 Gerrit-Change-Number: 17778 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 20 Apr 2020 15: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 Mon Apr 20 15:53:50 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Mon, 20 Apr 2020 15:53:50 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: rafael2k has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c File src/osmo-bts-litecell15/l1_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c at 1608 PS4, Line 1608: static void dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) > I'm not sure how much it really matters, but should we not avoid introduction of yet more compiler w [?] There are not really 2 or more different code paths here. Nothing to return... void makes sense. https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c at 1722 PS4, Line 1722: fl1h->hw_alive.dsp_alive_timer.cb = dsp_alive_timer_cb; > an osmo_timer_list cb expects void, but [?] As a callback which the return value nobody takes cares, fixing this has no semantic effect. The same warnings are in oc2g code. I would prefer to spend time unifying oc2g and litecell 1.5 code paths instead of fixing individual warnings here. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 4 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Mon, 20 Apr 2020 15:53:50 +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 Mon Apr 20 15:59:34 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Mon, 20 Apr 2020 15:59:34 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 to look at the new patch set (#5). Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... osmo-bts-litecell15: Implement missing features. Many hardware parameters of the LC 1.5 were not exposed to the user. This patchset introduces most of the features, being very similar to osmo-bts-oc2g code. Try 2. Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d --- M include/osmo-bts/phy_link.h M src/osmo-bts-litecell15/l1_if.c M src/osmo-bts-litecell15/l1_if.h M src/osmo-bts-litecell15/lc15bts.c M src/osmo-bts-litecell15/lc15bts.h M src/osmo-bts-litecell15/lc15bts_vty.c M src/osmo-bts-litecell15/main.c M src/osmo-bts-litecell15/oml.c 8 files changed, 566 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/55/17855/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 5 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 16:02:37 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Mon, 20 Apr 2020 16:02:37 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 to look at the new patch set (#6). Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... osmo-bts-litecell15: Implement missing features. Many hardware parameters of the LC 1.5 were not exposed to the user. This change introduces most of the features, being very similar to osmo-bts-oc2g code. Mostly based on commit 653e974fec00414ba85baf258ccc46ea778a53bd from NuRAN's osmo-bts fork at: https://gitlab.com/nrw_noa/osmo-bts Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d --- M include/osmo-bts/phy_link.h M src/osmo-bts-litecell15/l1_if.c M src/osmo-bts-litecell15/l1_if.h M src/osmo-bts-litecell15/lc15bts.c M src/osmo-bts-litecell15/lc15bts.h M src/osmo-bts-litecell15/lc15bts_vty.c M src/osmo-bts-litecell15/main.c M src/osmo-bts-litecell15/oml.c 8 files changed, 569 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/55/17855/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 6 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 16:03:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 16:03:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: CBSP_Templates: fix copy+paste error References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17907 ) Change subject: CBSP_Templates: fix copy+paste error ...................................................................... CBSP_Templates: fix copy+paste error Change-Id: Idd07dce8ccdbfa3d65a78ccfcaa9f43eb04979cd --- M library/CBSP_Templates.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/07/17907/1 diff --git a/library/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn index 57e87e2..fe06150 100644 --- a/library/CBSP_Templates.ttcn +++ b/library/CBSP_Templates.ttcn @@ -635,7 +635,7 @@ } else if (not istemplatekind(compl_list, "omit")) { ies[lengthof(ies)] := tr_CbspNumComplList(compl_list); } - if (istemplatekind(compl_list, "*")) { + if (istemplatekind(cell_list, "*")) { //ies[lengthof(ies)] := tr_CbspCellList ifpresent; } else if (not istemplatekind(cell_list, "omit")) { ies[lengthof(ies)] := tr_CbspCellList(cell_list); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17907 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: Idd07dce8ccdbfa3d65a78ccfcaa9f43eb04979cd Gerrit-Change-Number: 17907 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 Apr 20 16:03:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 16:03:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: HACK: avoid compilation error with TITAN > 6.5.0 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17908 ) Change subject: HACK: avoid compilation error with TITAN > 6.5.0 ...................................................................... HACK: avoid compilation error with TITAN > 6.5.0 it seems TITAN no longer supports 'ifpresent' in certain situations, see https://www.eclipse.org/forums/index.php/m/1826175/#msg_1826175 Let's make the tests fail if we actually run in those cases, but at least compile fine and be able to execute all the other tests. Change-Id: Ia401c2d696979c0062872bca8da62c2ea153427b --- M library/CBSP_Templates.ttcn 1 file changed, 8 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/08/17908/1 diff --git a/library/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn index fe06150..49906fe 100644 --- a/library/CBSP_Templates.ttcn +++ b/library/CBSP_Templates.ttcn @@ -368,7 +368,8 @@ tr_NewSerNo(new_ser_nr) }; if (istemplatekind(cell_list, "*")) { - ies[lengthof(ies)] := tr_CbspCellList ifpresent; + testcase.stop("TITAN > 6.5.0 doesn't support this"); + //ies[lengthof(ies)] := tr_CbspCellList ifpresent; } else if (istemplatekind(cell_list, "?")) { ies[lengthof(ies)] := tr_CbspCellList(?); } else if (not istemplatekind(cell_list, "omit")) { @@ -411,7 +412,8 @@ tr_CbspNumComplList(compl_list) }; if (istemplatekind(cell_list, "*")) { - ies[lengthof(ies)] := tr_CbspCellList ifpresent; + testcase.stop("TITAN > 6.5.0 doesn't support this"); + //ies[lengthof(ies)] := tr_CbspCellList ifpresent; } else if (istemplatekind(cell_list, "?")) { ies[lengthof(ies)] := tr_CbspCellList(?); } else if (not istemplatekind(cell_list, "omit")) { @@ -464,7 +466,8 @@ ies[lengthof(ies)] := tr_CbspNumComplList(compl_list); } if (istemplatekind(cell_list, "*")) { - ies[lengthof(ies)] := tr_CbspCellList ifpresent; + testcase.stop("TITAN > 6.5.0 doesn't support this"); + //ies[lengthof(ies)] := tr_CbspCellList ifpresent; } else if (istemplatekind(cell_list, "?")) { ies[lengthof(ies)] := tr_CbspCellList(?); } else if (not istemplatekind(cell_list, "omit")) { @@ -641,7 +644,8 @@ ies[lengthof(ies)] := tr_CbspCellList(cell_list); } if (istemplatekind(channel_ind, "*")) { - ies[lengthof(ies)] := tr_CbspChannelInd(?) ifpresent; + testcase.stop("TITAN > 6.5.0 doesn't support this"); + //ies[lengthof(ies)] := tr_CbspChannelInd(?) ifpresent; } else if (not istemplatekind(channel_ind, "omit")) { ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17908 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: Ia401c2d696979c0062872bca8da62c2ea153427b Gerrit-Change-Number: 17908 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 Apr 20 16:03:17 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Mon, 20 Apr 2020 16:03:17 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: rafael2k has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/lc15bts_vty.c File src/osmo-bts-litecell15/lc15bts_vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/lc15bts_vty.c at 359 PS4, Line 359: "Set the maximum cell size in qbits\n") > sorry for super nit picking. [?] fixed. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 6 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Mon, 20 Apr 2020 16:03:17 +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 Mon Apr 20 16:04:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 16:04:12 +0000 Subject: Change in osmo-gsm-tester[master]: AmarisoftUE: Fix setting tx/rx gain attr References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17909 ) Change subject: AmarisoftUE: Fix setting tx/rx gain attr ...................................................................... AmarisoftUE: Fix setting tx/rx gain attr Fixes: a6d6304afccbd37462acf9ad8207d6ac29f25da9 Change-Id: I344313863390a00604045dcc18e552aa789b282f --- M sysmocom/defaults.conf 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/09/17909/1 diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index f7820c0..36a2f42 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -152,5 +152,9 @@ tx_gain: 80 rx_gain: 40 +amarisoftue: + tx_gain: 89 + rx_gain: 60 + iperf3cli: time: 60 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17909 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: I344313863390a00604045dcc18e552aa789b282f Gerrit-Change-Number: 17909 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 Apr 20 16:08:12 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 20 Apr 2020 16:08:12 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c File src/osmo-bts-litecell15/l1_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c at 1722 PS4, Line 1722: fl1h->hw_alive.dsp_alive_timer.cb = dsp_alive_timer_cb; > As a callback which the return value nobody takes cares, fixing this has no semantic effect. [?] Isn't the return of -EIO key to the whole point of the thing? I'd be wary of unifying the oc2g code if this is just introducing logic errors. Where did the oc2g code come from? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 4 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Mon, 20 Apr 2020 16:08:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: keith Comment-In-Reply-To: rafael2k Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 16:10:56 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 20 Apr 2020 16:10:56 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c File src/osmo-bts-litecell15/l1_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c at 1608 PS4, Line 1608: static void dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) > There are not really 2 or more different code paths here. Nothing to return... void makes sense. I'm pretty sure I don't ever see this kind of thing in osmo code. maybe it's a coding style thing? you say "void makes sense" compiler says "warning" isn't there a better way to resolve the conflict than just ignoring the compiler? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 4 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Mon, 20 Apr 2020 16:10:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: keith Comment-In-Reply-To: rafael2k Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 16:14:46 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 20 Apr 2020 16:14:46 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c File src/osmo-bts-litecell15/l1_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c at 1608 PS4, Line 1608: static void dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) > There are not really 2 or more different code paths here. Nothing to return... void makes sense. By this logic, one should also submit a patch to change activate_rf_compl_cb() to void and remove the return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 4 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Mon, 20 Apr 2020 16:14:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: keith Comment-In-Reply-To: rafael2k Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 16:19:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 16:19:05 +0000 Subject: Change in libosmocore[master]: gsm0503_parity: Fix compilation with gcc-10 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17910 ) Change subject: gsm0503_parity: Fix compilation with gcc-10 ...................................................................... gsm0503_parity: Fix compilation with gcc-10 /usr/bin/ld: .libs/gsm0503_coding.o:/home/laforge/projects/git/libosmocore/src/coding/../../include/osmocom/coding/gsm0503_parity.h:16: multiple definition of `gsm0503_mcs_crc12'; .libs/gsm0503_parity.o:/home/laforge/projects/git/libosmocore/src/coding/../../include/osmocom/coding/gsm0503_parity.h:16: first defined here Change-Id: I15945bbf59c873e50154c40fed0ba3d6b4d7c399 --- M include/osmocom/coding/gsm0503_parity.h 1 file changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/10/17910/1 diff --git a/include/osmocom/coding/gsm0503_parity.h b/include/osmocom/coding/gsm0503_parity.h index c35477f..bda5f99 100644 --- a/include/osmocom/coding/gsm0503_parity.h +++ b/include/osmocom/coding/gsm0503_parity.h @@ -10,15 +10,15 @@ * @{ * \file gsm0503_parity.h */ -const struct osmo_crc64gen_code gsm0503_fire_crc40; -const struct osmo_crc16gen_code gsm0503_cs234_crc16; -const struct osmo_crc8gen_code gsm0503_mcs_crc8_hdr; -const struct osmo_crc16gen_code gsm0503_mcs_crc12; -const struct osmo_crc8gen_code gsm0503_rach_crc6; -const struct osmo_crc16gen_code gsm0503_sch_crc10; -const struct osmo_crc8gen_code gsm0503_tch_fr_crc3; -const struct osmo_crc8gen_code gsm0503_tch_efr_crc8; -const struct osmo_crc8gen_code gsm0503_amr_crc6; -const struct osmo_crc16gen_code gsm0503_amr_crc14; +extern const struct osmo_crc64gen_code gsm0503_fire_crc40; +extern const struct osmo_crc16gen_code gsm0503_cs234_crc16; +extern const struct osmo_crc8gen_code gsm0503_mcs_crc8_hdr; +extern const struct osmo_crc16gen_code gsm0503_mcs_crc12; +extern const struct osmo_crc8gen_code gsm0503_rach_crc6; +extern const struct osmo_crc16gen_code gsm0503_sch_crc10; +extern const struct osmo_crc8gen_code gsm0503_tch_fr_crc3; +extern const struct osmo_crc8gen_code gsm0503_tch_efr_crc8; +extern const struct osmo_crc8gen_code gsm0503_amr_crc6; +extern const struct osmo_crc16gen_code gsm0503_amr_crc14; /*! @} */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17910 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I15945bbf59c873e50154c40fed0ba3d6b4d7c399 Gerrit-Change-Number: 17910 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 Apr 20 16:20:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 16:20:30 +0000 Subject: Change in osmo-gsm-tester[master]: AmarisoftUE: Fix setting tx/rx gain attr In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17909 ) Change subject: AmarisoftUE: Fix setting tx/rx gain attr ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17909 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: I344313863390a00604045dcc18e552aa789b282f Gerrit-Change-Number: 17909 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 16: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 Apr 20 16:20:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 16:20:33 +0000 Subject: Change in osmo-gsm-tester[master]: AmarisoftUE: Fix setting tx/rx gain attr In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17909 ) Change subject: AmarisoftUE: Fix setting tx/rx gain attr ...................................................................... AmarisoftUE: Fix setting tx/rx gain attr Fixes: a6d6304afccbd37462acf9ad8207d6ac29f25da9 Change-Id: I344313863390a00604045dcc18e552aa789b282f --- M sysmocom/defaults.conf 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index f7820c0..36a2f42 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -152,5 +152,9 @@ tx_gain: 80 rx_gain: 40 +amarisoftue: + tx_gain: 89 + rx_gain: 60 + iperf3cli: time: 60 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17909 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: I344313863390a00604045dcc18e552aa789b282f Gerrit-Change-Number: 17909 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Apr 20 16:29:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 16:29:45 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g: Introduce sample handover test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 ) Change subject: suites/4g: Introduce sample handover test ...................................................................... Patch Set 5: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 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: I0dff4af7e3a89804a03842ad4a4d697bca3a9773 Gerrit-Change-Number: 17901 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 16:29: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 Mon Apr 20 16:30:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 16:30:19 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Handle IPv6 SLAAC in tun iface manually In-Reply-To: References: Message-ID: pespin has removed laforge from this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17825 ) Change subject: sgsnemu: Handle IPv6 SLAAC in tun iface manually ...................................................................... Removed reviewer laforge with the following votes: * Code-Review+1 by laforge -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iae59cf6ffb181357e10b3080a5c751bd454f4a1f Gerrit-Change-Number: 17825 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: deleteReviewer -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 16:30:34 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 20 Apr 2020 16:30:34 +0000 Subject: Change in osmo-pcu[master]: gprs_debug: Use only LOGL_NOTICE as default loglevel In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/17609 to look at the new patch set (#3). Change subject: gprs_debug: Use only LOGL_NOTICE as default loglevel ...................................................................... gprs_debug: Use only LOGL_NOTICE as default loglevel The default loglevels of some log categories are configured to LOGL_INFO. This is still to verbose, lets use LOGL_NOTICE here. Change-Id: Ibb1cd1a94fb4fdd0147e073f8c1c82562c2c14ef Related: OS#2577 --- M src/gprs_debug.cpp M tests/alloc/AllocTest.cpp M tests/types/TypesTest.cpp 3 files changed, 12 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/09/17609/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb1cd1a94fb4fdd0147e073f8c1c82562c2c14ef Gerrit-Change-Number: 17609 Gerrit-PatchSet: 3 Gerrit-Owner: dexter 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 Apr 20 16:37:49 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 20 Apr 2020 16:37:49 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when not loglevel is set In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/17604 to look at the new patch set (#5). Change subject: logging: use LOGL_NOTICE when not loglevel is set ...................................................................... logging: use LOGL_NOTICE when not loglevel is set when the API user of libosmocores logging infrastructure does not set a pre-defined logging level in struct log_info_cat, the result would be an invalid logging level. In order to avoid problems with that and to spare all the additional .loglevel = LOGL_NOTICE (API users are advised to use LOGL_NOTICE as default) lines in the user code lets check the logging level on startup and set LOGL_NOTICE if there is no logging level set. Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Related: OS#2577 --- M src/logging.c 1 file changed, 16 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/04/17604/5 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Gerrit-Change-Number: 17604 Gerrit-PatchSet: 5 Gerrit-Owner: dexter 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 Apr 20 17:09:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 17:09:54 +0000 Subject: Change in libosmocore[master]: gsm0503_parity: Fix compilation with gcc-10 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17910 ) Change subject: gsm0503_parity: Fix compilation with gcc-10 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17910 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I15945bbf59c873e50154c40fed0ba3d6b4d7c399 Gerrit-Change-Number: 17910 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 17:09: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 Apr 20 17:25:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 17:25:27 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g: Introduce sample handover 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/osmo-gsm-tester/+/17901 to look at the new patch set (#6). Change subject: suites/4g: Introduce sample handover test ...................................................................... suites/4g: Introduce sample handover test This test currently only works with AmarisoftENB and srsUE, because: * srsENB has no handover support yet * AmarisoftUE doesn't provide any known way to verify handovers. As a result, it usually runs with following filters and modifiers: amarisoftenb-rftype at uhd+srsue-rftype@uhd+mod-enb-ncells at 2+mod-enb-meas-enable The get_counter() API may change in the future based on information available from other implementations. Change-Id: I0dff4af7e3a89804a03842ad4a4d697bca3a9773 --- M src/osmo_gsm_tester/obj/ms.py M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl A sysmocom/scenarios/mod-enb-meas-enable.conf A sysmocom/suites/4g/handover.py 5 files changed, 82 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/01/17901/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 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: I0dff4af7e3a89804a03842ad4a4d697bca3a9773 Gerrit-Change-Number: 17901 Gerrit-PatchSet: 6 Gerrit-Owner: pespin 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 Apr 20 17:25:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 17:25:44 +0000 Subject: Change in osmo-gsm-tester[master]: AmarisoftENB: Support setting PCI value In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17905 ) Change subject: AmarisoftENB: Support setting PCI value ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17905 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: Ibffb95f9b55e145d76ba64119a73ef9f1ed7cdef Gerrit-Change-Number: 17905 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 17:25: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 Apr 20 17:25:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 17:25:48 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Introduce support for neighbour cell list In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17893 ) Change subject: enb: Introduce support for neighbour cell list ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17893 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: If604f1f2643a73f8c4da6ae3e9d24cd6c7e52d06 Gerrit-Change-Number: 17893 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Mon, 20 Apr 2020 17:25: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 Mon Apr 20 17:25:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 17:25:51 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb: Support neighbour and secondary cell lists in config file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17894 ) Change subject: srsenb: Support neighbour and secondary cell lists in config file ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17894 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: I8fe0703b7d9db69658c112066404d2da1c3d1e09 Gerrit-Change-Number: 17894 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Mon, 20 Apr 2020 17:25: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 Apr 20 17:25:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 17:25:55 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoftENB: Fix running with num_cells=2 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17906 ) Change subject: amarisoftENB: Fix running with num_cells=2 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17906 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: Id4c31be2bd0c75f469e2293ade011c7b7ceedb1c Gerrit-Change-Number: 17906 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 17:25: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 Apr 20 17:25:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 17:25:59 +0000 Subject: Change in osmo-gsm-tester[master]: AmarisoftENB: Support setting PCI value In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17905 ) Change subject: AmarisoftENB: Support setting PCI value ...................................................................... AmarisoftENB: Support setting PCI value Change-Id: Ibffb95f9b55e145d76ba64119a73ef9f1ed7cdef --- M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M sysmocom/defaults.conf 3 files changed, 4 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index ded8568..6e744e5 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -112,6 +112,7 @@ 'enb[].a3_time_to_trigger': schema.INT, 'enb[].num_cells': schema.UINT, 'enb[].cell_list[].cell_id': schema.UINT, + 'enb[].cell_list[].pci': schema.UINT, 'enb[].cell_list[].scell_list[]': schema.UINT, 'enb[].cell_list[].dl_earfcn': schema.UINT, 'enb[].cell_list[].dl_rfemu.type': schema.STR, diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 89e65f1..4dc9c60 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -61,7 +61,7 @@ dl_earfcn: ${cell.dl_earfcn}, rf_port: ${loop.index}, cell_id: ${cell.cell_id}, - n_id_cell: ${loop.index + 1}, + n_id_cell: ${cell.pci}, tac: 0x0001, root_sequence_index: ${loop.index + 204}, /* PRACH root sequence index */ diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index 36a2f42..b07bec2 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -126,9 +126,11 @@ a3_time_to_trigger: 480 cell_list: - cell_id: 0x01 + pci: 0x01 dl_earfcn: 2850 scell_list: [0x02] - cell_id: 0x02 + pci: 0x02 dl_earfcn: 3050 scell_list: [0x01] -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17905 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: Ibffb95f9b55e145d76ba64119a73ef9f1ed7cdef Gerrit-Change-Number: 17905 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Apr 20 17:26:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 17:26:00 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Introduce support for neighbour cell list In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17893 ) Change subject: enb: Introduce support for neighbour cell list ...................................................................... enb: Introduce support for neighbour cell list Change-Id: If604f1f2643a73f8c4da6ae3e9d24cd6c7e52d06 --- M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M sysmocom/defaults.conf 3 files changed, 14 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 6e744e5..20302d3 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -113,6 +113,7 @@ 'enb[].num_cells': schema.UINT, 'enb[].cell_list[].cell_id': schema.UINT, 'enb[].cell_list[].pci': schema.UINT, + 'enb[].cell_list[].ncell_list[]': schema.UINT, 'enb[].cell_list[].scell_list[]': schema.UINT, 'enb[].cell_list[].dl_earfcn': schema.UINT, 'enb[].cell_list[].dl_rfemu.type': schema.STR, diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 4dc9c60..24cd0d1 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -65,6 +65,14 @@ tac: 0x0001, root_sequence_index: ${loop.index + 204}, /* PRACH root sequence index */ + ncell_list: [ +%for ncell in enb.cell_list: +%if ncell.cell_id in cell.ncell_list: + { n_id_cell: ${ncell.pci}, dl_earfcn: ${ncell.dl_earfcn}, cell_id: ${ncell.cell_id}, tac: 1 }, +%endif +%endfor + ], + scell_list: [ %for scell_id in cell.scell_list: { cell_id: ${scell_id}, cross_carrier_scheduling: false, scheduling_cell_id: ${cell.cell_id}, ul_allowed: true}, diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index b07bec2..871a45c 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -128,11 +128,13 @@ - cell_id: 0x01 pci: 0x01 dl_earfcn: 2850 - scell_list: [0x02] + scell_list: [] + ncell_list: [0x02] - cell_id: 0x02 pci: 0x02 - dl_earfcn: 3050 - scell_list: [0x01] + dl_earfcn: 2850 + scell_list: [] + ncell_list: [0x01] srsenb: num_prb: 100 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17893 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: If604f1f2643a73f8c4da6ae3e9d24cd6c7e52d06 Gerrit-Change-Number: 17893 Gerrit-PatchSet: 7 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 Mon Apr 20 17:26:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 17:26:01 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb: Support neighbour and secondary cell lists in config file In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17894 ) Change subject: srsenb: Support neighbour and secondary cell lists in config file ...................................................................... srsenb: Support neighbour and secondary cell lists in config file Change-Id: I8fe0703b7d9db69658c112066404d2da1c3d1e09 --- M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl 1 file changed, 29 insertions(+), 49 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl index 2dcdb2a..8d261fa 100644 --- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl @@ -62,29 +62,46 @@ cell_list = ( +%for cell in enb.cell_list: + ${',' if loop.index != 0 else ''} { - // rf_port = 0; - cell_id = 0x01; + // rf_port = 0; Not yet implemented! + cell_id = ${cell.cell_id}; tac = 0x0001; - pci = 1; - // root_seq_idx = 204; - dl_earfcn = 2850; + pci = ${loop.index + 1}; + root_seq_idx = ${loop.index + 204}; + dl_earfcn = ${cell.dl_earfcn}; //ul_earfcn = 20850; ho_active = false; // CA cells scell_list = ( - {cell_id = 0x02; cross_carrier_scheduling = false; scheduling_cell_id = 0x02; ul_allowed = true} +%for scell_id in cell.scell_list: + ${',' if loop.index != 0 else ''} + { + cell_id = ${scell_id}; + cross_carrier_scheduling = false; + scheduling_cell_id = ${cell.cell_id}; + ul_allowed = true; + } +%endfor ) // Cells available for handover meas_cell_list = ( - { - eci = 0x19C02; - dl_earfcn = 2850; - pci = 2; - } +%for ncell in enb.cell_list: + <% loop.my_num_items = 0 if loop.index == 0 else loop.my_num_items %> +%if ncell.cell_id in cell.ncell_list: + ${',' if loop.my_num_items != 0 else ''} + <% loop.my_num_items += 1 %> + { + eci = ${ncell.cell_id}; + dl_earfcn = ${ncell.dl_earfcn}; + pci = ${ncell.pci}; + } +%endif +%endfor ); // ReportCfg (only A3 supported) @@ -96,42 +113,5 @@ rsrq_config = 4; }; } -% if enb.get('num_cells') == '2': - , - { - rf_port = 1; - cell_id = 0x02; - tac = 0x0002; - pci = 2; - root_seq_idx = 205; - dl_earfcn = 3050; - //ul_earfcn = 21050; - ho_active = false; - - // CA cells - scell_list = ( - {cell_id = 0x01; cross_carrier_scheduling = false; scheduling_cell_id = 0x01; ul_allowed = true} - ) - - // Cells available for handover - meas_cell_list = - ( - { - eci = 0x19C02; - dl_earfcn = 2850; - pci = 1; - } - ); - - // ReportCfg (only A3 supported) - meas_report_desc = { - a3_report_type = "RSRP"; - a3_offset = 6; - a3_hysteresis = 0; - a3_time_to_trigger = 480; - rsrq_config = 4; - }; - } -% endif - // Add here more cells +%endfor ); -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17894 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: I8fe0703b7d9db69658c112066404d2da1c3d1e09 Gerrit-Change-Number: 17894 Gerrit-PatchSet: 7 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 Mon Apr 20 17:26:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 17:26:01 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoftENB: Fix running with num_cells=2 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17906 ) Change subject: amarisoftENB: Fix running with num_cells=2 ...................................................................... amarisoftENB: Fix running with num_cells=2 The B200 device being used in the physical setup doesn't support several RF ports, so let's hardcode it to 0 for now. Change-Id: Id4c31be2bd0c75f469e2293ade011c7b7ceedb1c --- M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 24cd0d1..5d146f7 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -59,7 +59,7 @@ %for cell in enb.cell_list: { dl_earfcn: ${cell.dl_earfcn}, - rf_port: ${loop.index}, + rf_port: 0, /* FIXME: this may need to be configurable based on device specifics (B2xx vs X310) */ cell_id: ${cell.cell_id}, n_id_cell: ${cell.pci}, tac: 0x0001, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17906 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: Id4c31be2bd0c75f469e2293ade011c7b7ceedb1c Gerrit-Change-Number: 17906 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Apr 20 17:26:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 17:26:34 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g: Introduce sample handover test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 ) Change subject: suites/4g: Introduce sample handover test ...................................................................... Patch Set 6: I noticed sometimes the test fails because 3 handover success are found... -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 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: I0dff4af7e3a89804a03842ad4a4d697bca3a9773 Gerrit-Change-Number: 17901 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Mon, 20 Apr 2020 17:26: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 Mon Apr 20 17:35:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 17:35:54 +0000 Subject: Change in libosmo-sccp[master]: sccp_internal.h: fix compilation with gcc-10 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17911 ) Change subject: sccp_internal.h: fix compilation with gcc-10 ...................................................................... sccp_internal.h: fix compilation with gcc-10 /usr/bin/ld: .libs/sccp_helpers.o:/home/laforge/projects/git/libosmo-sccp/src/sccp_internal.h:123: multiple definition of `sccp_scoc_fsm'; .libs/sua.o:/home/laforge/projects/git/libosmo-sccp/src/sccp_internal.h:123: first defined here See also https://alioth-lists.debian.net/pipermail/debian-mobcom-maintainers/Week-of-Mon-20200413/000646.html Change-Id: Icbc06ed2c8d2bd5c63716945c3df923ea4de7886 --- M src/sccp_internal.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/11/17911/1 diff --git a/src/sccp_internal.h b/src/sccp_internal.h index 8df6c9b..98f6d37 100644 --- a/src/sccp_internal.h +++ b/src/sccp_internal.h @@ -120,7 +120,7 @@ struct msgb *sccp_msgb_alloc(const char *name); -struct osmo_fsm sccp_scoc_fsm; +extern struct osmo_fsm sccp_scoc_fsm; void sccp_scoc_show_connections(struct vty *vty, struct osmo_sccp_instance *inst); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17911 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Icbc06ed2c8d2bd5c63716945c3df923ea4de7886 Gerrit-Change-Number: 17911 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 Apr 20 17:37:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 17:37:33 +0000 Subject: Change in libosmo-sccp[master]: sccp_internal.h: fix compilation with gcc-10 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17911 ) Change subject: sccp_internal.h: fix compilation with gcc-10 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17911 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Icbc06ed2c8d2bd5c63716945c3df923ea4de7886 Gerrit-Change-Number: 17911 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 20 Apr 2020 17: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 Mon Apr 20 17:43:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 17:43:48 +0000 Subject: Change in libosmocore[master]: gsm0503_parity: Fix compilation with gcc-10 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17910 ) Change subject: gsm0503_parity: Fix compilation with gcc-10 ...................................................................... gsm0503_parity: Fix compilation with gcc-10 /usr/bin/ld: .libs/gsm0503_coding.o:/home/laforge/projects/git/libosmocore/src/coding/../../include/osmocom/coding/gsm0503_parity.h:16: multiple definition of `gsm0503_mcs_crc12'; .libs/gsm0503_parity.o:/home/laforge/projects/git/libosmocore/src/coding/../../include/osmocom/coding/gsm0503_parity.h:16: first defined here Change-Id: I15945bbf59c873e50154c40fed0ba3d6b4d7c399 --- M include/osmocom/coding/gsm0503_parity.h 1 file changed, 10 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/include/osmocom/coding/gsm0503_parity.h b/include/osmocom/coding/gsm0503_parity.h index c35477f..bda5f99 100644 --- a/include/osmocom/coding/gsm0503_parity.h +++ b/include/osmocom/coding/gsm0503_parity.h @@ -10,15 +10,15 @@ * @{ * \file gsm0503_parity.h */ -const struct osmo_crc64gen_code gsm0503_fire_crc40; -const struct osmo_crc16gen_code gsm0503_cs234_crc16; -const struct osmo_crc8gen_code gsm0503_mcs_crc8_hdr; -const struct osmo_crc16gen_code gsm0503_mcs_crc12; -const struct osmo_crc8gen_code gsm0503_rach_crc6; -const struct osmo_crc16gen_code gsm0503_sch_crc10; -const struct osmo_crc8gen_code gsm0503_tch_fr_crc3; -const struct osmo_crc8gen_code gsm0503_tch_efr_crc8; -const struct osmo_crc8gen_code gsm0503_amr_crc6; -const struct osmo_crc16gen_code gsm0503_amr_crc14; +extern const struct osmo_crc64gen_code gsm0503_fire_crc40; +extern const struct osmo_crc16gen_code gsm0503_cs234_crc16; +extern const struct osmo_crc8gen_code gsm0503_mcs_crc8_hdr; +extern const struct osmo_crc16gen_code gsm0503_mcs_crc12; +extern const struct osmo_crc8gen_code gsm0503_rach_crc6; +extern const struct osmo_crc16gen_code gsm0503_sch_crc10; +extern const struct osmo_crc8gen_code gsm0503_tch_fr_crc3; +extern const struct osmo_crc8gen_code gsm0503_tch_efr_crc8; +extern const struct osmo_crc8gen_code gsm0503_amr_crc6; +extern const struct osmo_crc16gen_code gsm0503_amr_crc14; /*! @} */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17910 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I15945bbf59c873e50154c40fed0ba3d6b4d7c399 Gerrit-Change-Number: 17910 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 Mon Apr 20 17:48:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 17:48:10 +0000 Subject: Change in osmo-sgsn[master]: gtphub_test: Fix compilation with gcc-10 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17912 ) Change subject: gtphub_test: Fix compilation with gcc-10 ...................................................................... gtphub_test: Fix compilation with gcc-10 /usr/bin/ld: ../../src/gtphub/gtphub.o:/home/laforge/projects/git/osmo-sgsn/src/gtphub/gtphub.c:50: multiple definition of `osmo_gtphub_ctx'; gtphub_test.o:/home/laforge/projects/git/osmo-sgsn/tests/gtphub/gtphub_test.c:57: first defined here collect2: error: ld returned 1 exit status See also https://alioth-lists.debian.net/pipermail/debian-mobcom-maintainers/Week-of-Mon-20200413/000653.html Change-Id: I19c1eef6649d2747f0b624f5292d7ae47c4ca839 --- M tests/gtphub/gtphub_test.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/12/17912/1 diff --git a/tests/gtphub/gtphub_test.c b/tests/gtphub/gtphub_test.c index 2e48bb1..ed46176 100644 --- a/tests/gtphub/gtphub_test.c +++ b/tests/gtphub/gtphub_test.c @@ -54,7 +54,7 @@ void gtphub_init(struct gtphub *hub); void gtphub_free(struct gtphub *hub); -void *osmo_gtphub_ctx; +extern void *osmo_gtphub_ctx; static void nr_mapping_free(struct expiring_item *e) { -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17912 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I19c1eef6649d2747f0b624f5292d7ae47c4ca839 Gerrit-Change-Number: 17912 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 Apr 20 17:54:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 17:54:34 +0000 Subject: Change in osmo-msc[master]: vlr_auth_fsm: Fix compilation with gcc-10 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/17913 ) Change subject: vlr_auth_fsm: Fix compilation with gcc-10 ...................................................................... vlr_auth_fsm: Fix compilation with gcc-10 See also: https://alioth-lists.debian.net/pipermail/debian-mobcom-maintainers/Week-of-Mon-20200413/000650.html Change-Id: If3fdbfa20dec02ba57c582700dff12ebbb7d9439 --- M src/libvlr/vlr_auth_fsm.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/13/17913/1 diff --git a/src/libvlr/vlr_auth_fsm.h b/src/libvlr/vlr_auth_fsm.h index 4be889f..73ab53f 100644 --- a/src/libvlr/vlr_auth_fsm.h +++ b/src/libvlr/vlr_auth_fsm.h @@ -27,7 +27,7 @@ VLR_AUTH_E_MS_ID_IMSI, }; -struct osmo_fsm vlr_auth_fsm; +extern struct osmo_fsm vlr_auth_fsm; struct osmo_fsm_inst *auth_fsm_start(struct vlr_subscr *vsub, struct osmo_fsm_inst *parent, -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If3fdbfa20dec02ba57c582700dff12ebbb7d9439 Gerrit-Change-Number: 17913 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 Apr 20 17:57:35 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Mon, 20 Apr 2020 17:57:35 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: rafael2k has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c File src/osmo-bts-litecell15/l1_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c at 1722 PS4, Line 1722: fl1h->hw_alive.dsp_alive_timer.cb = dsp_alive_timer_cb; > Isn't the return of -EIO key to the whole point of the thing? [?] Which logic error you see? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 6 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Mon, 20 Apr 2020 17:57:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: keith Comment-In-Reply-To: rafael2k Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 17:59:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 17:59:41 +0000 Subject: Change in osmo-bsc[master]: handorer.h: Fix compilation with gcc-10 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17914 ) Change subject: handorer.h: Fix compilation with gcc-10 ...................................................................... handorer.h: Fix compilation with gcc-10 /usr/bin/ld: bsc_subscr_conn_fsm.o:/home/laforge/projects/git/osmo-bsc/src/osmo-bsc/../../include/osmocom/bsc/handover.h:26: multiple definition of `mr'; abis_rsl.o:/home/laforge/projects/git/osmo-bsc/src/osmo-bsc/../../include/osmocom/bsc/handover.h:26: first defined here See also https://alioth-lists.debian.net/pipermail/debian-mobcom-maintainers/Week-of-Mon-20200413/000649.html Change-Id: Ic21af84f2a6de48d220940f30dad02a0e7683ce8 --- M include/osmocom/bsc/handover.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/14/17914/1 diff --git a/include/osmocom/bsc/handover.h b/include/osmocom/bsc/handover.h index b00ee60..d22ac86 100644 --- a/include/osmocom/bsc/handover.h +++ b/include/osmocom/bsc/handover.h @@ -23,7 +23,7 @@ struct gsm_lchan; struct gsm_bts; struct gsm_subscriber_connection; -struct gsm_meas_rep mr; +struct gsm_meas_rep; enum handover_result { HO_RESULT_OK, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17914 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic21af84f2a6de48d220940f30dad02a0e7683ce8 Gerrit-Change-Number: 17914 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 Apr 20 18:02:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:02:01 +0000 Subject: Change in osmo-iuh[master]: Fix compilation with gcc-10 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17915 ) Change subject: Fix compilation with gcc-10 ...................................................................... Fix compilation with gcc-10 /usr/bin/ld: test_common.o:(.bss+0x0): multiple definition of `talloc_asn1_ctx'; test-helpers.o:(.bss+0x0): first defined here See also https://alioth-lists.debian.net/pipermail/debian-mobcom-maintainers/Week-of-Mon-20200413/000652.html Change-Id: I4ce41158bb27e6b9242613106f226fc86995c53c --- M src/tests/test-helpers.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/15/17915/1 diff --git a/src/tests/test-helpers.c b/src/tests/test-helpers.c index 08236fa..6a6a4d1 100644 --- a/src/tests/test-helpers.c +++ b/src/tests/test-helpers.c @@ -33,7 +33,7 @@ #include int asn1_xer_print = 0; -void *talloc_asn1_ctx; +extern void *talloc_asn1_ctx; /* use odd number of digits */ const uint8_t imsi_encoded[] = { 0x10, 0x32, 0x54, 0x76, 0xF8 }; -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17915 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I4ce41158bb27e6b9242613106f226fc86995c53c Gerrit-Change-Number: 17915 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 Apr 20 18:02:40 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Mon, 20 Apr 2020 18:02:40 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: rafael2k has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c File src/osmo-bts-litecell15/l1_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c at 1608 PS4, Line 1608: static void dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) > By this logic, one should also submit a patch to change activate_rf_compl_cb() to void and remove th [?] Could you be explicit on which change do you want to be made? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 6 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Mon, 20 Apr 2020 18:02:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: keith Comment-In-Reply-To: rafael2k Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 18:10:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:10:41 +0000 Subject: Change in osmo-bts[master]: fix compilation with gcc-10 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17916 ) Change subject: fix compilation with gcc-10 ...................................................................... fix compilation with gcc-10 /usr/bin/ld: /home/laforge/projects/git/osmo-bts/tests/sysmobts/../../src/osmo-bts-sysmo/tch.c:584: undefined reference to `femtobts_tch_pl_names' /usr/bin/ld: l1_transp_hw.o:/home/laforge/projects/git/osmo-bts/src/osmo-bts-sysmo/femtobts.h:108: multiple definition of `pdch_msu_size'; main.o:/home/laforge/projects/git/osmo-bts/src/osmo-bts-sysmo/femtobts.h:108: first defined here /usr/bin/ld: l1_transp_hw.o:/home/laforge/projects/git/osmo-bts/src/osmo-bts-sysmo/femtobts.h:71: multiple definition of `femtobts_l1prim_type'; main.o:/home/laforge/projects/git/osmo-bts/src/osmo-bts-sysmo/femtobts.h:71: first defined here see also: https://alioth-lists.debian.net/pipermail/debian-mobcom-maintainers/Week-of-Mon-20200413/000651.html Change-Id: I4a9896153876fcda496365776883827746205f00 --- M include/osmo-bts/gsm_data_shared.h M include/osmo-bts/scheduler_backend.h M src/osmo-bts-litecell15/lc15bts.h M src/osmo-bts-oc2g/oc2gbts.h M src/osmo-bts-sysmo/femtobts.h M tests/sysmobts/Makefile.am 6 files changed, 43 insertions(+), 42 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/16/17916/1 diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index 3316670..53a6d7a 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -342,13 +342,13 @@ return get_value_string(lchan_ciph_state_names, state); } -enum { +enum gsm_bts_trx_ts_flags { TS_F_PDCH_ACTIVE = 0x1000, TS_F_PDCH_ACT_PENDING = 0x2000, TS_F_PDCH_DEACT_PENDING = 0x4000, TS_F_PDCH_PENDING_MASK = 0x6000 /*< TS_F_PDCH_ACT_PENDING | TS_F_PDCH_DEACT_PENDING */ -} gsm_bts_trx_ts_flags; +}; /* One Timeslot in a TRX */ struct gsm_bts_trx_ts { @@ -799,8 +799,8 @@ const char *btsvariant2str(enum gsm_bts_type_variant v); extern const struct value_string gsm_chreq_descs[]; -const struct value_string gsm_pchant_names[13]; -const struct value_string gsm_pchant_descs[13]; +extern const struct value_string gsm_pchant_names[13]; +extern const struct value_string gsm_pchant_descs[13]; const char *gsm_pchan_name(enum gsm_phys_chan_config c); enum gsm_phys_chan_config gsm_pchan_parse(const char *name); const char *gsm_lchant_name(enum gsm_chan_t c); diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index 4959853..201b48c 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -38,8 +38,8 @@ extern const ubit_t _sched_tsc[8][26]; extern const ubit_t _sched_egprs_tsc[8][78]; -const ubit_t _sched_fcch_burst[148]; -const ubit_t _sched_sch_train[64]; +extern const ubit_t _sched_fcch_burst[148]; +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); diff --git a/src/osmo-bts-litecell15/lc15bts.h b/src/osmo-bts-litecell15/lc15bts.h index 4c40db0..31ca923 100644 --- a/src/osmo-bts-litecell15/lc15bts.h +++ b/src/osmo-bts-litecell15/lc15bts.h @@ -23,24 +23,24 @@ }; enum l1prim_type lc15bts_get_l1prim_type(GsmL1_PrimId_t id); -const struct value_string lc15bts_l1prim_names[GsmL1_PrimId_NUM+1]; +extern const struct value_string lc15bts_l1prim_names[GsmL1_PrimId_NUM+1]; GsmL1_PrimId_t lc15bts_get_l1prim_conf(GsmL1_PrimId_t id); enum l1prim_type lc15bts_get_sysprim_type(Litecell15_PrimId_t id); -const struct value_string lc15bts_sysprim_names[Litecell15_PrimId_NUM+1]; +extern const struct value_string lc15bts_sysprim_names[Litecell15_PrimId_NUM+1]; Litecell15_PrimId_t lc15bts_get_sysprim_conf(Litecell15_PrimId_t id); -const struct value_string lc15bts_l1sapi_names[GsmL1_Sapi_NUM+1]; -const struct value_string lc15bts_l1status_names[GSML1_STATUS_NUM+1]; +extern const struct value_string lc15bts_l1sapi_names[GsmL1_Sapi_NUM+1]; +extern const struct value_string lc15bts_l1status_names[GSML1_STATUS_NUM+1]; -const struct value_string lc15bts_tracef_names[29]; -const struct value_string lc15bts_tracef_docs[29]; +extern const struct value_string lc15bts_tracef_names[29]; +extern const struct value_string lc15bts_tracef_docs[29]; -const struct value_string lc15bts_tch_pl_names[15]; +extern const struct value_string lc15bts_tch_pl_names[15]; -const struct value_string lc15bts_clksrc_names[10]; +extern const struct value_string lc15bts_clksrc_names[10]; -const struct value_string lc15bts_dir_names[6]; +extern const struct value_string lc15bts_dir_names[6]; enum pdch_cs { PDCH_CS_1, @@ -59,6 +59,6 @@ _NUM_PDCH_CS }; -const uint8_t pdch_msu_size[_NUM_PDCH_CS]; +extern const uint8_t pdch_msu_size[_NUM_PDCH_CS]; #endif /* LC15BTS_H */ diff --git a/src/osmo-bts-oc2g/oc2gbts.h b/src/osmo-bts-oc2g/oc2gbts.h index 9eb8745..80fd1d5 100644 --- a/src/osmo-bts-oc2g/oc2gbts.h +++ b/src/osmo-bts-oc2g/oc2gbts.h @@ -39,26 +39,26 @@ }; enum l1prim_type oc2gbts_get_l1prim_type(GsmL1_PrimId_t id); -const struct value_string oc2gbts_l1prim_names[GsmL1_PrimId_NUM+1]; +extern const struct value_string oc2gbts_l1prim_names[GsmL1_PrimId_NUM+1]; GsmL1_PrimId_t oc2gbts_get_l1prim_conf(GsmL1_PrimId_t id); enum l1prim_type oc2gbts_get_sysprim_type(Oc2g_PrimId_t id); -const struct value_string oc2gbts_sysprim_names[Oc2g_PrimId_NUM+1]; +extern const struct value_string oc2gbts_sysprim_names[Oc2g_PrimId_NUM+1]; Oc2g_PrimId_t oc2gbts_get_sysprim_conf(Oc2g_PrimId_t id); -const struct value_string oc2gbts_l1sapi_names[GsmL1_Sapi_NUM+1]; -const struct value_string oc2gbts_l1status_names[GSML1_STATUS_NUM+1]; +extern const struct value_string oc2gbts_l1sapi_names[GsmL1_Sapi_NUM+1]; +extern const struct value_string oc2gbts_l1status_names[GSML1_STATUS_NUM+1]; -const struct value_string oc2gbts_tracef_names[29]; -const struct value_string oc2gbts_tracef_docs[29]; +extern const struct value_string oc2gbts_tracef_names[29]; +extern const struct value_string oc2gbts_tracef_docs[29]; -const struct value_string oc2gbts_tch_pl_names[15]; +extern const struct value_string oc2gbts_tch_pl_names[15]; -const struct value_string oc2gbts_clksrc_names[10]; +extern const struct value_string oc2gbts_clksrc_names[10]; -const struct value_string oc2gbts_dir_names[6]; +extern const struct value_string oc2gbts_dir_names[6]; -const struct value_string oc2gbts_rsl_ho_causes[IPAC_HO_RQD_CAUSE_MAX]; +extern const struct value_string oc2gbts_rsl_ho_causes[IPAC_HO_RQD_CAUSE_MAX]; enum pdch_cs { PDCH_CS_1, @@ -77,7 +77,7 @@ _NUM_PDCH_CS }; -const uint8_t pdch_msu_size[_NUM_PDCH_CS]; +extern const uint8_t pdch_msu_size[_NUM_PDCH_CS]; /* OC2G default parameters */ #define OC2G_BTS_MAX_CELL_SIZE_DEFAULT 166 /* 166 qbits is default value */ diff --git a/src/osmo-bts-sysmo/femtobts.h b/src/osmo-bts-sysmo/femtobts.h index 9163ebb..b048fc4 100644 --- a/src/osmo-bts-sysmo/femtobts.h +++ b/src/osmo-bts-sysmo/femtobts.h @@ -68,25 +68,25 @@ }; #endif -const enum l1prim_type femtobts_l1prim_type[GsmL1_PrimId_NUM]; -const struct value_string femtobts_l1prim_names[GsmL1_PrimId_NUM+1]; -const GsmL1_PrimId_t femtobts_l1prim_req2conf[GsmL1_PrimId_NUM]; +extern const enum l1prim_type femtobts_l1prim_type[GsmL1_PrimId_NUM]; +extern const struct value_string femtobts_l1prim_names[GsmL1_PrimId_NUM+1]; +extern const GsmL1_PrimId_t femtobts_l1prim_req2conf[GsmL1_PrimId_NUM]; -const enum l1prim_type femtobts_sysprim_type[SuperFemto_PrimId_NUM]; -const struct value_string femtobts_sysprim_names[SuperFemto_PrimId_NUM+1]; -const SuperFemto_PrimId_t femtobts_sysprim_req2conf[SuperFemto_PrimId_NUM]; +extern const enum l1prim_type femtobts_sysprim_type[SuperFemto_PrimId_NUM]; +extern const struct value_string femtobts_sysprim_names[SuperFemto_PrimId_NUM+1]; +extern const SuperFemto_PrimId_t femtobts_sysprim_req2conf[SuperFemto_PrimId_NUM]; -const struct value_string femtobts_l1sapi_names[GsmL1_Sapi_NUM+1]; -const struct value_string femtobts_l1status_names[GSML1_STATUS_NUM+1]; +extern const struct value_string femtobts_l1sapi_names[GsmL1_Sapi_NUM+1]; +extern const struct value_string femtobts_l1status_names[GSML1_STATUS_NUM+1]; -const struct value_string femtobts_tracef_names[29]; -const struct value_string femtobts_tracef_docs[29]; +extern const struct value_string femtobts_tracef_names[29]; +extern const struct value_string femtobts_tracef_docs[29]; -const struct value_string femtobts_tch_pl_names[15]; -const struct value_string femtobts_chcomb_names[8]; -const struct value_string femtobts_clksrc_names[10]; +extern const struct value_string femtobts_tch_pl_names[15]; +extern const struct value_string femtobts_chcomb_names[8]; +extern const struct value_string femtobts_clksrc_names[10]; -const struct value_string femtobts_dir_names[6]; +extern const struct value_string femtobts_dir_names[6]; enum pdch_cs { PDCH_CS_1, @@ -105,6 +105,6 @@ _NUM_PDCH_CS }; -const uint8_t pdch_msu_size[_NUM_PDCH_CS]; +extern const uint8_t pdch_msu_size[_NUM_PDCH_CS]; #endif /* FEMTOBTS_H */ diff --git a/tests/sysmobts/Makefile.am b/tests/sysmobts/Makefile.am index 0829ca5..53180d1 100644 --- a/tests/sysmobts/Makefile.am +++ b/tests/sysmobts/Makefile.am @@ -13,5 +13,6 @@ $(top_srcdir)/src/osmo-bts-sysmo/calib_file.c \ $(top_srcdir)/src/osmo-bts-sysmo/calib_fixup.c \ $(top_srcdir)/src/osmo-bts-sysmo/misc/sysmobts_par.c \ + $(top_srcdir)/src/osmo-bts-sysmo/femtobts.c \ $(top_srcdir)/src/osmo-bts-sysmo/eeprom.c sysmobts_test_LDADD = $(top_builddir)/src/common/libbts.a $(LIBOSMOABIS_LIBS) $(LDADD) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17916 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4a9896153876fcda496365776883827746205f00 Gerrit-Change-Number: 17916 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 Apr 20 18:14:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:14:27 +0000 Subject: Change in openbsc[master]: fix compilation with gcc-10 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/openbsc/+/17917 ) Change subject: fix compilation with gcc-10 ...................................................................... fix compilation with gcc-10 See also: https://alioth-lists.debian.net/pipermail/debian-mobcom-maintainers/Week-of-Mon-20200413/000648.html Change-Id: I0e9596c3ef26231999c729b5cc408fcaca3790fc --- M openbsc/include/openbsc/gsm_data_shared.h M openbsc/src/libbsc/bsc_subscriber.c 2 files changed, 8 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/17/17917/1 diff --git a/openbsc/include/openbsc/gsm_data_shared.h b/openbsc/include/openbsc/gsm_data_shared.h index e616c12..23acf2f 100644 --- a/openbsc/include/openbsc/gsm_data_shared.h +++ b/openbsc/include/openbsc/gsm_data_shared.h @@ -379,13 +379,13 @@ #endif }; -enum { +enum gsm_bts_trx_ts_flags { TS_F_PDCH_ACTIVE = 0x1000, TS_F_PDCH_ACT_PENDING = 0x2000, TS_F_PDCH_DEACT_PENDING = 0x4000, TS_F_PDCH_PENDING_MASK = 0x6000 /*< TS_F_PDCH_ACT_PENDING | TS_F_PDCH_DEACT_PENDING */ -} gsm_bts_trx_ts_flags; +}; /* One Timeslot in a TRX */ struct gsm_bts_trx_ts { @@ -945,8 +945,8 @@ const char *btsvariant2str(enum gsm_bts_type_variant v); extern const struct value_string gsm_chreq_descs[]; -const struct value_string gsm_pchant_names[13]; -const struct value_string gsm_pchant_descs[13]; +extern const struct value_string gsm_pchant_names[13]; +extern const struct value_string gsm_pchant_descs[13]; const char *gsm_pchan_name(enum gsm_phys_chan_config c); enum gsm_phys_chan_config gsm_pchan_parse(const char *name); const char *gsm_lchant_name(enum gsm_chan_t c); diff --git a/openbsc/src/libbsc/bsc_subscriber.c b/openbsc/src/libbsc/bsc_subscriber.c index 73e61e8..f4300d7 100644 --- a/openbsc/src/libbsc/bsc_subscriber.c +++ b/openbsc/src/libbsc/bsc_subscriber.c @@ -91,6 +91,8 @@ if (bsub) return bsub; bsub = bsc_subscr_alloc(list); + if (!bsub) + return NULL; bsc_subscr_set_imsi(bsub, imsi); return bsub; } @@ -103,6 +105,8 @@ if (bsub) return bsub; bsub = bsc_subscr_alloc(list); + if (!bsub) + return NULL; bsub->tmsi = tmsi; return bsub; } -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/17917 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: I0e9596c3ef26231999c729b5cc408fcaca3790fc Gerrit-Change-Number: 17917 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 Apr 20 18:17:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:17:14 +0000 Subject: Change in osmo-iuh[master]: Fix compilation with gcc-10 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17915 ) Change subject: Fix compilation with gcc-10 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17915 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I4ce41158bb27e6b9242613106f226fc86995c53c Gerrit-Change-Number: 17915 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 20 Apr 2020 18:17: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 Apr 20 18:17:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:17:18 +0000 Subject: Change in osmo-iuh[master]: Fix compilation with gcc-10 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17915 ) Change subject: Fix compilation with gcc-10 ...................................................................... Fix compilation with gcc-10 /usr/bin/ld: test_common.o:(.bss+0x0): multiple definition of `talloc_asn1_ctx'; test-helpers.o:(.bss+0x0): first defined here See also https://alioth-lists.debian.net/pipermail/debian-mobcom-maintainers/Week-of-Mon-20200413/000652.html Change-Id: I4ce41158bb27e6b9242613106f226fc86995c53c --- M src/tests/test-helpers.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/tests/test-helpers.c b/src/tests/test-helpers.c index 08236fa..6a6a4d1 100644 --- a/src/tests/test-helpers.c +++ b/src/tests/test-helpers.c @@ -33,7 +33,7 @@ #include int asn1_xer_print = 0; -void *talloc_asn1_ctx; +extern void *talloc_asn1_ctx; /* use odd number of digits */ const uint8_t imsi_encoded[] = { 0x10, 0x32, 0x54, 0x76, 0xF8 }; -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17915 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I4ce41158bb27e6b9242613106f226fc86995c53c Gerrit-Change-Number: 17915 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 Mon Apr 20 18:18:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:18:00 +0000 Subject: Change in osmo-bsc[master]: handorer.h: Fix compilation with gcc-10 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17914 ) Change subject: handorer.h: Fix compilation with gcc-10 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17914 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic21af84f2a6de48d220940f30dad02a0e7683ce8 Gerrit-Change-Number: 17914 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 20 Apr 2020 18:18: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 Apr 20 18:18:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:18:05 +0000 Subject: Change in osmo-bsc[master]: handorer.h: Fix compilation with gcc-10 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17914 ) Change subject: handorer.h: Fix compilation with gcc-10 ...................................................................... handorer.h: Fix compilation with gcc-10 /usr/bin/ld: bsc_subscr_conn_fsm.o:/home/laforge/projects/git/osmo-bsc/src/osmo-bsc/../../include/osmocom/bsc/handover.h:26: multiple definition of `mr'; abis_rsl.o:/home/laforge/projects/git/osmo-bsc/src/osmo-bsc/../../include/osmocom/bsc/handover.h:26: first defined here See also https://alioth-lists.debian.net/pipermail/debian-mobcom-maintainers/Week-of-Mon-20200413/000649.html Change-Id: Ic21af84f2a6de48d220940f30dad02a0e7683ce8 --- M include/osmocom/bsc/handover.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/handover.h b/include/osmocom/bsc/handover.h index b00ee60..d22ac86 100644 --- a/include/osmocom/bsc/handover.h +++ b/include/osmocom/bsc/handover.h @@ -23,7 +23,7 @@ struct gsm_lchan; struct gsm_bts; struct gsm_subscriber_connection; -struct gsm_meas_rep mr; +struct gsm_meas_rep; enum handover_result { HO_RESULT_OK, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17914 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic21af84f2a6de48d220940f30dad02a0e7683ce8 Gerrit-Change-Number: 17914 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 Apr 20 18:18:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:18:14 +0000 Subject: Change in osmo-msc[master]: vlr_auth_fsm: Fix compilation with gcc-10 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17913 ) Change subject: vlr_auth_fsm: Fix compilation with gcc-10 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If3fdbfa20dec02ba57c582700dff12ebbb7d9439 Gerrit-Change-Number: 17913 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 20 Apr 2020 18:18: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 Apr 20 18:18:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:18:18 +0000 Subject: Change in osmo-msc[master]: vlr_auth_fsm: Fix compilation with gcc-10 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17913 ) Change subject: vlr_auth_fsm: Fix compilation with gcc-10 ...................................................................... vlr_auth_fsm: Fix compilation with gcc-10 See also: https://alioth-lists.debian.net/pipermail/debian-mobcom-maintainers/Week-of-Mon-20200413/000650.html Change-Id: If3fdbfa20dec02ba57c582700dff12ebbb7d9439 --- M src/libvlr/vlr_auth_fsm.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libvlr/vlr_auth_fsm.h b/src/libvlr/vlr_auth_fsm.h index 4be889f..73ab53f 100644 --- a/src/libvlr/vlr_auth_fsm.h +++ b/src/libvlr/vlr_auth_fsm.h @@ -27,7 +27,7 @@ VLR_AUTH_E_MS_ID_IMSI, }; -struct osmo_fsm vlr_auth_fsm; +extern struct osmo_fsm vlr_auth_fsm; struct osmo_fsm_inst *auth_fsm_start(struct vlr_subscr *vsub, struct osmo_fsm_inst *parent, -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If3fdbfa20dec02ba57c582700dff12ebbb7d9439 Gerrit-Change-Number: 17913 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 Apr 20 18:18:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:18:26 +0000 Subject: Change in osmo-sgsn[master]: gtphub_test: Fix compilation with gcc-10 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17912 ) Change subject: gtphub_test: Fix compilation with gcc-10 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17912 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I19c1eef6649d2747f0b624f5292d7ae47c4ca839 Gerrit-Change-Number: 17912 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 20 Apr 2020 18:18: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 Apr 20 18:18:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:18:29 +0000 Subject: Change in osmo-sgsn[master]: gtphub_test: Fix compilation with gcc-10 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17912 ) Change subject: gtphub_test: Fix compilation with gcc-10 ...................................................................... gtphub_test: Fix compilation with gcc-10 /usr/bin/ld: ../../src/gtphub/gtphub.o:/home/laforge/projects/git/osmo-sgsn/src/gtphub/gtphub.c:50: multiple definition of `osmo_gtphub_ctx'; gtphub_test.o:/home/laforge/projects/git/osmo-sgsn/tests/gtphub/gtphub_test.c:57: first defined here collect2: error: ld returned 1 exit status See also https://alioth-lists.debian.net/pipermail/debian-mobcom-maintainers/Week-of-Mon-20200413/000653.html Change-Id: I19c1eef6649d2747f0b624f5292d7ae47c4ca839 --- M tests/gtphub/gtphub_test.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/tests/gtphub/gtphub_test.c b/tests/gtphub/gtphub_test.c index 2e48bb1..ed46176 100644 --- a/tests/gtphub/gtphub_test.c +++ b/tests/gtphub/gtphub_test.c @@ -54,7 +54,7 @@ void gtphub_init(struct gtphub *hub); void gtphub_free(struct gtphub *hub); -void *osmo_gtphub_ctx; +extern void *osmo_gtphub_ctx; static void nr_mapping_free(struct expiring_item *e) { -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17912 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I19c1eef6649d2747f0b624f5292d7ae47c4ca839 Gerrit-Change-Number: 17912 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 Mon Apr 20 18:19:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:19:06 +0000 Subject: Change in libosmo-sccp[master]: sccp_internal.h: fix compilation with gcc-10 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17911 ) Change subject: sccp_internal.h: fix compilation with gcc-10 ...................................................................... sccp_internal.h: fix compilation with gcc-10 /usr/bin/ld: .libs/sccp_helpers.o:/home/laforge/projects/git/libosmo-sccp/src/sccp_internal.h:123: multiple definition of `sccp_scoc_fsm'; .libs/sua.o:/home/laforge/projects/git/libosmo-sccp/src/sccp_internal.h:123: first defined here See also https://alioth-lists.debian.net/pipermail/debian-mobcom-maintainers/Week-of-Mon-20200413/000646.html Change-Id: Icbc06ed2c8d2bd5c63716945c3df923ea4de7886 --- M src/sccp_internal.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/sccp_internal.h b/src/sccp_internal.h index 8df6c9b..98f6d37 100644 --- a/src/sccp_internal.h +++ b/src/sccp_internal.h @@ -120,7 +120,7 @@ struct msgb *sccp_msgb_alloc(const char *name); -struct osmo_fsm sccp_scoc_fsm; +extern struct osmo_fsm sccp_scoc_fsm; void sccp_scoc_show_connections(struct vty *vty, struct osmo_sccp_instance *inst); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17911 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Icbc06ed2c8d2bd5c63716945c3df923ea4de7886 Gerrit-Change-Number: 17911 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 Mon Apr 20 18:19:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:19:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: CBSP_Templates: fix copy+paste error In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17907 ) Change subject: CBSP_Templates: fix copy+paste error ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17907 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: Idd07dce8ccdbfa3d65a78ccfcaa9f43eb04979cd Gerrit-Change-Number: 17907 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 20 Apr 2020 18: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 Mon Apr 20 18:19:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:19:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: HACK: avoid compilation error with TITAN > 6.5.0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17908 ) Change subject: HACK: avoid compilation error with TITAN > 6.5.0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17908 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: Ia401c2d696979c0062872bca8da62c2ea153427b Gerrit-Change-Number: 17908 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 20 Apr 2020 18:19: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 Apr 20 18:19:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:19:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: CBSP_Templates: fix copy+paste error In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17907 ) Change subject: CBSP_Templates: fix copy+paste error ...................................................................... CBSP_Templates: fix copy+paste error Change-Id: Idd07dce8ccdbfa3d65a78ccfcaa9f43eb04979cd --- M library/CBSP_Templates.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn index 57e87e2..fe06150 100644 --- a/library/CBSP_Templates.ttcn +++ b/library/CBSP_Templates.ttcn @@ -635,7 +635,7 @@ } else if (not istemplatekind(compl_list, "omit")) { ies[lengthof(ies)] := tr_CbspNumComplList(compl_list); } - if (istemplatekind(compl_list, "*")) { + if (istemplatekind(cell_list, "*")) { //ies[lengthof(ies)] := tr_CbspCellList ifpresent; } else if (not istemplatekind(cell_list, "omit")) { ies[lengthof(ies)] := tr_CbspCellList(cell_list); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17907 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: Idd07dce8ccdbfa3d65a78ccfcaa9f43eb04979cd Gerrit-Change-Number: 17907 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 Mon Apr 20 18:19:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:19:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: HACK: avoid compilation error with TITAN > 6.5.0 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17908 ) Change subject: HACK: avoid compilation error with TITAN > 6.5.0 ...................................................................... HACK: avoid compilation error with TITAN > 6.5.0 it seems TITAN no longer supports 'ifpresent' in certain situations, see https://www.eclipse.org/forums/index.php/m/1826175/#msg_1826175 Let's make the tests fail if we actually run in those cases, but at least compile fine and be able to execute all the other tests. Change-Id: Ia401c2d696979c0062872bca8da62c2ea153427b --- M library/CBSP_Templates.ttcn 1 file changed, 8 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn index fe06150..49906fe 100644 --- a/library/CBSP_Templates.ttcn +++ b/library/CBSP_Templates.ttcn @@ -368,7 +368,8 @@ tr_NewSerNo(new_ser_nr) }; if (istemplatekind(cell_list, "*")) { - ies[lengthof(ies)] := tr_CbspCellList ifpresent; + testcase.stop("TITAN > 6.5.0 doesn't support this"); + //ies[lengthof(ies)] := tr_CbspCellList ifpresent; } else if (istemplatekind(cell_list, "?")) { ies[lengthof(ies)] := tr_CbspCellList(?); } else if (not istemplatekind(cell_list, "omit")) { @@ -411,7 +412,8 @@ tr_CbspNumComplList(compl_list) }; if (istemplatekind(cell_list, "*")) { - ies[lengthof(ies)] := tr_CbspCellList ifpresent; + testcase.stop("TITAN > 6.5.0 doesn't support this"); + //ies[lengthof(ies)] := tr_CbspCellList ifpresent; } else if (istemplatekind(cell_list, "?")) { ies[lengthof(ies)] := tr_CbspCellList(?); } else if (not istemplatekind(cell_list, "omit")) { @@ -464,7 +466,8 @@ ies[lengthof(ies)] := tr_CbspNumComplList(compl_list); } if (istemplatekind(cell_list, "*")) { - ies[lengthof(ies)] := tr_CbspCellList ifpresent; + testcase.stop("TITAN > 6.5.0 doesn't support this"); + //ies[lengthof(ies)] := tr_CbspCellList ifpresent; } else if (istemplatekind(cell_list, "?")) { ies[lengthof(ies)] := tr_CbspCellList(?); } else if (not istemplatekind(cell_list, "omit")) { @@ -641,7 +644,8 @@ ies[lengthof(ies)] := tr_CbspCellList(cell_list); } if (istemplatekind(channel_ind, "*")) { - ies[lengthof(ies)] := tr_CbspChannelInd(?) ifpresent; + testcase.stop("TITAN > 6.5.0 doesn't support this"); + //ies[lengthof(ies)] := tr_CbspChannelInd(?) ifpresent; } else if (not istemplatekind(channel_ind, "omit")) { ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17908 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: Ia401c2d696979c0062872bca8da62c2ea153427b Gerrit-Change-Number: 17908 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 Mon Apr 20 18:19:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:19:48 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: Avoid rejecting AMR in uplink In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17453 ) Change subject: osmo-bts-virtual: Avoid rejecting AMR in uplink ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib527a9fe02c49f6129c376424480aa1004f9ee8f Gerrit-Change-Number: 17453 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 18:19:48 +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 Apr 20 18:34:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:34:46 +0000 Subject: Change in osmo-bts[master]: fix compilation with gcc-10 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17916 ) Change subject: fix compilation with gcc-10 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17916 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4a9896153876fcda496365776883827746205f00 Gerrit-Change-Number: 17916 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 20 Apr 2020 18:34: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 Apr 20 18:34:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 18:34:52 +0000 Subject: Change in osmo-bts[master]: fix compilation with gcc-10 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17916 ) Change subject: fix compilation with gcc-10 ...................................................................... fix compilation with gcc-10 /usr/bin/ld: /home/laforge/projects/git/osmo-bts/tests/sysmobts/../../src/osmo-bts-sysmo/tch.c:584: undefined reference to `femtobts_tch_pl_names' /usr/bin/ld: l1_transp_hw.o:/home/laforge/projects/git/osmo-bts/src/osmo-bts-sysmo/femtobts.h:108: multiple definition of `pdch_msu_size'; main.o:/home/laforge/projects/git/osmo-bts/src/osmo-bts-sysmo/femtobts.h:108: first defined here /usr/bin/ld: l1_transp_hw.o:/home/laforge/projects/git/osmo-bts/src/osmo-bts-sysmo/femtobts.h:71: multiple definition of `femtobts_l1prim_type'; main.o:/home/laforge/projects/git/osmo-bts/src/osmo-bts-sysmo/femtobts.h:71: first defined here see also: https://alioth-lists.debian.net/pipermail/debian-mobcom-maintainers/Week-of-Mon-20200413/000651.html Change-Id: I4a9896153876fcda496365776883827746205f00 --- M include/osmo-bts/gsm_data_shared.h M include/osmo-bts/scheduler_backend.h M src/osmo-bts-litecell15/lc15bts.h M src/osmo-bts-oc2g/oc2gbts.h M src/osmo-bts-sysmo/femtobts.h M tests/sysmobts/Makefile.am 6 files changed, 43 insertions(+), 42 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index 3316670..53a6d7a 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -342,13 +342,13 @@ return get_value_string(lchan_ciph_state_names, state); } -enum { +enum gsm_bts_trx_ts_flags { TS_F_PDCH_ACTIVE = 0x1000, TS_F_PDCH_ACT_PENDING = 0x2000, TS_F_PDCH_DEACT_PENDING = 0x4000, TS_F_PDCH_PENDING_MASK = 0x6000 /*< TS_F_PDCH_ACT_PENDING | TS_F_PDCH_DEACT_PENDING */ -} gsm_bts_trx_ts_flags; +}; /* One Timeslot in a TRX */ struct gsm_bts_trx_ts { @@ -799,8 +799,8 @@ const char *btsvariant2str(enum gsm_bts_type_variant v); extern const struct value_string gsm_chreq_descs[]; -const struct value_string gsm_pchant_names[13]; -const struct value_string gsm_pchant_descs[13]; +extern const struct value_string gsm_pchant_names[13]; +extern const struct value_string gsm_pchant_descs[13]; const char *gsm_pchan_name(enum gsm_phys_chan_config c); enum gsm_phys_chan_config gsm_pchan_parse(const char *name); const char *gsm_lchant_name(enum gsm_chan_t c); diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index 4959853..201b48c 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -38,8 +38,8 @@ extern const ubit_t _sched_tsc[8][26]; extern const ubit_t _sched_egprs_tsc[8][78]; -const ubit_t _sched_fcch_burst[148]; -const ubit_t _sched_sch_train[64]; +extern const ubit_t _sched_fcch_burst[148]; +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); diff --git a/src/osmo-bts-litecell15/lc15bts.h b/src/osmo-bts-litecell15/lc15bts.h index 4c40db0..31ca923 100644 --- a/src/osmo-bts-litecell15/lc15bts.h +++ b/src/osmo-bts-litecell15/lc15bts.h @@ -23,24 +23,24 @@ }; enum l1prim_type lc15bts_get_l1prim_type(GsmL1_PrimId_t id); -const struct value_string lc15bts_l1prim_names[GsmL1_PrimId_NUM+1]; +extern const struct value_string lc15bts_l1prim_names[GsmL1_PrimId_NUM+1]; GsmL1_PrimId_t lc15bts_get_l1prim_conf(GsmL1_PrimId_t id); enum l1prim_type lc15bts_get_sysprim_type(Litecell15_PrimId_t id); -const struct value_string lc15bts_sysprim_names[Litecell15_PrimId_NUM+1]; +extern const struct value_string lc15bts_sysprim_names[Litecell15_PrimId_NUM+1]; Litecell15_PrimId_t lc15bts_get_sysprim_conf(Litecell15_PrimId_t id); -const struct value_string lc15bts_l1sapi_names[GsmL1_Sapi_NUM+1]; -const struct value_string lc15bts_l1status_names[GSML1_STATUS_NUM+1]; +extern const struct value_string lc15bts_l1sapi_names[GsmL1_Sapi_NUM+1]; +extern const struct value_string lc15bts_l1status_names[GSML1_STATUS_NUM+1]; -const struct value_string lc15bts_tracef_names[29]; -const struct value_string lc15bts_tracef_docs[29]; +extern const struct value_string lc15bts_tracef_names[29]; +extern const struct value_string lc15bts_tracef_docs[29]; -const struct value_string lc15bts_tch_pl_names[15]; +extern const struct value_string lc15bts_tch_pl_names[15]; -const struct value_string lc15bts_clksrc_names[10]; +extern const struct value_string lc15bts_clksrc_names[10]; -const struct value_string lc15bts_dir_names[6]; +extern const struct value_string lc15bts_dir_names[6]; enum pdch_cs { PDCH_CS_1, @@ -59,6 +59,6 @@ _NUM_PDCH_CS }; -const uint8_t pdch_msu_size[_NUM_PDCH_CS]; +extern const uint8_t pdch_msu_size[_NUM_PDCH_CS]; #endif /* LC15BTS_H */ diff --git a/src/osmo-bts-oc2g/oc2gbts.h b/src/osmo-bts-oc2g/oc2gbts.h index 9eb8745..80fd1d5 100644 --- a/src/osmo-bts-oc2g/oc2gbts.h +++ b/src/osmo-bts-oc2g/oc2gbts.h @@ -39,26 +39,26 @@ }; enum l1prim_type oc2gbts_get_l1prim_type(GsmL1_PrimId_t id); -const struct value_string oc2gbts_l1prim_names[GsmL1_PrimId_NUM+1]; +extern const struct value_string oc2gbts_l1prim_names[GsmL1_PrimId_NUM+1]; GsmL1_PrimId_t oc2gbts_get_l1prim_conf(GsmL1_PrimId_t id); enum l1prim_type oc2gbts_get_sysprim_type(Oc2g_PrimId_t id); -const struct value_string oc2gbts_sysprim_names[Oc2g_PrimId_NUM+1]; +extern const struct value_string oc2gbts_sysprim_names[Oc2g_PrimId_NUM+1]; Oc2g_PrimId_t oc2gbts_get_sysprim_conf(Oc2g_PrimId_t id); -const struct value_string oc2gbts_l1sapi_names[GsmL1_Sapi_NUM+1]; -const struct value_string oc2gbts_l1status_names[GSML1_STATUS_NUM+1]; +extern const struct value_string oc2gbts_l1sapi_names[GsmL1_Sapi_NUM+1]; +extern const struct value_string oc2gbts_l1status_names[GSML1_STATUS_NUM+1]; -const struct value_string oc2gbts_tracef_names[29]; -const struct value_string oc2gbts_tracef_docs[29]; +extern const struct value_string oc2gbts_tracef_names[29]; +extern const struct value_string oc2gbts_tracef_docs[29]; -const struct value_string oc2gbts_tch_pl_names[15]; +extern const struct value_string oc2gbts_tch_pl_names[15]; -const struct value_string oc2gbts_clksrc_names[10]; +extern const struct value_string oc2gbts_clksrc_names[10]; -const struct value_string oc2gbts_dir_names[6]; +extern const struct value_string oc2gbts_dir_names[6]; -const struct value_string oc2gbts_rsl_ho_causes[IPAC_HO_RQD_CAUSE_MAX]; +extern const struct value_string oc2gbts_rsl_ho_causes[IPAC_HO_RQD_CAUSE_MAX]; enum pdch_cs { PDCH_CS_1, @@ -77,7 +77,7 @@ _NUM_PDCH_CS }; -const uint8_t pdch_msu_size[_NUM_PDCH_CS]; +extern const uint8_t pdch_msu_size[_NUM_PDCH_CS]; /* OC2G default parameters */ #define OC2G_BTS_MAX_CELL_SIZE_DEFAULT 166 /* 166 qbits is default value */ diff --git a/src/osmo-bts-sysmo/femtobts.h b/src/osmo-bts-sysmo/femtobts.h index 9163ebb..b048fc4 100644 --- a/src/osmo-bts-sysmo/femtobts.h +++ b/src/osmo-bts-sysmo/femtobts.h @@ -68,25 +68,25 @@ }; #endif -const enum l1prim_type femtobts_l1prim_type[GsmL1_PrimId_NUM]; -const struct value_string femtobts_l1prim_names[GsmL1_PrimId_NUM+1]; -const GsmL1_PrimId_t femtobts_l1prim_req2conf[GsmL1_PrimId_NUM]; +extern const enum l1prim_type femtobts_l1prim_type[GsmL1_PrimId_NUM]; +extern const struct value_string femtobts_l1prim_names[GsmL1_PrimId_NUM+1]; +extern const GsmL1_PrimId_t femtobts_l1prim_req2conf[GsmL1_PrimId_NUM]; -const enum l1prim_type femtobts_sysprim_type[SuperFemto_PrimId_NUM]; -const struct value_string femtobts_sysprim_names[SuperFemto_PrimId_NUM+1]; -const SuperFemto_PrimId_t femtobts_sysprim_req2conf[SuperFemto_PrimId_NUM]; +extern const enum l1prim_type femtobts_sysprim_type[SuperFemto_PrimId_NUM]; +extern const struct value_string femtobts_sysprim_names[SuperFemto_PrimId_NUM+1]; +extern const SuperFemto_PrimId_t femtobts_sysprim_req2conf[SuperFemto_PrimId_NUM]; -const struct value_string femtobts_l1sapi_names[GsmL1_Sapi_NUM+1]; -const struct value_string femtobts_l1status_names[GSML1_STATUS_NUM+1]; +extern const struct value_string femtobts_l1sapi_names[GsmL1_Sapi_NUM+1]; +extern const struct value_string femtobts_l1status_names[GSML1_STATUS_NUM+1]; -const struct value_string femtobts_tracef_names[29]; -const struct value_string femtobts_tracef_docs[29]; +extern const struct value_string femtobts_tracef_names[29]; +extern const struct value_string femtobts_tracef_docs[29]; -const struct value_string femtobts_tch_pl_names[15]; -const struct value_string femtobts_chcomb_names[8]; -const struct value_string femtobts_clksrc_names[10]; +extern const struct value_string femtobts_tch_pl_names[15]; +extern const struct value_string femtobts_chcomb_names[8]; +extern const struct value_string femtobts_clksrc_names[10]; -const struct value_string femtobts_dir_names[6]; +extern const struct value_string femtobts_dir_names[6]; enum pdch_cs { PDCH_CS_1, @@ -105,6 +105,6 @@ _NUM_PDCH_CS }; -const uint8_t pdch_msu_size[_NUM_PDCH_CS]; +extern const uint8_t pdch_msu_size[_NUM_PDCH_CS]; #endif /* FEMTOBTS_H */ diff --git a/tests/sysmobts/Makefile.am b/tests/sysmobts/Makefile.am index 0829ca5..53180d1 100644 --- a/tests/sysmobts/Makefile.am +++ b/tests/sysmobts/Makefile.am @@ -13,5 +13,6 @@ $(top_srcdir)/src/osmo-bts-sysmo/calib_file.c \ $(top_srcdir)/src/osmo-bts-sysmo/calib_fixup.c \ $(top_srcdir)/src/osmo-bts-sysmo/misc/sysmobts_par.c \ + $(top_srcdir)/src/osmo-bts-sysmo/femtobts.c \ $(top_srcdir)/src/osmo-bts-sysmo/eeprom.c sysmobts_test_LDADD = $(top_builddir)/src/common/libbts.a $(LIBOSMOABIS_LIBS) $(LDADD) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17916 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4a9896153876fcda496365776883827746205f00 Gerrit-Change-Number: 17916 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 Mon Apr 20 18:40:59 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 20 Apr 2020 18:40:59 +0000 Subject: Change in pysim[master]: Test, please ignore References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17918 ) Change subject: Test, please ignore ...................................................................... Test, please ignore Change-Id: Id390ec5d7807acf8660c13f78126e732c7c56814 --- A testme.tst 1 file changed, 0 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/18/17918/1 diff --git a/testme.tst b/testme.tst new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/testme.tst -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17918 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id390ec5d7807acf8660c13f78126e732c7c56814 Gerrit-Change-Number: 17918 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 Apr 20 18:43:39 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 20 Apr 2020 18:43:39 +0000 Subject: Change in pysim[master]: Test, please ignore In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/17918 ) Change subject: Test, please ignore ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17918 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id390ec5d7807acf8660c13f78126e732c7c56814 Gerrit-Change-Number: 17918 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 18:44:38 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 20 Apr 2020 18:44:38 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-amarisoft: turn off other RF libs when building for zmq... References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17919 ) Change subject: jenkins-build-amarisoft: turn off other RF libs when building for zmq driver ...................................................................... jenkins-build-amarisoft: turn off other RF libs when building for zmq driver Change-Id: Ie4819d3f454d74e14829d02fbdc62a12f2d54cd5 --- M contrib/jenkins-build-amarisoft.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/19/17919/1 diff --git a/contrib/jenkins-build-amarisoft.sh b/contrib/jenkins-build-amarisoft.sh index e4b37cc..b07927c 100755 --- a/contrib/jenkins-build-amarisoft.sh +++ b/contrib/jenkins-build-amarisoft.sh @@ -18,7 +18,7 @@ . "$(dirname "$0")/jenkins-build-common.sh" #TODO: make sure libconfig, zeroMQ is installed - build_repo $project_name_srslte + build_repo $project_name_srslte -DENABLE_UHD=False -DENABLE_BLADERF=False -DENABLE_SOAPYSDR=False -DENABLE_ZEROMQ=True git_url="git at github.com:softwareradiosystems" project_name_zmq="amarisoft_dummy_trx" -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17919 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: Ie4819d3f454d74e14829d02fbdc62a12f2d54cd5 Gerrit-Change-Number: 17919 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 Apr 20 18:44:39 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 20 Apr 2020 18:44:39 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-common.sh: also pass additional build flags to CMake References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17920 ) Change subject: jenkins-build-common.sh: also pass additional build flags to CMake ...................................................................... jenkins-build-common.sh: also pass additional build flags to CMake Change-Id: I1c5998d31201505d0a2532f22f905ec155d6c094 --- M contrib/jenkins-build-common.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/20/17920/1 diff --git a/contrib/jenkins-build-common.sh b/contrib/jenkins-build-common.sh index ca8bf02..0dac3a4 100644 --- a/contrib/jenkins-build-common.sh +++ b/contrib/jenkins-build-common.sh @@ -150,7 +150,7 @@ elif [ -f CMakeLists.txt ]; then rm -rf build && mkdir build && cd build || exit 1 set +x; echo; echo; set -x - cmake -DCMAKE_INSTALL_PREFIX=$prefix ../ + cmake -DCMAKE_INSTALL_PREFIX=$prefix $configure_opts ../ else echo "Unknwown build system" && exit 1 fi -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17920 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: I1c5998d31201505d0a2532f22f905ec155d6c094 Gerrit-Change-Number: 17920 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 Apr 20 18:44:39 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 20 Apr 2020 18:44:39 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: use two antenna ports for TM > 1 References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17921 ) Change subject: amarisoft_enb: use two antenna ports for TM > 1 ...................................................................... amarisoft_enb: use two antenna ports for TM > 1 Change-Id: Ia241f96341780760d482d389097659b0f7b897e8 --- M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/21/17921/1 diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 5d146f7..9a07fec 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -89,8 +89,14 @@ "${enb.mcc}${enb.mnc}", ], +% if enb.get('transmission_mode') == '1': n_antenna_dl: 1, /* number of DL antennas */ n_antenna_ul: 1, /* number of UL antennas */ +% else: + n_antenna_dl: 2, /* number of DL antennas */ + n_antenna_ul: 2, /* number of UL antennas */ +% endif + n_rb_dl: ${enb.num_prb}, /* Bandwidth: 25: 5 MHz, 50: 10 MHz, 75: 15 MHz, 100: 20 MHz */ cyclic_prefix: "normal", -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17921 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: Ia241f96341780760d482d389097659b0f7b897e8 Gerrit-Change-Number: 17921 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 Apr 20 18:44:39 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 20 Apr 2020 18:44:39 +0000 Subject: Change in osmo-gsm-tester[master]: enb: refactored rf_args handling for ZMQ-based radio References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17922 ) Change subject: enb: refactored rf_args handling for ZMQ-based radio ...................................................................... enb: refactored rf_args handling for ZMQ-based radio this patch moves the rf_dev_args creation for both eNB types into the eNB base class, since they are identical. the patch also fixes the arguments for all CA and MIMO configurations Change-Id: I8ca3ed83e65dc07927385267e5970bc4f5b120d5 --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py 3 files changed, 57 insertions(+), 54 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/22/17922/1 diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index e0f7be0..3c1f771 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -99,6 +99,59 @@ def num_prb(self): return self._num_prb + #reference: srsLTE.git srslte_symbol_sz() + def num_prb2symbol_sz(self, num_prb): + if num_prb <= 6: + return 128 + if num_prb <= 15: + return 256 + if num_prb <= 25: + return 384 + if num_prb <= 50: + return 768 + if num_prb <= 75: + return 1024 + if num_prb <= 110: + return 1536 + raise log.Error('invalid num_prb %r', num_prb) + + def num_prb2base_srate(self, num_prb): + return self.num_prb2symbol_sz(num_prb) * 15 * 1000 + + def get_zmq_rf_dev_args(self): + base_srate = self.num_prb2base_srate(self.num_prb()) + # Define all 8 possible RF ports (2x CA with 2x2 MIMO) + rf_dev_args = 'fail_on_disconnect=true' \ + + ',tx_port0=tcp://' + self.addr() + ':2000' \ + + ',tx_port1=tcp://' + self.addr() + ':2002' \ + + ',tx_port2=tcp://' + self.addr() + ':2004' \ + + ',tx_port3=tcp://' + self.addr() + ':2006' \ + + ',rx_port0=tcp://' + self.ue.addr() + ':2001' \ + + ',rx_port1=tcp://' + self.ue.addr() + ':2003' \ + + ',rx_port2=tcp://' + self.ue.addr() + ':2005' \ + + ',rx_port3=tcp://' + self.ue.addr() + ':2007' + + if self._num_cells == 1: + # Single carrier + if self.num_ports() == 1: + # SISO + rf_dev_args += ',tx_freq0=2630e6,rx_freq0=2510e6' + elif self.num_ports() == 2: + # MIMO + rf_dev_args += ',tx_freq0=2630e6,tx_freq1=2630e6,rx_freq0=2510e6,rx_freq1=2510e6' + elif self._num_cells == 2: + # 2x class + if self.num_ports() == 1: + # SISO + rf_dev_args += ',tx_freq0=2630e6,tx_freq1=2650e6,rx_freq0=2510e6,rx_freq1=2530e6' + elif self.num_ports() == 2: + # MIMO + rf_dev_args += ',tx_freq0=2630e6,tx_freq1=2630e6,tx_freq2=2650e6,tx_freq3=2650e6,rx_freq0=2510e6,rx_freq1=2510e6,rx_freq2=2530e6,rx_freq3=2530e6' + + rf_dev_args += ',id=enb,base_srate=' + str(base_srate) + + return rf_dev_args + ################### # PUBLIC (test API included) ################### diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index bb48880..ec7063c 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -27,25 +27,6 @@ def rf_type_valid(rf_type_str): return rf_type_str in ('uhd', 'zmq') -#reference: srsLTE.git srslte_symbol_sz() -def num_prb2symbol_sz(num_prb): - if num_prb <= 6: - return 128 - if num_prb <= 15: - return 256 - if num_prb <= 25: - return 384 - if num_prb <= 50: - return 768 - if num_prb <= 75: - return 1024 - if num_prb <= 110: - return 1536 - raise log.Error('invalid num_prb %r', num_prb) - -def num_prb2base_srate(num_prb): - return num_prb2symbol_sz(num_prb) * 15 * 1000 - class AmarisoftENB(enb.eNodeB): REMOTE_DIR = '/osmo-gsm-tester-amarisoftenb' @@ -174,15 +155,10 @@ # 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.num_prb()) - rf_dev_args = 'fail_on_disconnect=true' \ - + ',tx_port0=tcp://' + self.addr() + ':2000' \ - + ',tx_port1=tcp://' + self.addr() + ':2002' \ - + ',rx_port0=tcp://' + self.ue.addr() + ':2001' \ - + ',rx_port1=tcp://' + self.ue.addr() + ':2003' \ - + ',id=enb,base_srate=' + str(base_srate) + base_srate = self.num_prb2base_srate(self.num_prb()) + rf_dev_args = self.get_zmq_rf_dev_args() config.overlay(values, dict(enb=dict(sample_rate = base_srate / (1000*1000), - rf_dev_args=rf_dev_args))) + rf_dev_args = rf_dev_args))) # Set UHD frame size as a function of the cell bandwidth on B2XX if self._conf.get('rf_dev_type') == 'uhd' and values['enb'].get('rf_dev_args', None) is not None: diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index e657b04..243ffaa 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -27,25 +27,6 @@ def rf_type_valid(rf_type_str): return rf_type_str in ('zmq', 'uhd', 'soapy', 'bladerf') -#reference: srsLTE.git srslte_symbol_sz() -def num_prb2symbol_sz(num_prb): - if num_prb <= 6: - return 128 - if num_prb <= 15: - return 256 - if num_prb <= 25: - return 384 - if num_prb <= 50: - return 768 - if num_prb <= 75: - return 1024 - if num_prb <= 110: - return 1536 - raise log.Error('invalid num_prb %r', num_prb) - -def num_prb2base_srate(num_prb): - return num_prb2symbol_sz(num_prb) * 15 * 1000 - class srsENB(enb.eNodeB): REMOTE_DIR = '/osmo-gsm-tester-srsenb' @@ -194,14 +175,7 @@ # 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.num_prb()) - rf_dev_args = 'fail_on_disconnect=true' \ - + ',tx_port=tcp://' + self.addr() + ':2000' \ - + ',tx_port2=tcp://' + self.addr() + ':2002' \ - + ',rx_port=tcp://' + self.ue.addr() + ':2001' \ - + ',rx_port2=tcp://' + self.ue.addr() + ':2003' \ - + ',tx_freq=2630e6,rx_freq=2510e6,tx_freq2=2650e6,rx_freq2=2530e6' \ - + ',id=enb,base_srate=' + str(base_srate) + rf_dev_args = self.get_zmq_rf_dev_args() config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) # Set UHD frame size as a function of the cell bandwidth on B2XX -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17922 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: I8ca3ed83e65dc07927385267e5970bc4f5b120d5 Gerrit-Change-Number: 17922 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 Apr 20 18:44:40 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 20 Apr 2020 18:44:40 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: fix ZMQ radio arguments for CA and MIMO configs References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17923 ) Change subject: ms_srs: fix ZMQ radio arguments for CA and MIMO configs ...................................................................... ms_srs: fix ZMQ radio arguments for CA and MIMO configs similar to the eNB patches this fixes the CA and MIMO radio parameters. In pricinple this could also be reused for the AmarisoftUE but since we currently don't have a means to test it I left it for a future commit. Change-Id: I16b00009f97d61a9ab4715e5d727024661d3d0be --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 32 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/23/17923/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index e6e9196..cdc8d18 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -75,6 +75,7 @@ self.remote_pcap_file = None self.remote_metrics_file = None self.enable_pcap = False + self.num_carriers = 1 self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) self._additional_args = [] @@ -215,16 +216,40 @@ self._additional_args = values['ue'].get('additional_args', '').split() + self.num_carriers = int(values['ue'].get('num_carriers', 1)) + # 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()) - config.overlay(values, dict(ue=dict(rf_dev_args = 'tx_port=tcp://' + self.addr() + ':2001' \ - + ',tx_port2=tcp://' + self.addr() + ':2003' \ - + ',rx_port=tcp://' + self.enb.addr() + ':2000' \ - + ',rx_port2=tcp://' + self.enb.addr() + ':2002' \ - + ',tx_freq=2510e6,rx_freq=2630e6,tx_freq2=2530e6,rx_freq2=2650e6' \ - + ',id=ue,base_srate='+ str(base_srate) - ))) + # Define all 8 possible RF ports (2x CA with 2x2 MIMO) + rf_dev_args = 'tx_port0=tcp://' + self.addr() + ':2001' \ + + ',tx_port1=tcp://' + self.addr() + ':2003' \ + + ',tx_port2=tcp://' + self.addr() + ':2005' \ + + ',tx_port3=tcp://' + self.addr() + ':2007' \ + + ',rx_port0=tcp://' + self.enb.addr() + ':2000' \ + + ',rx_port1=tcp://' + self.enb.addr() + ':2002' \ + + ',rx_port2=tcp://' + self.enb.addr() + ':2004' \ + + ',rx_port3=tcp://' + self.enb.addr() + ':2006' + + if self.num_carriers == 1: + # Single carrier + if self.enb.num_ports() == 1: + # SISO + rf_dev_args += ',rx_freq0=2630e6,tx_freq0=2510e6' + elif self.enb.num_ports() == 2: + # MIMO + rf_dev_args += ',rx_freq0=2630e6,rx_freq1=2630e6,tx_freq0=2510e6,tx_freq1=2510e6' + elif self.num_carriers == 2: + # 2x CA + if self.enb.num_ports() == 1: + # SISO + rf_dev_args += ',rx_freq0=2630e6,rx_freq1=2650e6,tx_freq0=2510e6,tx_freq1=2530e6' + elif self.enb.num_ports() == 2: + # MIMO + rf_dev_args += ',rx_freq0=2630e6,rx_freq1=2630e6,rx_freq2=2650e6,rx_freq3=2650e6,tx_freq0=2510e6,tx_freq1=2510e6,tx_freq2=2530e6,tx_freq3=2530e6' + + rf_dev_args += ',id=ue,base_srate='+ str(base_srate) + config.overlay(values, dict(ue=dict(rf_dev_args=rf_dev_args))) # Set UHD frame size as a function of the cell bandwidth on B2XX if self._conf.get('rf_dev_type') == 'uhd' and values['ue'].get('rf_dev_args', None) is not None: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17923 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: I16b00009f97d61a9ab4715e5d727024661d3d0be Gerrit-Change-Number: 17923 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 Apr 20 18:55:12 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 20 Apr 2020 18:55:12 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g: Introduce sample handover test In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 ) Change subject: suites/4g: Introduce sample handover test ...................................................................... Patch Set 6: Code-Review-1 (5 comments) Looks good. Only a few comments on the reusability of the HO test mainly https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901/6/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/+/17901/6/src/osmo_gsm_tester/obj/ms_srs.py at 284 PS6, Line 284: def _get_counter_handover_success(self): very clever, I like this idea and already have a few more counters ;-) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901/6/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl File src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901/6/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl at 75 PS6, Line 75: ho_active = true; can be left to false until we finish HO in the eNB https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901/6/sysmocom/suites/4g/handover.py File sysmocom/suites/4g/handover.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901/6/sysmocom/suites/4g/handover.py at 24 PS6, Line 24: proc = iperf3cli.prepare_test_proc(False, ue.netns(), 30) can you think of a way to somehow parameterize that test? we already have the iperf time, that's one thing, but more comes below .. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901/6/sysmocom/suites/4g/handover.py at 41 PS6, Line 41: while step < len(cell1_att_li): we iterate once through the list .. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901/6/sysmocom/suites/4g/handover.py at 47 PS6, Line 47: if num_handovers != 2: and check here for exactly 2 HO. The reason I am asking is because we sometime want to run a HO test for 10 minutes and sometimes for 24h. For 24h we would expect >4000 HO perhaps. But the test is essentially the same so it would make sense to parameterize the runtime and pass/fail check. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 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: I0dff4af7e3a89804a03842ad4a4d697bca3a9773 Gerrit-Change-Number: 17901 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Mon, 20 Apr 2020 18:55: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 Mon Apr 20 19:07:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 19:07:00 +0000 Subject: Change in openbsc[master]: fix compilation with gcc-10 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/17917 ) Change subject: fix compilation with gcc-10 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/17917 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: I0e9596c3ef26231999c729b5cc408fcaca3790fc Gerrit-Change-Number: 17917 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 20 Apr 2020 19:07: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 Apr 20 19:07:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 20 Apr 2020 19:07:03 +0000 Subject: Change in openbsc[master]: fix compilation with gcc-10 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/openbsc/+/17917 ) Change subject: fix compilation with gcc-10 ...................................................................... fix compilation with gcc-10 See also: https://alioth-lists.debian.net/pipermail/debian-mobcom-maintainers/Week-of-Mon-20200413/000648.html Change-Id: I0e9596c3ef26231999c729b5cc408fcaca3790fc --- M openbsc/include/openbsc/gsm_data_shared.h M openbsc/src/libbsc/bsc_subscriber.c 2 files changed, 8 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/openbsc/include/openbsc/gsm_data_shared.h b/openbsc/include/openbsc/gsm_data_shared.h index e616c12..23acf2f 100644 --- a/openbsc/include/openbsc/gsm_data_shared.h +++ b/openbsc/include/openbsc/gsm_data_shared.h @@ -379,13 +379,13 @@ #endif }; -enum { +enum gsm_bts_trx_ts_flags { TS_F_PDCH_ACTIVE = 0x1000, TS_F_PDCH_ACT_PENDING = 0x2000, TS_F_PDCH_DEACT_PENDING = 0x4000, TS_F_PDCH_PENDING_MASK = 0x6000 /*< TS_F_PDCH_ACT_PENDING | TS_F_PDCH_DEACT_PENDING */ -} gsm_bts_trx_ts_flags; +}; /* One Timeslot in a TRX */ struct gsm_bts_trx_ts { @@ -945,8 +945,8 @@ const char *btsvariant2str(enum gsm_bts_type_variant v); extern const struct value_string gsm_chreq_descs[]; -const struct value_string gsm_pchant_names[13]; -const struct value_string gsm_pchant_descs[13]; +extern const struct value_string gsm_pchant_names[13]; +extern const struct value_string gsm_pchant_descs[13]; const char *gsm_pchan_name(enum gsm_phys_chan_config c); enum gsm_phys_chan_config gsm_pchan_parse(const char *name); const char *gsm_lchant_name(enum gsm_chan_t c); diff --git a/openbsc/src/libbsc/bsc_subscriber.c b/openbsc/src/libbsc/bsc_subscriber.c index 73e61e8..f4300d7 100644 --- a/openbsc/src/libbsc/bsc_subscriber.c +++ b/openbsc/src/libbsc/bsc_subscriber.c @@ -91,6 +91,8 @@ if (bsub) return bsub; bsub = bsc_subscr_alloc(list); + if (!bsub) + return NULL; bsc_subscr_set_imsi(bsub, imsi); return bsub; } @@ -103,6 +105,8 @@ if (bsub) return bsub; bsub = bsc_subscr_alloc(list); + if (!bsub) + return NULL; bsub->tmsi = tmsi; return bsub; } -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/17917 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: I0e9596c3ef26231999c729b5cc408fcaca3790fc Gerrit-Change-Number: 17917 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 admin at opensuse.org Mon Apr 20 19:22:54 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 20 Apr 2020 19:22:54 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5e9df6ac5bc5e_4a172ad5e03f65fc1617c5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 887s] ^~~~~~~~~~~~~~~~~~~ [ 887s] main.c: In function 'main': [ 887s] main.c:757:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 887s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 887s] ^~~~~~~~~~~~~~~~~~~ [ 887s] main.c:757:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 887s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 887s] ^ [ 887s] cc1: some warnings being treated as errors [ 887s] Makefile:469: recipe for target 'main.o' failed [ 887s] make[3]: *** [main.o] Error 1 [ 887s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 887s] Makefile:402: recipe for target 'all-recursive' failed [ 887s] make[2]: *** [all-recursive] Error 1 [ 887s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 887s] Makefile:349: recipe for target 'all' failed [ 887s] make[1]: *** [all] Error 2 [ 887s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 887s] dh_auto_build: make -j1 returned exit code 2 [ 887s] debian/rules:45: recipe for target 'build' failed [ 887s] make: *** [build] Error 2 [ 887s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 887s] ### VM INTERACTION START ### [ 890s] [ 863.684149] sysrq: SysRq : Power Off [ 891s] [ 863.711609] reboot: Power down [ 892s] ### VM INTERACTION END ### [ 892s] [ 892s] obs-arm-6 failed "build osmo-uecups_0.1.0.dsc" at Mon Apr 20 19:22:47 UTC 2020. [ 892s] -- 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 Apr 20 19:29:20 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 20 Apr 2020 19:29:20 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c File src/osmo-bts-litecell15/l1_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c at 1608 PS4, Line 1608: static void dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) > Could you be explicit on which change do you want to be made? The one that doesn't introduce a compiler warning. At this point, I'd rather defer to somebody else, as I don't know enough about coding standards and style to say if the correct thing here is void because nothing to return and so what if everything else says it should be int. In terms of following the oc2g code, i would just point out that was 99% bulk merged in https://gerrit.osmocom.org/#/c/osmo-bts/+/11447/ and possibly (probably) contains the same non compliance with osmo standards? https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c at 1722 PS4, Line 1722: fl1h->hw_alive.dsp_alive_timer.cb = dsp_alive_timer_cb; > Which logic error you see? I read it wrong; that -EIO won't happen due to the L1 not responding. I still feel however that we're introducing bad code here. Maybe that's fine if it'll all get cleaned up in subsequent unification of oc2g/lc15 I'll just defer.. see if somebody else gives +1 That's all from me. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 4 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Mon, 20 Apr 2020 19:29:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: keith Comment-In-Reply-To: rafael2k Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 20 20:47:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 20:47:47 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-amarisoft: turn off other RF libs when building for zmq... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17919 ) Change subject: jenkins-build-amarisoft: turn off other RF libs when building for zmq driver ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17919 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: Ie4819d3f454d74e14829d02fbdc62a12f2d54cd5 Gerrit-Change-Number: 17919 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 20: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 Mon Apr 20 20:48:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 20:48:41 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-common.sh: also pass additional build flags to CMake In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17920 ) Change subject: jenkins-build-common.sh: also pass additional build flags to CMake ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17920 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: I1c5998d31201505d0a2532f22f905ec155d6c094 Gerrit-Change-Number: 17920 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 20: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 Mon Apr 20 20:50:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 20:50:42 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: use two antenna ports for TM > 1 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17921 ) Change subject: amarisoft_enb: use two antenna ports for TM > 1 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17921/1/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl File src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17921/1/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl at 92 PS1, Line 92: % if enb.get('transmission_mode') == '1': I'd better do an integer check here (we need to investigate why stuff which is clearly an integer in yaml becomes a string at some point...) % if int(enb.get('transmission_mode)) == 1: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17921 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: Ia241f96341780760d482d389097659b0f7b897e8 Gerrit-Change-Number: 17921 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 20:50: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 Apr 20 21:47:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 21:47:00 +0000 Subject: Change in osmo-gsm-tester[master]: enb: refactored rf_args handling for ZMQ-based radio In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17922 ) Change subject: enb: refactored rf_args handling for ZMQ-based radio ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17922/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/+/17922/1/src/osmo_gsm_tester/obj/enb_srs.py at a199 PS1, Line 199: + ',tx_port=tcp://' + self.addr() + ':2000' \ are you sure args are the same in both? I see tx_port0 and tx_port1 being used in the other object.... -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17922 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: I8ca3ed83e65dc07927385267e5970bc4f5b120d5 Gerrit-Change-Number: 17922 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 21:47:00 +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 Apr 20 21:57:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 20 Apr 2020 21:57:00 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: fix ZMQ radio arguments for CA and MIMO configs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17923 ) Change subject: ms_srs: fix ZMQ radio arguments for CA and MIMO configs ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17923/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/+/17923/1/src/osmo_gsm_tester/obj/ms_srs.py at 225 PS1, Line 225: rf_dev_args = 'tx_port0=tcp://' + self.addr() + ':2001' \ so again we change parameter names here. Was it wrong before then? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17923 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: I16b00009f97d61a9ab4715e5d727024661d3d0be Gerrit-Change-Number: 17923 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 20 Apr 2020 21:57:00 +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 Apr 21 07:45:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 21 Apr 2020 07:45:17 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g: Introduce sample handover test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 ) Change subject: suites/4g: Introduce sample handover test ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901/6/sysmocom/suites/4g/handover.py File sysmocom/suites/4g/handover.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901/6/sysmocom/suites/4g/handover.py at 47 PS6, Line 47: if num_handovers != 2: > and check here for exactly 2 HO. [?] The usual way is having the code in a function under 4g/lib/testlib.py and then having several python files (tests) calling that function (see gprs/ suite for instance). If you really want to make some values modifiable every run (is it really needed on the usual workflow?) then I'd go for use of ENV VARS in the test itself. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 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: I0dff4af7e3a89804a03842ad4a4d697bca3a9773 Gerrit-Change-Number: 17901 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Tue, 21 Apr 2020 07:45:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: srs_andre Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Apr 21 09:12:03 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Tue, 21 Apr 2020 09:12:03 +0000 Subject: Change in pysim[master]: commands.py: fix read_binary for lengths > 256 In-Reply-To: References: Message-ID: guilly at gmail.com has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17848 ) Change subject: commands.py: fix read_binary for lengths > 256 ...................................................................... Patch Set 7: (3 comments) > Patch Set 6: Code-Review+2 looks like there was a merge conflict, where can I see the problem with it? I rebased to the latest master, and still can apply the commit is it a coding standard or another check I am missing? https://gerrit.osmocom.org/c/pysim/+/17848/1/pySim/commands.py File pySim/commands.py: https://gerrit.osmocom.org/c/pysim/+/17848/1/pySim/commands.py at 124 PS1, Line 124: data_chunk > Let's rather call it 'chunk_len', the current name is confusing. Ack https://gerrit.osmocom.org/c/pysim/+/17848/1/pySim/commands.py at 124 PS1, Line 124: 0xff > Do we really need to do (X & 0xff) where X is always <= 0xff? Ack https://gerrit.osmocom.org/c/pysim/+/17848/1/pySim/commands.py at 126 PS1, Line 126: sw > We may probably want to check sw here. Ack -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a Gerrit-Change-Number: 17848 Gerrit-PatchSet: 7 Gerrit-Owner: guilly at gmail.com Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: guilly at gmail.com Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 21 Apr 2020 09:12: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 Tue Apr 21 09:36:24 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 21 Apr 2020 09:36:24 +0000 Subject: Change in pysim[master]: commands.py: fix read_binary for lengths > 256 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17848 ) Change subject: commands.py: fix read_binary for lengths > 256 ...................................................................... Patch Set 7: > is it a coding standard or another check I am missing? No, everything is ok. We can merge it now, but let's wait for one more CR+1 (see our rules [1]). [1] https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit/#Voting-Rules-for-merging-a-patch-to-master -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a Gerrit-Change-Number: 17848 Gerrit-PatchSet: 7 Gerrit-Owner: guilly at gmail.com Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: guilly at gmail.com Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 21 Apr 2020 09:36: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 Apr 21 12:29:11 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Tue, 21 Apr 2020 12:29:11 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: rafael2k has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 6: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c File src/osmo-bts-litecell15/l1_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c at 1608 PS4, Line 1608: static void dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) > The one that doesn't introduce a compiler warning. [?] As you can see from the comment in https://gerrit.osmocom.org/c/osmo-bts/+/11447/ , the decision at that time was: "merge this now as-is and then unify with lc15 after merge". I prefer to stick with this position. We are now bringing oc2g and lc15 codebase to a more shared codebase, making the work of unifying them an easier task later. https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c at 1722 PS4, Line 1722: fl1h->hw_alive.dsp_alive_timer.cb = dsp_alive_timer_cb; > I read it wrong; that -EIO won't happen due to the L1 not responding. [?] I'm just sending the lc15 support as done by Nutaq, with minor modifications. With the lc15/oc2g unification, we can make this code better. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 6 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Tue, 21 Apr 2020 12:29:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: keith Comment-In-Reply-To: rafael2k Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Apr 21 12:59:59 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 21 Apr 2020 12:59:59 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-amarisoft: turn off other RF libs when building for zmq... In-Reply-To: References: Message-ID: srs_andre has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17919 ) Change subject: jenkins-build-amarisoft: turn off other RF libs when building for zmq driver ...................................................................... jenkins-build-amarisoft: turn off other RF libs when building for zmq driver Change-Id: Ie4819d3f454d74e14829d02fbdc62a12f2d54cd5 --- M contrib/jenkins-build-amarisoft.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/contrib/jenkins-build-amarisoft.sh b/contrib/jenkins-build-amarisoft.sh index e4b37cc..b07927c 100755 --- a/contrib/jenkins-build-amarisoft.sh +++ b/contrib/jenkins-build-amarisoft.sh @@ -18,7 +18,7 @@ . "$(dirname "$0")/jenkins-build-common.sh" #TODO: make sure libconfig, zeroMQ is installed - build_repo $project_name_srslte + build_repo $project_name_srslte -DENABLE_UHD=False -DENABLE_BLADERF=False -DENABLE_SOAPYSDR=False -DENABLE_ZEROMQ=True git_url="git at github.com:softwareradiosystems" project_name_zmq="amarisoft_dummy_trx" -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17919 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: Ie4819d3f454d74e14829d02fbdc62a12f2d54cd5 Gerrit-Change-Number: 17919 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre 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 Tue Apr 21 13:00:34 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 21 Apr 2020 13:00:34 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-common.sh: also pass additional build flags to CMake In-Reply-To: References: Message-ID: srs_andre has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17920 ) Change subject: jenkins-build-common.sh: also pass additional build flags to CMake ...................................................................... jenkins-build-common.sh: also pass additional build flags to CMake Change-Id: I1c5998d31201505d0a2532f22f905ec155d6c094 --- M contrib/jenkins-build-common.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/contrib/jenkins-build-common.sh b/contrib/jenkins-build-common.sh index ca8bf02..0dac3a4 100644 --- a/contrib/jenkins-build-common.sh +++ b/contrib/jenkins-build-common.sh @@ -150,7 +150,7 @@ elif [ -f CMakeLists.txt ]; then rm -rf build && mkdir build && cd build || exit 1 set +x; echo; echo; set -x - cmake -DCMAKE_INSTALL_PREFIX=$prefix ../ + cmake -DCMAKE_INSTALL_PREFIX=$prefix $configure_opts ../ else echo "Unknwown build system" && exit 1 fi -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17920 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: I1c5998d31201505d0a2532f22f905ec155d6c094 Gerrit-Change-Number: 17920 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre 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 Tue Apr 21 13:05:03 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 21 Apr 2020 13:05:03 +0000 Subject: Change in osmo-gsm-tester[master]: enb: refactored rf_args handling for ZMQ-based radio In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17922 ) Change subject: enb: refactored rf_args handling for ZMQ-based radio ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17922/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/+/17922/1/src/osmo_gsm_tester/obj/enb_srs.py at a199 PS1, Line 199: + ',tx_port=tcp://' + self.addr() + ':2000' \ > are you sure args are the same in both? I see tx_port0 and tx_port1 being used in the other object.. [?] yes it's correct. before we were using another numbering approach but I've streamlined that and hence we can use the same args for both Amarisoft and srsENB -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17922 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: I8ca3ed83e65dc07927385267e5970bc4f5b120d5 Gerrit-Change-Number: 17922 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 21 Apr 2020 13:05:03 +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 Apr 21 13:05:58 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 21 Apr 2020 13:05:58 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: use two antenna ports for TM > 1 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/+/17921 to look at the new patch set (#2). Change subject: amarisoft_enb: use two antenna ports for TM > 1 ...................................................................... amarisoft_enb: use two antenna ports for TM > 1 Change-Id: Ia241f96341780760d482d389097659b0f7b897e8 --- M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/21/17921/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17921 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: Ia241f96341780760d482d389097659b0f7b897e8 Gerrit-Change-Number: 17921 Gerrit-PatchSet: 2 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 Tue Apr 21 13:05:58 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 21 Apr 2020 13:05:58 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_rr.conf.tmpl: extend CQI and SR subframe scheduling References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17924 ) Change subject: srsenb_rr.conf.tmpl: extend CQI and SR subframe scheduling ...................................................................... srsenb_rr.conf.tmpl: extend CQI and SR subframe scheduling this fixes an issues when allocating CQI resources for multiple carriers or multiple users Change-Id: I8b9345502003da2f5b6841a98b77375656e84d8c --- M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/24/17924/1 diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl index 8d261fa..597f6ef 100644 --- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl @@ -36,7 +36,7 @@ { dsr_trans_max = 64; period = 20; // in ms - subframe = [1]; // vector of subframe indices allowed for SR transmissions + subframe = [1, 11, 21, 31]; // vector of subframe indices allowed for SR transmissions // number of PRBs on each extreme used for SR (total prb is twice this number) % if int(enb['num_prb']) <= 6: @@ -50,7 +50,7 @@ mode = "periodic"; simultaneousAckCQI = true; period = 40; // in ms - subframe = [0]; + subframe = [0, 10, 20, 30]; % if int(enb['num_prb']) <= 6: nof_prb = 1; % else: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17924 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: I8b9345502003da2f5b6841a98b77375656e84d8c Gerrit-Change-Number: 17924 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 Apr 21 14:23:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 21 Apr 2020 14:23:07 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: use two antenna ports for TM > 1 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17921 ) Change subject: amarisoft_enb: use two antenna ports for TM > 1 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17921 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: Ia241f96341780760d482d389097659b0f7b897e8 Gerrit-Change-Number: 17921 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 21 Apr 2020 14: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 Apr 21 14:24:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 21 Apr 2020 14:24:05 +0000 Subject: Change in osmo-gsm-tester[master]: enb: refactored rf_args handling for ZMQ-based radio In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17922 ) Change subject: enb: refactored rf_args handling for ZMQ-based radio ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17922 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: I8ca3ed83e65dc07927385267e5970bc4f5b120d5 Gerrit-Change-Number: 17922 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Tue, 21 Apr 2020 14:24: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 Apr 21 14:25:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 21 Apr 2020 14:25:20 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: fix ZMQ radio arguments for CA and MIMO configs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17923 ) Change subject: ms_srs: fix ZMQ radio arguments for CA and MIMO configs ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17923 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: I16b00009f97d61a9ab4715e5d727024661d3d0be Gerrit-Change-Number: 17923 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 21 Apr 2020 14:25: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 Apr 21 14:25:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 21 Apr 2020 14:25:35 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_rr.conf.tmpl: extend CQI and SR subframe scheduling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17924 ) Change subject: srsenb_rr.conf.tmpl: extend CQI and SR subframe scheduling ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17924 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: I8b9345502003da2f5b6841a98b77375656e84d8c Gerrit-Change-Number: 17924 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 21 Apr 2020 14:25: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 Apr 21 14:38:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 21 Apr 2020 14:38:17 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Handle IPv6 SLAAC in tun iface manually In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17825 ) Change subject: sgsnemu: Handle IPv6 SLAAC in tun iface manually ...................................................................... Patch Set 1: Code-Review+2 +1+1=+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iae59cf6ffb181357e10b3080a5c751bd454f4a1f Gerrit-Change-Number: 17825 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 21 Apr 2020 14:38: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 Apr 21 14:39:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 21 Apr 2020 14:39:43 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Handle IPv6 SLAAC in tun iface manually In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17825 ) Change subject: sgsnemu: Handle IPv6 SLAAC in tun iface manually ...................................................................... sgsnemu: Handle IPv6 SLAAC in tun iface manually Disable IPv6 automatic SLAAC by linux kernel and handle it manually. This allows us gaining control on local address acquisition and set addresses and routing properly. It will also allow us to run in ping mode without a tun iface. Related: OS#4434 Change-Id: Iae59cf6ffb181357e10b3080a5c751bd454f4a1f --- M ggsn/ggsn.c M lib/icmpv6.c M lib/icmpv6.h M lib/netdev.c M lib/netdev.h M sgsnemu/sgsnemu.c 6 files changed, 306 insertions(+), 117 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c index 3b10f70..159362f 100644 --- a/ggsn/ggsn.c +++ b/ggsn/ggsn.c @@ -636,11 +636,6 @@ return 0; } -/* RFC3307 link-local scope multicast address */ -static const struct in6_addr all_router_mcast_addr = { - .s6_addr = { 0xff,0x02,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,2 } -}; - /* MS-originated GTP1-U packet, needs to be sent via TUN device */ static int encaps_tun(struct pdp_t *pdp, void *pack, unsigned len) { diff --git a/lib/icmpv6.c b/lib/icmpv6.c index ae72b4c..1bddf65 100644 --- a/lib/icmpv6.c +++ b/lib/icmpv6.c @@ -27,6 +27,7 @@ #include "../gtp/pdp.h" #include "ippool.h" #include "syserr.h" +#include "icmpv6.h" #include "config.h" /* 29.061 11.2.1.3.4 IPv6 Router Configuration Variables in GGSN */ @@ -35,61 +36,11 @@ #define GGSN_AdvValidLifetime 0xffffffff /* infinite */ #define GGSN_AdvPreferredLifetime 0xffffffff /* infinite */ -struct icmpv6_hdr { - uint8_t type; - uint8_t code; - uint16_t csum; -} __attribute__ ((packed)); +/* RFC3307 link-local scope multicast address */ +const struct in6_addr all_router_mcast_addr = { + .s6_addr = { 0xff,0x02,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,2 } +}; -/* RFC4861 Section 4.2 */ -struct icmpv6_radv_hdr { - struct icmpv6_hdr hdr; - uint8_t cur_ho_limit; -#if BYTE_ORDER == LITTLE_ENDIAN - uint8_t res:6, - m:1, - o:1; -#elif BYTE_ORDER == BIG_ENDIAN - uint8_t m:1, - o:1, - res:6; -#else -# error "Please fix " -#endif - uint16_t router_lifetime; - uint32_t reachable_time; - uint32_t retrans_timer; - uint8_t options[0]; -} __attribute__ ((packed)); - -/* RFC4861 Section 4.6 */ -struct icmpv6_opt_hdr { - uint8_t type; - /* length in units of 8 octets, including type+len! */ - uint8_t len; - uint8_t data[0]; -} __attribute__ ((packed)); - -/* RFC4861 Section 4.6.2 */ -struct icmpv6_opt_prefix { - struct icmpv6_opt_hdr hdr; - uint8_t prefix_len; -#if BYTE_ORDER == LITTLE_ENDIAN - uint8_t res:6, - a:1, - l:1; -#elif BYTE_ORDER == BIG_ENDIAN - uint8_t l:1, - a:1, - res:6; -#else -# error "Please fix " -#endif - uint32_t valid_lifetime; - uint32_t preferred_lifetime; - uint32_t res2; - uint8_t prefix[16]; -} __attribute__ ((packed)); /* Prepends the ipv6 header and returns checksum content */ static uint16_t icmpv6_prepend_ip6hdr(struct msgb *msg, const struct in6_addr *saddr, const struct in6_addr *daddr) @@ -115,7 +66,26 @@ return skb_csum; } +/*! construct a RFC4861 compliant ICMPv6 router soliciation + * \param[in] saddr Source IPv6 address for router advertisement + * \param[in] daddr Destination IPv6 address for router advertisement IPv6 header + * \param[in] prefix The single prefix to be advertised (/64 implied!) + * \returns callee-allocated message buffer containing router advertisement */ +struct msgb *icmpv6_construct_rs(const struct in6_addr *saddr) +{ + struct msgb *msg = msgb_alloc_headroom(512,128, "IPv6 RS"); + struct icmpv6_rsol_hdr *rs; + OSMO_ASSERT(msg); + rs = (struct icmpv6_rsol_hdr *) msgb_put(msg, sizeof(*rs)); + rs->hdr.type = 133; /* see RFC4861 4.1 */ + rs->hdr.code = 0; /* see RFC4861 4.1 */ + rs->hdr.csum = 0; /* updated below */ + rs->reserved = 0; /* see RFC4861 4.1 */ + rs->hdr.csum = icmpv6_prepend_ip6hdr(msg, saddr, &all_router_mcast_addr); + + return msg; +} /*! construct a 3GPP 29.061 compliant router advertisement for a given prefix * \param[in] saddr Source IPv6 address for router advertisement * \param[in] daddr Destination IPv6 address for router advertisement IPv6 header @@ -188,6 +158,37 @@ return true; } +/* Validate an ICMPv6 router advertisement according to RFC4861 6.1.2. + Returns pointer packet header on success, NULL otherwise. */ +struct icmpv6_radv_hdr *icmpv6_validate_router_adv(const uint8_t *pack, unsigned len) +{ + const struct ip6_hdr *ip6h = (struct ip6_hdr *)pack; + const struct icmpv6_hdr *ic6h = (struct icmpv6_hdr *) (pack + sizeof(*ip6h)); + + /* ICMP length (derived from IP length) is 16 or more octets */ + if (len < sizeof(*ip6h) + 16) + return NULL; + + if (ic6h->type != 134) /* router advertismenet type */ + return NULL; + + /*Routers must use their link-local address */ + if (!IN6_IS_ADDR_LINKLOCAL(&ip6h->ip6_src)) + return NULL; + /* Hop limit field must have 255 */ + if (ip6h->ip6_ctlun.ip6_un1.ip6_un1_hlim != 255) + return NULL; + /* ICMP Code is 0 */ + if (ic6h->code != 0) + return NULL; + /* ICMP length (derived from IP length) is 16 or more octets */ + if (ip6h->ip6_ctlun.ip6_un1.ip6_un1_plen < 16) + return NULL; + /* FIXME: All included options have a length > 0 */ + /* FIXME: If IP source is unspecified, no source link-layer addr option */ + return (struct icmpv6_radv_hdr *)ic6h; +} + /* handle incoming packets to the all-routers multicast address */ int handle_router_mcast(struct gsn_t *gsn, struct pdp_t *pdp, const struct in6_addr *pdp_prefix, diff --git a/lib/icmpv6.h b/lib/icmpv6.h index bf91e27..44b9b73 100644 --- a/lib/icmpv6.h +++ b/lib/icmpv6.h @@ -1,9 +1,90 @@ #pragma once +#include + +#include +#include + #include "../gtp/gtp.h" #include "../gtp/pdp.h" +#define ICMPv6_OPT_TYPE_PREFIX_INFO 0x03 + +#define foreach_icmpv6_opt(icmpv6_pkt, icmpv6_len, opt_hdr) \ + for (opt_hdr = (struct icmpv6_opt_hdr *)(icmpv6_pkt)->options; \ + (uint8_t*)(opt_hdr) + sizeof(struct icmpv6_opt_hdr) <= (((uint8_t*)(icmpv6_pkt)) + (icmpv6_len)); \ + opt_hdr = (struct icmpv6_opt_hdr*)((uint8_t*)(opt_hdr) + (opt_hdr)->len) \ + ) + +struct icmpv6_hdr { + uint8_t type; + uint8_t code; + uint16_t csum; +} __attribute__ ((packed)); + +/* RFC4861 Section 4.1 */ +struct icmpv6_rsol_hdr { + struct icmpv6_hdr hdr; + uint32_t reserved; + uint8_t options[0]; +} __attribute__ ((packed)); + +/* RFC4861 Section 4.2 */ +struct icmpv6_radv_hdr { + struct icmpv6_hdr hdr; + uint8_t cur_ho_limit; +#if OSMO_IS_LITTLE_ENDIAN + uint8_t res:6, + m:1, + o:1; +#else + uint8_t m:1, + o:1, + res:6; +#endif + uint16_t router_lifetime; + uint32_t reachable_time; + uint32_t retrans_timer; + uint8_t options[0]; +} __attribute__ ((packed)); + + +/* RFC4861 Section 4.6 */ +struct icmpv6_opt_hdr { + uint8_t type; + /* length in units of 8 octets, including type+len! */ + uint8_t len; + uint8_t data[0]; +} __attribute__ ((packed)); + +/* RFC4861 Section 4.6.2 */ +struct icmpv6_opt_prefix { + struct icmpv6_opt_hdr hdr; + uint8_t prefix_len; +#if OSMO_IS_LITTLE_ENDIAN + uint8_t res:6, + a:1, + l:1; +#else + uint8_t l:1, + a:1, + res:6; +#endif + uint32_t valid_lifetime; + uint32_t preferred_lifetime; + uint32_t res2; + uint8_t prefix[16]; +} __attribute__ ((packed)); + +struct msgb *icmpv6_construct_rs(const struct in6_addr *saddr); + int handle_router_mcast(struct gsn_t *gsn, struct pdp_t *pdp, const struct in6_addr *pdp_prefix, const struct in6_addr *own_ll_addr, const uint8_t *pack, unsigned len); + +struct icmpv6_radv_hdr *icmpv6_validate_router_adv(const uint8_t *pack, unsigned len); + + +/* RFC3307 link-local scope multicast address */ +extern const struct in6_addr all_router_mcast_addr; diff --git a/lib/netdev.c b/lib/netdev.c index 4d171c9..fd3caff 100644 --- a/lib/netdev.c +++ b/lib/netdev.c @@ -643,6 +643,59 @@ return 0; } +static int netdev_route6(struct in6_addr *dst, struct in6_addr *gateway, int prefixlen, const char *gw_iface, int delete) +{ + int fd; +#if defined(__linux__) + struct in6_rtmsg r; + struct ifreq ifr; + + memset(&r, 0, sizeof(r)); + r.rtmsg_flags = RTF_UP | RTF_GATEWAY; /* RTF_HOST not set */ + r.rtmsg_metric = 1; + + /* Create a channel to the NET kernel. */ + if ((fd = socket(AF_INET6, SOCK_DGRAM, 0)) < 0) { + SYS_ERR(DTUN, LOGL_ERROR, errno, "socket() failed"); + return -1; + } + + if (gw_iface) { + strncpy(ifr.ifr_name, gw_iface, IFNAMSIZ); + ifr.ifr_name[IFNAMSIZ - 1] = 0; /* Make sure to terminate */ + if (ioctl(fd, SIOCGIFINDEX, &ifr) < 0) { + SYS_ERR(DTUN, LOGL_ERROR, errno, + "ioctl(SIOCGIFINDEX) failed"); + close(fd); + return -1; + } + r.rtmsg_ifindex = ifr.ifr_ifindex; + } + + memcpy(&r.rtmsg_dst, dst->s6_addr, sizeof(struct in6_addr)); + memcpy(&r.rtmsg_gateway, gateway->s6_addr, sizeof(struct in6_addr)); + r.rtmsg_dst_len = prefixlen; + + if (delete) { + if (ioctl(fd, SIOCDELRT, (void *)&r) < 0) { + SYS_ERR(DTUN, LOGL_ERROR, errno, + "ioctl(SIOCDELRT) failed"); + close(fd); + return -1; + } + } else { + if (ioctl(fd, SIOCADDRT, (void *)&r) < 0) { + SYS_ERR(DTUN, LOGL_ERROR, errno, + "ioctl(SIOCADDRT) failed"); + close(fd); + return -1; + } + } + close(fd); +#endif + return 0; +} + int netdev_addroute4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask) { return netdev_route4(dst, gateway, mask, 0); @@ -653,6 +706,18 @@ return netdev_route4(dst, gateway, mask, 1); } +int netdev_addroute6(struct in6_addr *dst, struct in6_addr *gateway, int prefixlen, const char *gw_iface) +{ + return netdev_route6(dst, gateway, prefixlen, gw_iface, 0); +} + +int netdev_delroute6(struct in6_addr *dst, struct in6_addr *gateway, int prefixlen, const char *gw_iface) +{ + return netdev_route6(dst, gateway, prefixlen, gw_iface, 1); +} + + + #include /*! Obtain the local address of a network device diff --git a/lib/netdev.h b/lib/netdev.h index 5dab27f..1bce814 100644 --- a/lib/netdev.h +++ b/lib/netdev.h @@ -67,6 +67,8 @@ extern int netdev_addroute4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask); extern int netdev_delroute4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask); +extern int netdev_addroute6(struct in6_addr *dst, struct in6_addr *gateway, int prefixlen, const char *gw_iface); +extern int netdev_delroute6(struct in6_addr *dst, struct in6_addr *gateway, int prefixlen, const char *gw_iface); extern int netdev_ip_local_get(const char *devname, struct in46_prefix *prefix_list, size_t prefix_size, int flags); diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index ea52da6..69879dd 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -58,6 +58,7 @@ #include "../lib/ippool.h" #include "../lib/syserr.h" #include "../lib/netns.h" +#include "../lib/icmpv6.h" #include "../gtp/pdp.h" #include "../gtp/gtp.h" #include "cmdline.h" @@ -966,41 +967,6 @@ } -/* read a single value from a /procc file, up to 255 bytes, callee-allocated */ -static char *proc_read(const char *path) -{ - char *ret = NULL; - FILE *f; - - f = fopen(path, "r"); - if (!f) - return NULL; - - ret = malloc(256); - if (!ret) - goto out; - - if (!fgets(ret, 256, f)) { - free(ret); - ret = NULL; - goto out; - } - -out: - fclose(f); - return ret; -} - -/* Read value of a /proc/sys/net/ipv6/conf file for given device. - * Memory is dynamically allocated, caller must free it later. */ -static char *proc_ipv6_conf_read(const char *dev, const char *file) -{ - const char *fmt = "/proc/sys/net/ipv6/conf/%s/%s"; - char path[strlen(fmt) + strlen(dev) + strlen(file)+1]; - snprintf(path, sizeof(path), fmt, dev, file); - return proc_read(path); -} - /* write a single value to a /proc file */ static int proc_write(const char *path, const char *value) { @@ -1522,8 +1488,10 @@ if (in46a_is_v4(&addr[i])) { struct in_addr rm; rm.s_addr = 0; - netdev_addroute4(&rm, &addr[i].v4, &rm); - } + if (netdev_addroute4(&rm, &addr[i].v4, &rm) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Failed adding default route to %s", in46a_ntoa(&addr[i])); + } + } /* else: route will be set up once we have a global link address (Router Advertisement) */ } if (options.ipup) tun_runscript(tun, options.ipup); @@ -1532,29 +1500,21 @@ ipset(iph, &addr[i]); } - /* now that ip-up has been executed, check if we are configured to - * accept router advertisements */ if (options.createif && options.pdp_type == PDP_EUA_TYPE_v6) { - char *accept_ra, *forwarding; - - accept_ra = proc_ipv6_conf_read(tun->devname, "accept_ra"); - forwarding = proc_ipv6_conf_read(tun->devname, "forwarding"); - if (!accept_ra || !forwarding) - printf("Could not open proc file for %s ?!?\n", tun->devname); - else { - if (!strcmp(accept_ra, "0")) { - printf("accept_ra=0, i.e. your tun device is not configured to accept " - "router advertisements; SLAAC will not succeed, please " - "fix your setup!\n"); - } - if (!strcmp(forwarding, "1") && !strcmp(accept_ra, "1")) { - printf("forwarding=1 and accept_ra=1, i.e. your tun device is not " - "configured to accept router advertisements; SLAAC will not " - "succeed, please fix your setup!\n"); - } + struct in6_addr *saddr6; + struct msgb *msg; + if (in46a_is_v6(&addr[0])) { + saddr6 = &addr[0].v6; + } else if (num_addr > 1 && in46a_is_v6(&addr[1])) { + saddr6 = &addr[1].v6; + } else { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Failed to find IPv6 EUA on IPv6 APN"); + return EOF; /* Not a valid IP address */ } - free(accept_ra); - free(forwarding); + SYS_ERR(DSGSN, LOGL_INFO, 0, "Sending ICMPv6 Router Soliciation to GGSN..."); + msg = icmpv6_construct_rs(saddr6); + gtp_data_req(gsn, iph->pdp, msgb_data(msg), msgb_length(msg)); + msgb_free(msg); } #if defined(__linux__) @@ -1618,8 +1578,83 @@ } } +static void handle_router_adv(struct ip6_hdr *ip6h, struct icmpv6_radv_hdr *ra, size_t ra_len) +{ + struct icmpv6_opt_hdr *opt_hdr; + struct icmpv6_opt_prefix *opt_prefix; + int rc; + sigset_t oldmask; + struct in6_addr rm; + char ip6strbuf[200]; + memset(&rm, 0, sizeof(rm)); + + SYS_ERR(DSGSN, LOGL_INFO, 0, "Received ICMPv6 Router Advertisement"); + + foreach_icmpv6_opt(ra, ra_len, opt_hdr) { + if (opt_hdr->type == ICMPv6_OPT_TYPE_PREFIX_INFO) { + opt_prefix = (struct icmpv6_opt_prefix *)opt_hdr; + size_t prefix_len_bytes = (opt_prefix->prefix_len + 7)/8; + SYS_ERR(DSGSN, LOGL_INFO, 0, "Parsing OPT Prefix info (prefix_len=%u): %s", + opt_prefix->prefix_len, + osmo_hexdump((const unsigned char *)opt_prefix->prefix, prefix_len_bytes)); + if ((options.createif) && (!options.netaddr.len)) { + struct in46_addr addr; + addr.len = 16; + memcpy(addr.v6.s6_addr, opt_prefix->prefix, prefix_len_bytes); + memset(&addr.v6.s6_addr[prefix_len_bytes], 0, 16 - prefix_len_bytes); + addr.v6.s6_addr[15] = 0x02; + SYS_ERR(DSGSN, LOGL_INFO, 0, "Adding addr %s to tun %s", + in46a_ntoa(&addr), tun->devname); + +#if defined(__linux__) + if ((options.netns)) { + if ((rc = switch_ns(netns, &oldmask)) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, + "Failed to switch to netns %s: %s", + options.netns, strerror(-rc)); + } + } +#endif + rc = tun_addaddr(tun, &addr, NULL, opt_prefix->prefix_len); + if (rc < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Failed to add addr %s to tun %s", + in46a_ntoa(&addr), tun->devname); + } + + struct in6_addr rm; + memset(&rm, 0, sizeof(rm)); + if (netdev_addroute6(&rm, &ip6h->ip6_src, 0, tun->devname) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Failed adding default route to %s", inet_ntop(AF_INET6, &ip6h->ip6_src, ip6strbuf, sizeof(ip6strbuf))); + } + +#if defined(__linux__) + if ((options.netns)) { + if ((rc = restore_ns(&oldmask)) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, + "Failed to switch to original netns: %s", + strerror(-rc)); + } + } +#endif + } + } + } +} + static int encaps_tun(struct pdp_t *pdp, void *pack, unsigned len) { + struct iphdr *iph = (struct iphdr *)pack; + struct icmpv6_radv_hdr *ra; + switch (iph->version) { + case 6: + if ((ra = icmpv6_validate_router_adv(pack, len))) { + size_t ra_len = (uint8_t*)ra - (uint8_t*)pack; + handle_router_adv((struct ip6_hdr *)pack, ra, ra_len); + return 0; + } + break; + } + /* printf("encaps_tun. Packet received: forwarding to tun\n"); */ return tun_encaps((struct tun_t *)pdp->ipif, pack, len); } @@ -1721,6 +1756,12 @@ tun_set_cb_ind(tun, cb_tun_ind); if (tun->fd > maxfd) maxfd = tun->fd; + + if (proc_ipv6_conf_write(options.tun_dev_name, "accept_ra", "0") < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, + "Failed to disable IPv6 SLAAC on %s\n", options.tun_dev_name); + exit(1); + } } if ((options.createif) && (options.netaddr.len)) { @@ -1730,6 +1771,10 @@ struct in_addr rm; rm.s_addr = 0; netdev_addroute4(&rm, &options.netaddr.v4, &rm); + } else { + struct in6_addr rm; + memset(&rm, 0, sizeof(rm)); + netdev_addroute6(&rm, &options.netaddr.v6, 0, tun->devname); } } if (options.ipup) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iae59cf6ffb181357e10b3080a5c751bd454f4a1f Gerrit-Change-Number: 17825 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Tue Apr 21 14:41:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 14:41:22 +0000 Subject: Change in pysim[master]: commands.py: fix read_binary for lengths > 256 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17848 ) Change subject: commands.py: fix read_binary for lengths > 256 ...................................................................... Patch Set 7: I still would like to see a test case for this. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a Gerrit-Change-Number: 17848 Gerrit-PatchSet: 7 Gerrit-Owner: guilly at gmail.com Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: guilly at gmail.com Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 21 Apr 2020 14:41: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 Apr 21 15:27:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 21 Apr 2020 15:27:03 +0000 Subject: Change in pysim[master]: commands.py: fix read_binary for lengths > 256 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17848 ) Change subject: commands.py: fix read_binary for lengths > 256 ...................................................................... Patch Set 7: Code-Review+1 Agree with LaF0rge. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a Gerrit-Change-Number: 17848 Gerrit-PatchSet: 7 Gerrit-Owner: guilly at gmail.com Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: guilly at gmail.com Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 21 Apr 2020 15: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 Tue Apr 21 20:47:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 20:47:40 +0000 Subject: Change in osmo-uecups[master]: dameon: Handle multiple coalesced SIGCHLD References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17925 ) Change subject: dameon: Handle multiple coalesced SIGCHLD ...................................................................... dameon: Handle multiple coalesced SIGCHLD It turns out signalfd is much less useful than one would assume: https://ldpreload.com/blog/signalfd-is-useless Change-Id: I16bc5b7de72843c2ae18b982bfd967a7105313e4 --- M daemon/main.c 1 file changed, 29 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/25/17925/1 diff --git a/daemon/main.c b/daemon/main.c index a408df4..fec6f84 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -334,26 +335,22 @@ return NULL; } -static void sigchild_cb(struct osmo_signalfd *osfd, const struct signalfd_siginfo *fdsi) +static void child_terminated(struct gtp_daemon *d, int pid, int status) { - struct gtp_daemon *d = osfd->data; struct subprocess *sproc; json_t *jterm_ind; - OSMO_ASSERT(fdsi->ssi_signo == SIGCHLD); + LOGP(DUECUPS, LOGL_DEBUG, "SIGCHLD receive from pid %u; status=%d\n", pid, status); - LOGP(DUECUPS, LOGL_DEBUG, "SIGCHLD receive from pid %u; status=%d\n", - fdsi->ssi_pid, fdsi->ssi_status); - - sproc = subprocess_by_pid(d, fdsi->ssi_pid); + sproc = subprocess_by_pid(d, pid); if (!sproc) { LOGP(DUECUPS, LOGL_NOTICE, "subprocess %u terminated (status=%d) but we don't know it?\n", - fdsi->ssi_pid, fdsi->ssi_status); + pid, status); return; } - /* FIXME: generate prog_term_ind towards control plane */ - jterm_ind = gen_uecups_term_ind(fdsi->ssi_pid, fdsi->ssi_status); + /* generate prog_term_ind towards control plane */ + jterm_ind = gen_uecups_term_ind(pid, status); if (!jterm_ind) return; @@ -363,6 +360,28 @@ talloc_free(sproc); } +static void sigchild_cb(struct osmo_signalfd *osfd, const struct signalfd_siginfo *fdsi) +{ + struct gtp_daemon *d = osfd->data; + int pid, status; + + OSMO_ASSERT(fdsi->ssi_signo == SIGCHLD); + + child_terminated(d, fdsi->ssi_pid, fdsi->ssi_status); + + /* it is known that classic signals coalesce: If you get multiple signals of the + * same type before a process is scheduled, the subsequent signaals are dropped. This + * makes sense for SIGINT or something like this, but for SIGCHLD carrying the PID of + * the terminated process, it doesn't really. Linux had the chance to fix this when + * introducing signalfd() - but the developers decided not to fix it. So the signalfd_siginfo + * contains the PID of one process that terminated - but there may be any number of other + * processes that also have terminated, and for which we don't get events this way. */ + + while ((pid = waitpid(-1, &status, WNOHANG)) > 0) + child_terminated(d, pid, status); + +} + static json_t *gen_uecups_start_res(pid_t pid, const char *result) { json_t *ret = gen_uecups_result("start_program_res", result); -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17925 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I16bc5b7de72843c2ae18b982bfd967a7105313e4 Gerrit-Change-Number: 17925 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 Apr 21 20:57:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 20:57:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Add GTPv2_Emulation component In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867 to look at the new patch set (#4). Change subject: Add GTPv2_Emulation component ...................................................................... Add GTPv2_Emulation component Change-Id: If73aa453e44ebf28032c60d207feb03e8061dc0c --- M deps/Makefile A library/GTPv2_Emulation.ttcn M library/GTPv2_Templates.ttcn M library/General_Types.ttcn M library/Osmocom_Types.ttcn 5 files changed, 1,338 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/17867/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867 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: If73aa453e44ebf28032c60d207feb03e8061dc0c Gerrit-Change-Number: 17867 Gerrit-PatchSet: 4 Gerrit-Owner: laforge 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 Apr 21 20:57:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 20:57:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Don't wait for 10s timeout if starting a ping that takes 10s References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17926 ) Change subject: pgw: Don't wait for 10s timeout if starting a ping that takes 10s ...................................................................... pgw: Don't wait for 10s timeout if starting a ping that takes 10s rather, dynamically wait 5s longer than the theoretical time it should take. Change-Id: Ife2b7b8d03ee6808cfa73bb860cc63c46c451499 --- M pgw/PGW_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/17926/1 diff --git a/pgw/PGW_Tests.ttcn b/pgw/PGW_Tests.ttcn index 22e32da..cf3b901 100644 --- a/pgw/PGW_Tests.ttcn +++ b/pgw/PGW_Tests.ttcn @@ -335,7 +335,7 @@ var charstring ping :="ping -c " & int2str(count) & " -i " & int2str(interval); ping := ping & " -I " & f_inet_ntoa(g_ip4_addr); ping := ping & " " & host; - f_start_prog_wait(ping); + f_start_prog_wait(ping, tout := int2float(5 + interval*count)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17926 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: Ife2b7b8d03ee6808cfa73bb860cc63c46c451499 Gerrit-Change-Number: 17926 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 Apr 21 20:57:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 20:57:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Add TC_createSession_ping4_256 to test 256 parallel sessions References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17927 ) Change subject: pgw: Add TC_createSession_ping4_256 to test 256 parallel sessions ...................................................................... pgw: Add TC_createSession_ping4_256 to test 256 parallel sessions Change-Id: I38cfaddfb60952f17846fbf87b1a29c32e646438 --- M pgw/PGW_Tests.ttcn 1 file changed, 38 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/17927/1 diff --git a/pgw/PGW_Tests.ttcn b/pgw/PGW_Tests.ttcn index cf3b901..c99302c 100644 --- a/pgw/PGW_Tests.ttcn +++ b/pgw/PGW_Tests.ttcn @@ -126,6 +126,26 @@ fn.apply(); } +private function f_concat_pad(integer tot_len, hexstring prefix, integer suffix) return hexstring { + var integer suffix_len := tot_len - lengthof(prefix); + var charstring suffix_ch := int2str(suffix); + var integer pad_len := suffix_len - lengthof(suffix_ch); + + return prefix & int2hex(0, pad_len) & str2hex(suffix_ch); +} + +function f_gen_imei(integer suffix) return hexstring { + return f_concat_pad(14, '49999'H, suffix); +} + +function f_gen_imsi(integer suffix) return hexstring { + return f_concat_pad(15, '26242'H, suffix); +} + +function f_gen_msisdn(integer suffix) return hexstring { + return f_concat_pad(12, '49123'H, suffix); +} + /* find TEID of given interface type (and optionally instance) */ private function f_find_teid(FullyQualifiedTEID_List list, @@ -385,6 +405,23 @@ vc_conn := f_start_handler(refers(f_TC_createSession_ping4), pars); vc_conn.done; } +testcase TC_createSession_ping4_256() runs on PGW_Test_CT { + var PGW_Session_CT vc_conn[256]; + var integer i; + + f_init(); + + for (i := 0; i < sizeof(vc_conn); i:=i+1) { + var charstring tundev := "ping" & int2str(i); + var SessionPars pars := valueof(t_SessionPars(f_gen_imsi(i), tundev)); + vc_conn[i] := f_start_handler(refers(f_TC_createSession_ping4), pars); + } + + for (i := 0; i < lengthof(vc_conn); i:=i+1) { + vc_conn[i].done; + } +} + /* create a session, then delete it again */ private function f_TC_createSession_deleteSession() runs on PGW_Session_CT { @@ -422,6 +459,7 @@ execute( TC_tx_echo() ); execute( TC_createSession() ); execute( TC_createSession_ping4() ); + execute( TC_createSession_ping4_256() ); execute( TC_createSession_deleteSession() ); execute( TC_deleteSession_unknown() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17927 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: I38cfaddfb60952f17846fbf87b1a29c32e646438 Gerrit-Change-Number: 17927 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 Apr 21 21:01:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 21:01:01 +0000 Subject: Change in osmo-uecups[master]: dameon: Handle multiple coalesced SIGCHLD In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17925 ) Change subject: dameon: Handle multiple coalesced SIGCHLD ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17925 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I16bc5b7de72843c2ae18b982bfd967a7105313e4 Gerrit-Change-Number: 17925 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 21 Apr 2020 21:01: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 Apr 21 21:01:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 21:01:08 +0000 Subject: Change in osmo-uecups[master]: dameon: Handle multiple coalesced SIGCHLD In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17925 ) Change subject: dameon: Handle multiple coalesced SIGCHLD ...................................................................... dameon: Handle multiple coalesced SIGCHLD It turns out signalfd is much less useful than one would assume: https://ldpreload.com/blog/signalfd-is-useless Change-Id: I16bc5b7de72843c2ae18b982bfd967a7105313e4 --- M daemon/main.c 1 file changed, 29 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/daemon/main.c b/daemon/main.c index a408df4..fec6f84 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -334,26 +335,22 @@ return NULL; } -static void sigchild_cb(struct osmo_signalfd *osfd, const struct signalfd_siginfo *fdsi) +static void child_terminated(struct gtp_daemon *d, int pid, int status) { - struct gtp_daemon *d = osfd->data; struct subprocess *sproc; json_t *jterm_ind; - OSMO_ASSERT(fdsi->ssi_signo == SIGCHLD); + LOGP(DUECUPS, LOGL_DEBUG, "SIGCHLD receive from pid %u; status=%d\n", pid, status); - LOGP(DUECUPS, LOGL_DEBUG, "SIGCHLD receive from pid %u; status=%d\n", - fdsi->ssi_pid, fdsi->ssi_status); - - sproc = subprocess_by_pid(d, fdsi->ssi_pid); + sproc = subprocess_by_pid(d, pid); if (!sproc) { LOGP(DUECUPS, LOGL_NOTICE, "subprocess %u terminated (status=%d) but we don't know it?\n", - fdsi->ssi_pid, fdsi->ssi_status); + pid, status); return; } - /* FIXME: generate prog_term_ind towards control plane */ - jterm_ind = gen_uecups_term_ind(fdsi->ssi_pid, fdsi->ssi_status); + /* generate prog_term_ind towards control plane */ + jterm_ind = gen_uecups_term_ind(pid, status); if (!jterm_ind) return; @@ -363,6 +360,28 @@ talloc_free(sproc); } +static void sigchild_cb(struct osmo_signalfd *osfd, const struct signalfd_siginfo *fdsi) +{ + struct gtp_daemon *d = osfd->data; + int pid, status; + + OSMO_ASSERT(fdsi->ssi_signo == SIGCHLD); + + child_terminated(d, fdsi->ssi_pid, fdsi->ssi_status); + + /* it is known that classic signals coalesce: If you get multiple signals of the + * same type before a process is scheduled, the subsequent signaals are dropped. This + * makes sense for SIGINT or something like this, but for SIGCHLD carrying the PID of + * the terminated process, it doesn't really. Linux had the chance to fix this when + * introducing signalfd() - but the developers decided not to fix it. So the signalfd_siginfo + * contains the PID of one process that terminated - but there may be any number of other + * processes that also have terminated, and for which we don't get events this way. */ + + while ((pid = waitpid(-1, &status, WNOHANG)) > 0) + child_terminated(d, pid, status); + +} + static json_t *gen_uecups_start_res(pid_t pid, const char *result) { json_t *ret = gen_uecups_result("start_program_res", result); -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17925 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: I16bc5b7de72843c2ae18b982bfd967a7105313e4 Gerrit-Change-Number: 17925 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 Apr 21 21:01:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 21:01:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Add GTPv2_Emulation component In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867 ) Change subject: Add GTPv2_Emulation component ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867 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: If73aa453e44ebf28032c60d207feb03e8061dc0c Gerrit-Change-Number: 17867 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 21 Apr 2020 21:01: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 Apr 21 21:01:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 21:01:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Initial testsuite for a PGW (Packet Gateway in the EPC) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17868 ) Change subject: pgw: Initial testsuite for a PGW (Packet Gateway in the EPC) ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17868 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: I1c0ea207c9191479fd8f581377855f78f36bc635 Gerrit-Change-Number: 17868 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 21 Apr 2020 21:01: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 Apr 21 21:01:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 21:01:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Don't wait for 10s timeout if starting a ping that takes 10s In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17926 ) Change subject: pgw: Don't wait for 10s timeout if starting a ping that takes 10s ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17926 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: Ife2b7b8d03ee6808cfa73bb860cc63c46c451499 Gerrit-Change-Number: 17926 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 21 Apr 2020 21:01: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 Apr 21 21:02:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 21:02:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Add TC_createSession_ping4_256 to test 256 parallel sessions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17927 ) Change subject: pgw: Add TC_createSession_ping4_256 to test 256 parallel sessions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17927 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: I38cfaddfb60952f17846fbf87b1a29c32e646438 Gerrit-Change-Number: 17927 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 21 Apr 2020 21:02: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 Apr 21 21:02:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 21:02:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Initial testsuite for a PGW (Packet Gateway in the EPC) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17868 ) Change subject: pgw: Initial testsuite for a PGW (Packet Gateway in the EPC) ...................................................................... pgw: Initial testsuite for a PGW (Packet Gateway in the EPC) Change-Id: I1c0ea207c9191479fd8f581377855f78f36bc635 --- M Makefile A pgw/PGW_Tests.cfg A pgw/PGW_Tests.default A pgw/PGW_Tests.ttcn A pgw/gen_links.sh A pgw/regen_makefile.sh 6 files changed, 517 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/Makefile b/Makefile index 90bbcea..03e7a70 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -SUBDIRS=bsc bsc-nat bts ccid ggsn_tests hlr mgw mme msc pcu remsim sccp selftest sgsn \ +SUBDIRS=bsc bsc-nat bts ccid ggsn_tests hlr mgw mme msc pcu pgw remsim sccp selftest sgsn \ simtrace sip stp sysinfo NPROC=$(shell nproc 2>/dev/null) diff --git a/pgw/PGW_Tests.cfg b/pgw/PGW_Tests.cfg new file mode 100644 index 0000000..a259c32 --- /dev/null +++ b/pgw/PGW_Tests.cfg @@ -0,0 +1,18 @@ +[ORDERED_INCLUDE] +# Common configuration, shared between test suites +"../Common.cfg" +# testsuite specific configuration, not expected to change +"./PGW_Tests.default" + +# Local configuration below + +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] + +[MAIN_CONTROLLER] + +[EXECUTE] +PGW_Tests.control diff --git a/pgw/PGW_Tests.default b/pgw/PGW_Tests.default new file mode 100644 index 0000000..4c0b502 --- /dev/null +++ b/pgw/PGW_Tests.default @@ -0,0 +1,7 @@ +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] + +[EXECUTE] diff --git a/pgw/PGW_Tests.ttcn b/pgw/PGW_Tests.ttcn new file mode 100644 index 0000000..22e32da --- /dev/null +++ b/pgw/PGW_Tests.ttcn @@ -0,0 +1,430 @@ +module PGW_Tests { + +import from General_Types all; +import from Osmocom_Types all; +import from Native_Functions all; + +import from GTPv2_Types all; +import from GTPv2_Templates all; +import from GTPv2_Emulation all; + +import from UECUPS_Types all; + +import from DNS_Helpers all; + +modulepar { + charstring mp_pgw_hostname := "127.0.0.3"; + charstring mp_local_hostname_c := "127.0.0.1"; + charstring mp_local_hostname_u := "127.0.0.1"; + charstring mp_run_prog_as_user := "laforge"; + charstring mp_ping_hostname := "10.45.0.1"; +} + +/* main component, we typically have one per testcase */ +type component PGW_Test_CT { + var GTPv2_Emulation_CT vc_GTP2; + port GTP2EM_PT TEID0; +} + +/* per-session component; we typically have 1..N per testcase */ +type component PGW_Session_CT extends GTP2_ConnHdlr { + var SessionPars g_pars; + + /* TEI (Data) local side */ + var OCT4 g_teid; + /* TEI (Control) local side */ + var OCT4 g_teic; + /* TEI (Data) remote side */ + var OCT4 g_teid_remote; + /* TEI (Control) remote side */ + var OCT4 g_teic_remote; + /* GTP-U IPv4 address remote sie */ + var OCT4 g_gtpu4_remote; + var OCT16 g_gtpu6_remote; + + /* Address allocation */ + var OCT4 g_ip4_addr; + var OCT16 g_ip6_addr; + var integer g_ip6_plen; +} + +/* configuration data for a given Session */ +type record SessionPars { + hexstring imsi, + octetstring msisdn optional, + // serving network + integer rat_type, + // flags? + charstring apn, + /* Apn subscribed or non-subscribed */ + boolean selection_mode, + BIT3 pdn_type, + /* PAA */ + /* Max APN Restriction */ + /* APN-AMBR */ + octetstring pco optional, + octetstring epco optional, + /* Bearer Contexts to be created */ + + charstring tun_dev_name, + charstring tun_netns_name optional +} + +template (value) SessionPars +t_SessionPars(hexstring imsi, charstring tundev, integer rat_type := 6, charstring apn := "internet", + boolean selection_mode := false, BIT3 pdn_type := '001'B) := { + imsi := imsi, + msisdn := omit, + rat_type := rat_type, + apn := apn, + selection_mode := selection_mode, + pdn_type := pdn_type, + pco := omit, + epco := omit, + tun_dev_name := tundev, + tun_netns_name := tundev +} + +type record BearerConfig { + integer eps_bearer_id +} + +type function void_fn() runs on PGW_Session_CT; + +private function f_init() runs on PGW_Test_CT { + var Gtp2EmulationCfg cfg := { + gtpc_bind_ip := mp_local_hostname_c, + gtpc_bind_port := GTP2C_PORT, + gtpc_remote_ip := mp_pgw_hostname, + gtpc_remote_port := GTP2C_PORT, + sgw_role := true, + use_gtpu_daemon := true + }; + + vc_GTP2 := GTPv2_Emulation_CT.create("GTP2_EM"); + map(vc_GTP2:GTP2C, system:GTP2C); + connect(vc_GTP2:TEID0, self:TEID0); + vc_GTP2.start(GTPv2_Emulation.main(cfg)); +} + +function f_start_handler(void_fn fn, template (omit) SessionPars pars := omit) +runs on PGW_Test_CT return PGW_Session_CT { + var charstring id := testcasename(); + var PGW_Session_CT vc_conn; + vc_conn := PGW_Session_CT.create(id); + connect(vc_conn:GTP2, vc_GTP2:CLIENT); + connect(vc_conn:GTP2_PROC, vc_GTP2:CLIENT_PROC); + vc_conn.start(f_handler_init(fn, pars)); + return vc_conn; +} + +private function f_handler_init(void_fn fn, template (omit) SessionPars pars := omit) +runs on PGW_Session_CT { + if (isvalue(pars)) { + g_pars := valueof(pars); + } + fn.apply(); +} + + +/* find TEID of given interface type (and optionally instance) */ +private function f_find_teid(FullyQualifiedTEID_List list, + template (present) integer if_type, + template (present) BIT4 instance := ?) +return template (omit) FullyQualifiedTEID +{ + var integer i; + for (i := 0; i < lengthof(list); i := i+1) { + if (match(list[i].interfaceType, if_type) and + match(list[i].instance, instance)) { + return list[i]; + } + } + return omit; +} + +/* process one to-be-created bearer context */ +private function process_bctx_create(BearerContextGrouped bctx) runs on PGW_Session_CT +{ + /* FIXME: EPS Bearer ID */ + /* FIXME: Cause */ + + /* find F-TEID of the P-GW U side */ + var FullyQualifiedTEID rx_fteid; + rx_fteid := valueof(f_find_teid(bctx.bearerContextIEs.fullyQualifiedTEID, 5, '0010'B)); + g_teid_remote := rx_fteid.tEID_GRE_Key; + if (rx_fteid.v4_Flag == '1'B) { + g_gtpu4_remote := rx_fteid.iPv4_Address; + } + if (rx_fteid.v6_Flag == '1'B) { + g_gtpu6_remote := rx_fteid.iPv6_Address; + } + + var UECUPS_CreateTun uecups_create := { + tx_teid := oct2int(g_teid_remote), + rx_teid := oct2int(g_teid), + user_addr_type := IPV4, + user_addr := '00000000'O, + local_gtp_ep := valueof(ts_UECUPS_SockAddr(f_inet_addr(mp_local_hostname_u))), + remote_gtp_ep := valueof(ts_UECUPS_SockAddr(g_gtpu4_remote)), + tun_dev_name := g_pars.tun_dev_name, + tun_netns_name := g_pars.tun_netns_name + }; + + /* create tunnel in daemon */ + if (isbound(g_ip4_addr)) { + uecups_create.user_addr := g_ip4_addr; + f_gtp2_create_tunnel(uecups_create); + } + if (isbound(g_ip6_addr)) { + uecups_create.user_addr_type := IPV6; + uecups_create.user_addr := g_ip6_addr; + f_gtp2_create_tunnel(uecups_create); + } +} + +/* create a session on the PGW */ +private function f_create_session() runs on PGW_Session_CT { + var PDU_GTPCv2 rx; + + /* allocate + register TEID-C on local side */ + g_teic := f_gtp2_allocate_teid(); + g_teid := g_teic; + + var template (value) FullyQualifiedTEID fteid_c_ie, fteid_u_ie; + fteid_c_ie := ts_GTP2C_FTEID(FTEID_IF_S5S8_SGW_GTPC, g_teic, 0, + f_inet_addr(mp_local_hostname_c), omit); + fteid_u_ie := ts_GTP2C_FTEID(FTEID_IF_S5S8_SGW_GTPU, g_teid, 2, + f_inet_addr(mp_local_hostname_u), omit); + var template (value) PDU_GTPCv2 g2c := + ts_GTP2C_CreateSessionReq(imsi := g_pars.imsi, msisdn := omit, rat_type := 6, + sender_fteid := fteid_c_ie, + apn := f_enc_dns_hostname(g_pars.apn), + pdn_type := g_pars.pdn_type, teid_list := { fteid_u_ie }, + chg_car := '0000'O, bearer_id := 1); + /* open5gs up to 1.2.3 won't accept it without ULI, despite not mandatory */ + var template (value) TAI tai := { '0'H, '0'H, '1'H, 'F'H, '0'H, '1'H, '0001'O }; + var template (value) ECGI ecgi := { '0'H, '0'H, '1'H, 'F'H, '0'H, '1'H, '0'H, 23 }; + g2c.gtpcv2_pdu.createSessionRequest.userLocationInfo := ts_GTP2C_UserLocInfo(tai := tai, ecgi := ecgi); + + GTP2.send(g2c); + alt { + [] GTP2.receive(tr_GTP2C_CreateSessionResp(d_teid:=g_teic, cause:='10'O)) -> value rx { + /* extract TEIDs */ + var CreateSessionResponse resp := rx.gtpcv2_pdu.createSessionResponse; + g_teic_remote := resp.fullyQualifiedTEID[0].tEID_GRE_Key; + + /* extract allocated address[es] */ + var PDN_Address_and_Prefix paa := resp.pDN_AddressAllocation.pDN_Address_and_Prefix; + if (ischosen(paa.iPv4_Address)) { + g_ip4_addr := paa.iPv4_Address; + } else if (ischosen(paa.iPv6_Address)) { + g_ip6_addr := paa.iPv6_Address.iPv6_Address; + g_ip6_plen := paa.iPv6_Address.prefixLength; + } else if (ischosen(paa.iPv4_IPv6)) { + g_ip4_addr := paa.iPv4_IPv6.iPv4_Address; + g_ip6_addr := paa.iPv4_IPv6.iPv6_Address; + g_ip6_plen := paa.iPv4_IPv6.prefixLength; + } + var integer i; + for (i := 0; i < lengthof(resp.bearerContextGrouped); i := i+1) { + var BearerContextGrouped bctx := resp.bearerContextGrouped[i]; + select (bctx.instance) { + case ('0000'B) { // created + process_bctx_create(bctx); + } + case ('0001'B) { // removed + setverdict(fail, "We don't expect removed bearer contexts yet"); + } + } + } + } + [] GTP2.receive(tr_GTP2C_CreateSessionResp(d_teid:=g_teic, cause:=?)) -> value rx { + setverdict(fail, "Unexpected CreateSessionResp(cause=", + rx.gtpcv2_pdu.createSessionResponse.cause.causeValue, ")"); + } + [] GTP2.receive { + setverdict(fail, "Unexpected GTPv2 while waiting for CreateSessionResp"); + } + } + +} + +/* delete the session from the PGW */ +private function f_delete_session(template (omit) OCT1 tx_cause := omit, + template (present) OCT4 exp_teid, + template (present) OCT1 exp_cause) runs on PGW_Session_CT { + var template (value) FullyQualifiedTEID fteid_c_ie + fteid_c_ie := ts_GTP2C_FTEID(FTEID_IF_S5S8_SGW_GTPC, g_teic, 0, + f_inet_addr(mp_local_hostname_c), omit); + var template PDU_GTPCv2 g2c := + ts_GTP2C_DeleteSessionReq(d_teid := g_teic_remote, cause := tx_cause, + sender_fteid := fteid_c_ie, + teid_list := {}, bearer_id := 1); + + GTP2.send(g2c); + alt { + [] GTP2.receive(tr_GTP2C_DeleteSessionResp(d_teid := exp_teid, cause := exp_cause)) { + setverdict(pass); + } + [] GTP2.receive(tr_GTP2C_DeleteSessionResp(?, ?)) { + setverdict(fail, "Unexpected DeleteSessionResp"); + } + [] GTP2.receive { + setverdict(fail, "Unexpected GTPv2 while waiting for DeleteSessionResp"); + } + } + + /* destroy tunnel in daemon */ + if (isbound(g_teid)) { + var UECUPS_DestroyTun uecups_destroy := { + local_gtp_ep := valueof(ts_UECUPS_SockAddr(f_inet_addr(mp_local_hostname_u))), + rx_teid := oct2int(g_teid) + }; + /* FIXME: what about IPv4/IPv6 differentiation? */ + f_gtp2_destroy_tunnel(uecups_destroy); + } +} + +/* start a program on the user plane side; return its PID */ +private function f_start_prog(charstring command) runs on PGW_Session_CT return integer +{ + var UECUPS_StartProgram sprog := { + command := command, + environment := {}, + run_as_user := mp_run_prog_as_user, + tun_netns_name := g_pars.tun_netns_name + }; + var UECUPS_StartProgramRes res := f_gtp2_start_program(sprog); + if (res.result != OK) { + setverdict(fail, "Unable to start program '", command, "'"); + } + return res.pid; +} + +/* wait for termination of a given PID with specified exit_code */ +private function f_wait_term(integer pid, template (present) integer exit_code := 0, + float tout := 10.0) runs on PGW_Session_CT +{ + timer T := tout; + + T.start; + alt { + [] GTP2.receive(UECUPS_ProgramTermInd:{pid := pid, exit_code := exit_code}) { + setverdict(pass); + } + [] GTP2.receive(UECUPS_ProgramTermInd:?) { + setverdict(fail, "Received unexpected ProgramTermInd"); + } + [] T.timeout { + setverdict(fail, "timeout waiting for user-plane program termination"); + } + } +} + +/* execute a program and wait for result */ +private function f_start_prog_wait(charstring command, template integer exit_code := 0, float tout := 10.0) runs on PGW_Session_CT +{ + var integer pid := f_start_prog(command); + f_wait_term(pid, exit_code, tout); +} + +/* execute ping command and wait for result */ +private function f_ping4(charstring host, integer interval := 1, integer count := 10) runs on PGW_Session_CT +{ + var charstring ping :="ping -c " & int2str(count) & " -i " & int2str(interval); + ping := ping & " -I " & f_inet_ntoa(g_ip4_addr); + ping := ping & " " & host; + f_start_prog_wait(ping); +} + + + + +/* send echo request; expect response */ +testcase TC_tx_echo() runs on PGW_Test_CT { + timer T := 5.0; + + f_init(); + + TEID0.send(ts_GTP2C_EchoReq(0)); + T.start; + alt { + [] TEID0.receive(tr_GTP2C_EchoResp) { + setverdict(pass); + } + [] T.timeout { + setverdict(fail, "timeout waiting for Echo Response"); + } + } +} + +/* create a session, expect it to succeed */ +private function f_TC_createSession() runs on PGW_Session_CT { + f_create_session(); + setverdict(pass); +} +testcase TC_createSession() runs on PGW_Test_CT { + var PGW_Session_CT vc_conn; + var SessionPars pars := valueof(t_SessionPars('001010123456789'H, "tun22")); + f_init(); + vc_conn := f_start_handler(refers(f_TC_createSession), pars); + vc_conn.done; +} + +/* create a session, then execute a ping command on the user plane */ +private function f_TC_createSession_ping4() runs on PGW_Session_CT { + f_create_session(); + f_ping4(mp_ping_hostname); + setverdict(pass); +} +testcase TC_createSession_ping4() runs on PGW_Test_CT { + var PGW_Session_CT vc_conn; + var SessionPars pars := valueof(t_SessionPars('001010123456789'H, "tun23")); + f_init(); + vc_conn := f_start_handler(refers(f_TC_createSession_ping4), pars); + vc_conn.done; +} + +/* create a session, then delete it again */ +private function f_TC_createSession_deleteSession() runs on PGW_Session_CT { + f_create_session(); + f_delete_session(omit, g_teic, '10'O); + setverdict(pass); +} +testcase TC_createSession_deleteSession() runs on PGW_Test_CT { + var PGW_Session_CT vc_conn; + var SessionPars pars := valueof(t_SessionPars('001010123456789'H, "tun23")); + f_init(); + vc_conn := f_start_handler(refers(f_TC_createSession_deleteSession), pars); + vc_conn.done; +} + +/* send a DeleteSessionReq for an unknown/invalid TEID */ +private function f_TC_deleteSession_unknown() runs on PGW_Session_CT { + g_teic := f_gtp2_allocate_teid(); + g_teic_remote := f_rnd_octstring(4); + f_delete_session(omit, '00000000'O, '40'O /* Context Unknown */); + setverdict(pass); +} +testcase TC_deleteSession_unknown() runs on PGW_Test_CT { + var PGW_Session_CT vc_conn; + var SessionPars pars := valueof(t_SessionPars('001010123456789'H, "tun23")); + f_init(); + vc_conn := f_start_handler(refers(f_TC_deleteSession_unknown), pars); + vc_conn.done; +} + + + + +control { + execute( TC_tx_echo() ); + execute( TC_createSession() ); + execute( TC_createSession_ping4() ); + execute( TC_createSession_deleteSession() ); + execute( TC_deleteSession_unknown() ); +} + + +} diff --git a/pgw/gen_links.sh b/pgw/gen_links.sh new file mode 100755 index 0000000..061d78c --- /dev/null +++ b/pgw/gen_links.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +BASEDIR=../deps + +. ../gen_links.sh.inc + +DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src +FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCInterface.cc TCCInterface_ip.h" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src +FILES="Socket_API_Definitions.ttcn" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.TestPorts.IPL4asp/src +FILES="IPL4asp_Functions.ttcn IPL4asp_PT.cc IPL4asp_PT.hh IPL4asp_PortType.ttcn IPL4asp_Types.ttcn IPL4asp_discovery.cc IPL4asp_protocol_L234.hh" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.ProtocolModules.ICMP/src +FILES="ICMP_EncDec.cc ICMP_Types.ttcn" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.ProtocolModules.ICMPv6/src +FILES="ICMPv6_EncDec.cc ICMPv6_Types.ttcn" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.ProtocolModules.IP/src +FILES="IP_EncDec.cc IP_Types.ttcn" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.ProtocolModules.UDP/src +FILES="UDP_EncDec.cc UDP_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 + +DIR=$BASEDIR/titan.ProtocolModules.GTPv2_v13.7.0/src +FILES="GTPv2_Types.ttcn" +gen_links $DIR $FILES + +DIR=$BASEDIR/osmo-uecups/ttcn3 +FILES="UECUPS_CodecPort.ttcn UECUPS_CodecPort_CtrlFunct.ttcn UECUPS_CodecPort_CtrlFunctDef.cc UECUPS_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+="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 " +gen_links $DIR $FILES + +ignore_pp_results diff --git a/pgw/regen_makefile.sh b/pgw/regen_makefile.sh new file mode 100755 index 0000000..46616da --- /dev/null +++ b/pgw/regen_makefile.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +FILES="*.ttcn IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc GTPC_EncDec.cc GTPU_EncDec.cc GTP_CodecPort_CtrlFunctDef.cc GTPv2_CodecPort_CtrlFunctDef.cc ICMPv6_EncDec.cc IP_EncDec.cc Native_FunctionDefs.cc UDP_EncDec.cc ICMP_EncDec.cc " +FILES+="UECUPS_CodecPort_CtrlFunctDef.cc " + +../regen-makefile.sh PGW_Tests.ttcn $FILES -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17868 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: I1c0ea207c9191479fd8f581377855f78f36bc635 Gerrit-Change-Number: 17868 Gerrit-PatchSet: 4 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 Apr 21 21:02:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 21:02:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Add GTPv2_Emulation component In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867 ) Change subject: Add GTPv2_Emulation component ...................................................................... Add GTPv2_Emulation component Change-Id: If73aa453e44ebf28032c60d207feb03e8061dc0c --- M deps/Makefile A library/GTPv2_Emulation.ttcn M library/GTPv2_Templates.ttcn M library/General_Types.ttcn M library/Osmocom_Types.ttcn 5 files changed, 1,338 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/deps/Makefile b/deps/Makefile index 65958ae..977beba 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -59,7 +59,7 @@ 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.ProtocolModules.SNDCP_v7.0.0 OSMOGITHUB_REPOS= titan.TestPorts.SCTPasp \ titan.TestPorts.MTP3asp \ @@ -69,7 +69,8 @@ OSMOGIT_REPOS= titan.ProtocolModules.MAP \ titan.ProtocolModules.BSSMAP \ - titan.TestPorts.USB + titan.TestPorts.USB \ + osmo-uecups ALL_REPOS=$(ECLIPSEGITHUB_REPOS) $(ECLIPSEGIT2_REPOS) $(OSMOGITHUB_REPOS) $(OSMOGIT_REPOS) @@ -125,6 +126,7 @@ titan.TestPorts.UDPasp_commit= c20d77a34f288dd70dd4aaa30e520778876e9336 titan.TestPorts.UNIX_DOMAIN_SOCKETasp_commit= R.2.A-8-g7ec4fe0 titan.TestPorts.USB_commit= master +osmo-uecups_commit= master all: $(foreach dir,$(ALL_REPOS),$(dir)/update) clean: $(foreach dir,$(ALL_REPOS),$(dir)/clean) diff --git a/library/GTPv2_Emulation.ttcn b/library/GTPv2_Emulation.ttcn new file mode 100644 index 0000000..8074269 --- /dev/null +++ b/library/GTPv2_Emulation.ttcn @@ -0,0 +1,606 @@ +/* GTPv2 Emulation in TTCN-3 + * + * (C) 2018-2020 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 + */ + +module GTPv2_Emulation { + +import from IPL4asp_Types all; +import from General_Types all; +import from Osmocom_Types all; +import from GTPv2_Types all; +import from GTPv2_Templates all; +import from GTPv2_CodecPort all; +import from GTPv2_CodecPort_CtrlFunct all; + +import from UECUPS_Types all; +import from UECUPS_CodecPort all; +import from UECUPS_CodecPort_CtrlFunct all; + +/*********************************************************************** + * Main Emulation Component + ***********************************************************************/ + +modulepar { + charstring mp_uecups_host := "127.0.0.1"; + integer mp_uecups_port := UECUPS_SCTP_PORT; +}; + +const integer GTP2C_PORT := 2123; +const integer GTP1U_PORT := 2152; + +type record Gtp2EmulationCfg { + HostName gtpc_bind_ip, + IPL4asp_Types.PortNumber gtpc_bind_port, + HostName gtpc_remote_ip, + IPL4asp_Types.PortNumber gtpc_remote_port, + //HostName gtpu_bind_ip, + //PortNumber gtpu_bind_port, + boolean sgw_role, + boolean use_gtpu_daemon +}; + +type component GTPv2_Emulation_CT { + /* Communication with underlying GTP CodecPort */ + port GTPv2C_PT GTP2C; + + /* Control port to GTP-U Daemon */ + port UECUPS_CODEC_PT UECUPS; + + /* Communication with Clients */ + port GTP2EM_PT TEID0; + port GTP2EM_PT CLIENT; + port GTP2EM_PROC_PT CLIENT_PROC; + + /* Configuration by the user */ + var Gtp2EmulationCfg g_gtp2_cfg; + + /* State */ + var GtpPeer g_peer; + var integer g_gtp2c_id; + var OCT1 g_restart_ctr; + var uint16_t g_c_seq_nr; + var TidTableRec TidTable[256]; + var SeqTableRec SeqTable[256]; + var ImsiTableRec ImsiTable[256]; + var PidTableRec PidTable[256]; + var integer g_uecups_conn_id; +}; + +/* local TEID <-> ConnHdlr mapping */ +type record TidTableRec { + OCT4 teid, + GTP2_ConnHdlr vc_conn +}; + +/* local SeqNr <-> ConnHdlr mapping (until a response is received */ +type record SeqTableRec { + OCT3 seq, + GTP2_ConnHdlr vc_conn +}; + +/* IMSI <-> ConnHdlr mapping */ +type record ImsiTableRec { + hexstring imsi, + GTP2_ConnHdlr vc_conn +}; + +/* pid <-> ConnHdlr mapping (for UECUPS process termination indication) */ +type record PidTableRec { + /* process ID of the running process */ + integer pid, + /* component that started it */ + GTP2_ConnHdlr vc_conn +}; + +private function f_comp_by_teid(OCT4 teid) runs on GTPv2_Emulation_CT return GTP2_ConnHdlr { + var integer i; + for (i := 0; i < sizeof(TidTable); i := i+1) { + if (isbound(TidTable[i].teid) and TidTable[i].teid == teid) { + return TidTable[i].vc_conn; + } + } + setverdict(fail, "No Component for TEID ", teid); + mtc.stop; +} + +private function f_seq_known(OCT3 seq) runs on GTPv2_Emulation_CT return boolean { + var integer i; + for (i := 0; i < sizeof(SeqTable); i := i+1) { + if (isbound(SeqTable[i].seq) and SeqTable[i].seq == seq) { + return true; + } + } + return false; +} + +private function f_comp_by_seq(OCT3 seq) runs on GTPv2_Emulation_CT return GTP2_ConnHdlr { + var integer i; + for (i := 0; i < sizeof(SeqTable); i := i+1) { + if (isbound(SeqTable[i].seq) and SeqTable[i].seq == seq) { + return SeqTable[i].vc_conn; + } + } + setverdict(fail, "No Component for SEQ ", seq); + mtc.stop; +} + +private function f_comp_by_imsi(hexstring imsi) runs on GTPv2_Emulation_CT return GTP2_ConnHdlr { + var integer i; + for (i := 0; i < sizeof(ImsiTable); i := i+1) { + if (isbound(ImsiTable[i].imsi) and ImsiTable[i].imsi == imsi) { + return ImsiTable[i].vc_conn; + } + } + setverdict(fail, "No Component for IMSI ", imsi); + mtc.stop; +} + +private function f_comp_by_pid(integer pid) runs on GTPv2_Emulation_CT return GTP2_ConnHdlr { + var integer i; + for (i := 0; i < sizeof(PidTable); i := i+1) { + if (isbound(PidTable[i].pid) and PidTable[i].pid == pid) { + /* fixme: remove */ + return PidTable[i].vc_conn; + } + } + setverdict(fail, "No Component for PID ", pid); + mtc.stop; +} + +private function f_tid_tbl_add(OCT4 teid, GTP2_ConnHdlr vc_conn) runs on GTPv2_Emulation_CT { + var integer i; + for (i := 0; i < sizeof(TidTable); i := i+1) { + if (not isbound(TidTable[i].teid)) { + TidTable[i].teid := teid; + TidTable[i].vc_conn := vc_conn; + return; + } + } + testcase.stop("No Space in TidTable for ", teid); +} + +private function f_seq_tbl_add(OCT3 seq, GTP2_ConnHdlr vc_conn) runs on GTPv2_Emulation_CT { + var integer i; + for (i := 0; i < sizeof(SeqTable); i := i+1) { + if (not isbound(SeqTable[i].seq)) { + SeqTable[i].seq := seq; + SeqTable[i].vc_conn := vc_conn; + return; + } + } + testcase.stop("No Space in SeqTable for ", seq); +} + +private function f_seq_tbl_del(OCT3 seq) runs on GTPv2_Emulation_CT { + var integer i; + for (i := 0; i < sizeof(SeqTable); i := i+1) { + if (isbound(SeqTable[i].seq) and SeqTable[i].seq == seq) { + SeqTable[i] := { + seq := -, + vc_conn := null + } + } + } +} + +private function f_imsi_tbl_add(hexstring imsi, GTP2_ConnHdlr vc_conn) runs on GTPv2_Emulation_CT { + var integer i; + for (i := 0; i < sizeof(ImsiTable); i := i+1) { + if (not isbound(ImsiTable[i].imsi)) { + ImsiTable[i].imsi := imsi; + ImsiTable[i].vc_conn := vc_conn; + return; + } + } + testcase.stop("No Space in IMSI Table for ", imsi); +} + +private function f_pid_tbl_add(integer pid, GTP2_ConnHdlr vc_conn) runs on GTPv2_Emulation_CT { + var integer i; + for (i := 0; i < sizeof(PidTable); i := i+1) { + if (not isbound(PidTable[i].pid)) { + PidTable[i].pid := pid; + PidTable[i].vc_conn := vc_conn; + return; + } + } + testcase.stop("No Space in PID Table for ", pid); +} + + +/* allocate an unused local teid */ +private function f_alloc_teid() runs on GTPv2_Emulation_CT return OCT4 { + var OCT4 teid; + var integer i, j; + for (i := 0; i < 100; i := i+1) { + teid := f_rnd_octstring(4); + for (j := 0; j < sizeof(TidTable); j := j+1) { + if (isbound(TidTable) and TidTable[i].teid == teid) { + continue; + } + } + /* we iterated over all entries and found no match: great! */ + return teid; + } + testcase.stop("Cannot find unused TEID after ", i, " attempts"); +} + +/* obtain the IMSI from a GTPv2C PDU, if there is any IMSI contained. The way how the TITAN + * GTPv2 decoders are structured (explict IE members rather than a list/set of generic IE structures) + * doesn't make this easy, but requires lots of boilerplate code. Oh well.. */ +function f_gtp2c_extract_imsi(PDU_GTPCv2 gtp) return template (omit) hexstring { + if (ischosen(gtp.gtpcv2_pdu.createSessionRequest)) { + if (ispresent(gtp.gtpcv2_pdu.createSessionRequest.iMSI)) { + return gtp.gtpcv2_pdu.createSessionRequest.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.downlinkDataNotification)) { + if (ispresent(gtp.gtpcv2_pdu.downlinkDataNotification.iMSI)) { + return gtp.gtpcv2_pdu.downlinkDataNotification.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.downlinkDataNotificationAcknowledgement)) { + if (ispresent(gtp.gtpcv2_pdu.downlinkDataNotificationAcknowledgement.iMSI)) { + return gtp.gtpcv2_pdu.downlinkDataNotificationAcknowledgement.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.downlinkDataNotificationFailureIndication)) { + if (ispresent(gtp.gtpcv2_pdu.downlinkDataNotificationFailureIndication.iMSI)) { + return gtp.gtpcv2_pdu.downlinkDataNotificationFailureIndication.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.createIndirectDataForwardingTunnelRequest)) { + if (ispresent(gtp.gtpcv2_pdu.createIndirectDataForwardingTunnelRequest.iMSI)) { + return gtp.gtpcv2_pdu.createIndirectDataForwardingTunnelRequest.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.stopPagingIndication)) { + if (ispresent(gtp.gtpcv2_pdu.stopPagingIndication.iMSI)) { + return gtp.gtpcv2_pdu.stopPagingIndication.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.forwardRelocationRequest)) { + if (ispresent(gtp.gtpcv2_pdu.forwardRelocationRequest.iMSI)) { + return gtp.gtpcv2_pdu.forwardRelocationRequest.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.contextRequest)) { + if (ispresent(gtp.gtpcv2_pdu.contextRequest.iMSI)) { + return gtp.gtpcv2_pdu.contextRequest.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.identificationResponse)) { + if (ispresent(gtp.gtpcv2_pdu.identificationResponse.iMSI)) { + return gtp.gtpcv2_pdu.identificationResponse.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.changeNotificationRequest)) { + if (ispresent(gtp.gtpcv2_pdu.changeNotificationRequest)) { + return gtp.gtpcv2_pdu.changeNotificationRequest.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.changeNotificationResponse)) { + if (ispresent(gtp.gtpcv2_pdu.changeNotificationResponse.iMSI)) { + return gtp.gtpcv2_pdu.changeNotificationResponse.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.relocationCancelRequest)) { + if (ispresent(gtp.gtpcv2_pdu.relocationCancelRequest.iMSI)) { + return gtp.gtpcv2_pdu.relocationCancelRequest.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.uE_RegistrationQueryRequest)) { + if (ispresent(gtp.gtpcv2_pdu.uE_RegistrationQueryRequest.iMSI)) { + return gtp.gtpcv2_pdu.uE_RegistrationQueryRequest.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.uE_RegistrationQueryResponse)) { + if (ispresent(gtp.gtpcv2_pdu.uE_RegistrationQueryResponse.iMSI)) { + return gtp.gtpcv2_pdu.uE_RegistrationQueryResponse.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.suspendNotification)) { + if (ispresent(gtp.gtpcv2_pdu.suspendNotification.iMSI)) { + return gtp.gtpcv2_pdu.suspendNotification.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.resumeNotification)) { + if (ispresent(gtp.gtpcv2_pdu.resumeNotification.iMSI)) { + return gtp.gtpcv2_pdu.resumeNotification.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.cSPagingIndication)) { + if (ispresent(gtp.gtpcv2_pdu.cSPagingIndication.iMSI)) { + return gtp.gtpcv2_pdu.cSPagingIndication.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.pGW_DownlinkTriggeringNotification)) { + if (ispresent(gtp.gtpcv2_pdu.pGW_DownlinkTriggeringNotification.iMSI)) { + return gtp.gtpcv2_pdu.pGW_DownlinkTriggeringNotification.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.pGW_DownlinkTriggeringAcknowledge)) { + if (ispresent(gtp.gtpcv2_pdu.pGW_DownlinkTriggeringAcknowledge.iMSI)) { + return gtp.gtpcv2_pdu.pGW_DownlinkTriggeringAcknowledge.iMSI.iMSI_Value; + } + } else if (ischosen(gtp.gtpcv2_pdu.traceSessionActivation)) { + if (ispresent(gtp.gtpcv2_pdu.traceSessionActivation.iMSI)) { + return gtp.gtpcv2_pdu.traceSessionActivation.iMSI.iMSI_Value; + } + } + return omit; +} + +private template (value) SctpTuple ts_SCTP(template (omit) integer ppid := omit) := { + sinfo_stream := omit, + sinfo_ppid := ppid, + remSocks := omit, + assocId := omit +}; + +function tr_UECUPS_RecvFrom_R(template PDU_UECUPS msg) +runs on GTPv2_Emulation_CT return template UECUPS_RecvFrom { + var template UECUPS_RecvFrom mrf := { + connId := g_uecups_conn_id, + remName := ?, + remPort := ?, + locName := ?, + locPort := ?, + msg := msg + } + return mrf; +} + + +private template PortEvent tr_SctpAssocChange := { + sctpEvent := { + sctpAssocChange := ? + } +} +private template PortEvent tr_SctpPeerAddrChange := { + sctpEvent := { + sctpPeerAddrChange := ? + } +} + +private function f_uecups_xceive(template (value) PDU_UECUPS tx, + template PDU_UECUPS rx_t := ?) +runs on GTPv2_Emulation_CT return PDU_UECUPS { + timer T := 10.0; + var UECUPS_RecvFrom mrf; + + UECUPS.send(t_UECUPS_Send(g_uecups_conn_id, tx)); + alt { + [] UECUPS.receive(tr_UECUPS_RecvFrom_R(rx_t)) -> value mrf { } + [] UECUPS.receive(tr_SctpAssocChange) { repeat; } + [] UECUPS.receive(tr_SctpPeerAddrChange) { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for ", rx_t); + mtc.stop; + } + } + return mrf.msg; +} + +private function f_init(Gtp2EmulationCfg cfg) runs on GTPv2_Emulation_CT { + var Result res; + + map(self:GTP2C, system:GTP2C); + res := GTPv2_CodecPort_CtrlFunct.f_IPL4_listen(GTP2C, cfg.gtpc_bind_ip, + cfg.gtpc_bind_port, {udp:={}}); + g_gtp2c_id := res.connId; + + g_restart_ctr := f_rnd_octstring(1); + g_c_seq_nr := f_rnd_int(65535); + g_gtp2_cfg := cfg; + g_peer := { + connId := g_gtp2c_id, + remName := g_gtp2_cfg.gtpc_remote_ip, + remPort := g_gtp2_cfg.gtpc_remote_port + } + + if (g_gtp2_cfg.use_gtpu_daemon) { + map(self:UECUPS, system:UECUPS); + res := UECUPS_CodecPort_CtrlFunct.f_IPL4_connect(UECUPS, mp_uecups_host, mp_uecups_port, "", -1, -1, { sctp := valueof(ts_SCTP) }); + if (not ispresent(res.connId)) { + setverdict(fail, "Could not connect UECUPS socket, check your configuration"); + testcase.stop; + } + g_uecups_conn_id := res.connId; + + /* clear all tunnel state in the daemon at start */ + f_uecups_xceive({reset_all_state := {}}, {reset_all_state_res:=?}); + } + + /* make sure we always pass incoming UECUPS indications whenever receiving fom the UECUPS port */ + activate(as_uecups_ind()); +} + +private altstep as_uecups_ind() runs on GTPv2_Emulation_CT { +var UECUPS_RecvFrom rx; +var GTP2_ConnHdlr vc_conn; +/* handle incoming program_term_ind; dispatch to whatever component started the process */ +[] UECUPS.receive(tr_UECUPS_RecvFrom_R({program_term_ind:=?})) -> value rx { + vc_conn := f_comp_by_pid(rx.msg.program_term_ind.pid); + CLIENT.send(rx.msg.program_term_ind) to vc_conn; + /* FIXME: remove from table */ + repeat; + } +} + +function main(Gtp2EmulationCfg cfg) runs on GTPv2_Emulation_CT { + var Gtp2cUnitdata g2c_ud; + var PDU_GTPCv2 g2c; + var GTP2_ConnHdlr vc_conn; + var hexstring imsi; + var OCT4 teid; + var PDU_UECUPS rx_uecups; + var UECUPS_CreateTun gtc; + var UECUPS_DestroyTun gtd; + var UECUPS_StartProgram sprog; + + f_init(cfg); + + while (true) { + alt { + /* route inbound GTP2-C based on TEID, SEQ or IMSI */ + [] GTP2C.receive(Gtp2cUnitdata:?) -> value g2c_ud { + var template hexstring imsi_t := f_gtp2c_extract_imsi(g2c_ud.gtpc); + if (not ispresent(g2c_ud.gtpc.tEID) or g2c_ud.gtpc.tEID == int2oct(0, 4)) { + /* if this is a response, route by SEQ */ + if (match(g2c_ud.gtpc, tr_PDU_GTP2C_msgtypes(gtp2_responses)) + and f_seq_known(g2c_ud.gtpc.sequenceNumber)) { + vc_conn := f_comp_by_seq(g2c_ud.gtpc.sequenceNumber); + CLIENT.send(g2c_ud.gtpc) to vc_conn; + } else { + TEID0.send(g2c_ud.gtpc); + } + } else if (ispresent(g2c_ud.gtpc.tEID) and g2c_ud.gtpc.tEID != int2oct(0, 4)) { + vc_conn := f_comp_by_teid(g2c_ud.gtpc.tEID); + CLIENT.send(g2c_ud.gtpc) to vc_conn; + } else if (isvalue(imsi_t)) { + vc_conn := f_comp_by_imsi(valueof(imsi_t)); + CLIENT.send(g2c_ud.gtpc) 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(g2c_ud.gtpc) to TidTable[i].vc_conn; + } + } + } + + /* remove sequence number if response was received */ + if (match(g2c_ud.gtpc, tr_PDU_GTP2C_msgtypes(gtp2_responses))) { + f_seq_tbl_del(g2c_ud.gtpc.sequenceNumber); + } + + } + + [] TEID0.receive(PDU_GTPCv2:?) -> value g2c sender vc_conn { + /* patch in the next sequence number */ + /* FIXME: do this only for outbound requests */ + g2c.sequenceNumber := int2oct(g_c_seq_nr, 3); + g_c_seq_nr := g_c_seq_nr + 1; + /* build Gtp2cUnitdata */ + g2c_ud := { peer := g_peer, gtpc := g2c }; + GTP2C.send(g2c_ud); + if (match(g2c, tr_PDU_GTP2C_msgtypes(gtp2_requests))) { + f_seq_tbl_add(g2c.sequenceNumber, vc_conn); + } + } + + [] CLIENT.receive(PDU_GTPCv2:?) -> value g2c sender vc_conn { + /* patch in the next sequence number */ + /* FIXME: do this only for outbound requests */ + g2c.sequenceNumber := int2oct(g_c_seq_nr, 3); + g_c_seq_nr := g_c_seq_nr + 1; + /* build Gtp2cUnitdata */ + g2c_ud := { peer := g_peer, gtpc := g2c }; + GTP2C.send(g2c_ud); + if (match(g2c, tr_PDU_GTP2C_msgtypes(gtp2_requests))) { + f_seq_tbl_add(g2c.sequenceNumber, vc_conn); + } + } + + [] CLIENT_PROC.getcall(GTP2EM_register_imsi:{?}) -> param(imsi) sender vc_conn { + f_imsi_tbl_add(imsi, vc_conn); + CLIENT_PROC.reply(GTP2EM_register_imsi:{imsi}) to vc_conn; + } + + [] CLIENT_PROC.getcall(GTP2EM_register_teid:{?}) -> param(teid) sender vc_conn { + f_tid_tbl_add(teid, vc_conn); + CLIENT_PROC.reply(GTP2EM_register_teid:{teid}) to vc_conn; + } + [] CLIENT_PROC.getcall(GTP2EM_allocate_teid:{}) -> sender vc_conn { + var OCT4 t := f_alloc_teid(); + f_tid_tbl_add(t, vc_conn); + CLIENT_PROC.reply(GTP2EM_allocate_teid:{} value t) to vc_conn; + } + [] CLIENT_PROC.getcall(GTP2EM_create_tunnel:{?}) -> param(gtc) sender vc_conn { + rx_uecups := f_uecups_xceive({create_tun := gtc}, {create_tun_res:={result:=OK}}); + CLIENT_PROC.reply(GTP2EM_create_tunnel:{gtc}) to vc_conn; + } + [] CLIENT_PROC.getcall(GTP2EM_destroy_tunnel:{?}) -> param(gtd) sender vc_conn { + rx_uecups := f_uecups_xceive({destroy_tun := gtd}, {destroy_tun_res:={result:=OK}}); + CLIENT_PROC.reply(GTP2EM_destroy_tunnel:{gtd}) to vc_conn; + } + [] CLIENT_PROC.getcall(GTP2EM_start_program:{?}) -> param(sprog) sender vc_conn { + rx_uecups := f_uecups_xceive({start_program := sprog}, {start_program_res:=?}); + /* if successful: store (pid, vc_conn) tuple so we can route program_term_ind */ + if (rx_uecups.start_program_res.result == OK) { + f_pid_tbl_add(rx_uecups.start_program_res.pid, vc_conn); + } + CLIENT_PROC.reply(GTP2EM_start_program:{sprog} value rx_uecups.start_program_res) to vc_conn; + } + + } + } +} + + +/*********************************************************************** + * Interaction between Main and Client Components + ***********************************************************************/ +type port GTP2EM_PT message { + inout PDU_GTPCv2, UECUPS_ProgramTermInd; +} with { extension "internal" }; + +signature GTP2EM_register_imsi(hexstring imsi); +signature GTP2EM_register_teid(OCT4 teid); +signature GTP2EM_allocate_teid() return OCT4; +signature GTP2EM_create_tunnel(UECUPS_CreateTun gtc); +signature GTP2EM_destroy_tunnel(UECUPS_DestroyTun gtd); +signature GTP2EM_start_program(UECUPS_StartProgram sprog) return UECUPS_StartProgramRes; + +type port GTP2EM_PROC_PT procedure { + inout GTP2EM_register_imsi, GTP2EM_register_teid, GTP2EM_allocate_teid, + GTP2EM_create_tunnel, GTP2EM_destroy_tunnel, GTP2EM_start_program; +} with { extension "internal" }; + +/*********************************************************************** + * Client Component + ***********************************************************************/ + +type component GTP2_ConnHdlr { + port GTP2EM_PT GTP2; + port GTP2EM_PROC_PT GTP2_PROC; +}; + +function f_gtp2_register_imsi(hexstring imsi) runs on GTP2_ConnHdlr { + GTP2_PROC.call(GTP2EM_register_imsi:{imsi}) { + [] GTP2_PROC.getreply(GTP2EM_register_imsi:{imsi}); + } +} + +function f_gtp2_register_teid(OCT4 teid) runs on GTP2_ConnHdlr { + GTP2_PROC.call(GTP2EM_register_teid:{teid}) { + [] GTP2_PROC.getreply(GTP2EM_register_teid:{teid}); + } +} + +function f_gtp2_allocate_teid() runs on GTP2_ConnHdlr return OCT4 { + var OCT4 t; + GTP2_PROC.call(GTP2EM_allocate_teid:{}) { + [] GTP2_PROC.getreply(GTP2EM_allocate_teid:{}) -> value t { + return t; + } + } +} + +function f_gtp2_create_tunnel(template (value) UECUPS_CreateTun gtc) +runs on GTP2_ConnHdlr { + GTP2_PROC.call(GTP2EM_create_tunnel:{valueof(gtc)}) { + [] GTP2_PROC.getreply(GTP2EM_create_tunnel:{gtc}); + } +} + +function f_gtp2_destroy_tunnel(template (value) UECUPS_DestroyTun gtd) +runs on GTP2_ConnHdlr { + GTP2_PROC.call(GTP2EM_destroy_tunnel:{valueof(gtd)}) { + [] GTP2_PROC.getreply(GTP2EM_destroy_tunnel:{gtd}); + } +} + +function f_gtp2_start_program(template (value) UECUPS_StartProgram sprog) +runs on GTP2_ConnHdlr return UECUPS_StartProgramRes { + var UECUPS_StartProgramRes res; + GTP2_PROC.call(GTP2EM_start_program:{valueof(sprog)}) { + [] GTP2_PROC.getreply(GTP2EM_start_program:{sprog}) -> value res; + } + return res; +} + + + +} diff --git a/library/GTPv2_Templates.ttcn b/library/GTPv2_Templates.ttcn index 23b0053..3d69017 100644 --- a/library/GTPv2_Templates.ttcn +++ b/library/GTPv2_Templates.ttcn @@ -30,6 +30,7 @@ } template (present) PDU_GTPCv2 tr_PDU_GTP2C(template OCT4 teid := ?, + template (present) OCT3 seq := ?, template (present) GTPCv2_PDUs pdus := ?, template PDU_GTPCv2 piggyback := omit) := { spare := '000'B, @@ -39,12 +40,78 @@ messageType := ?, lengthf := ?, tEID := teid, - sequenceNumber := ?, + sequenceNumber := seq, spare3 := '00'O, gtpcv2_pdu := pdus, piggybackPDU_GTPCv2 := piggyback } +template (present) OCT1 gtp2_requests := ( + '01'O, // echoRequest + '20'O, // createSessionRequest + '5F'O, // createBearerRequest + '22'O, // modifyBearerRequest + '24'O, // deleteSessionRequest + '63'O, // deleteBearerRequest + 'A8'O, // deleteIndirectDataForwardingTunnelRequest + '61'O, // updateBearerRequest + '42'O, // deleteBearerCommand + 'A6'O, // createIndirectDataForwardingTunnelRequest + 'AA'O, // releaseAccessBearersRequest + 'B3'O, // modifyAccessBearersRequest + '85'O, // forwardRelocationRequest + '82'O, // contextRequest + '80'O, // identificationRequest + '26'O, // changeNotificationRequest + '8B'O, // relocationCancelRequest + 'A0'O, // createForwardingTunnelRequest + '65'O, // deletePDN_ConnectionSetRequest + 'C8'O, // updatePDN_ConnectionSetRequest + '9E'O, // uE_RegistrationQueryRequest + 'E7'O, // mBMSSessionStartRequest + 'E9'O, // mBMSSessionUpdateRequest + 'EB'O // mBMSSessionStopRequest +); +template (present) OCT1 gtp2_responses := ( + '02'O, // echoResponse + '21'O, // createSessionResponse + '60'O, // createBearerResponse + '23'O, // modifyBearerResponse + '25'O, // deleteSessionResponse + '64'O, // deleteBearerResponse + 'A9'O, // deleteIndirectDataForwardingTunnelResponse + '62'O, // updateBearerResponse + '43'O, // deleteBearerFailureIndication + 'A7'O, // createIndirectDataForwardingTunnelResponse + 'AB'O, // releaseAccessBearersResponse + 'B4'O, // modifyAccessBearersResponse + '86'O, // forwardRelocationResponse + '83'O, // contextResponse + '81'O, // identificationResponse + '27'O, // changeNotificationResponse + '8C'O, // relocationCancelResponse + 'A1'O, // createForwardingTunnelResponse + '66'O, // deletePDN_ConnectionSetResponse + 'C9'O, // updatePDN_ConnectionSetResponse + '9F'O, // uE_RegistrationQueryResponse + 'E8'O, // mBMSSessionStartResponse + 'EA'O, // mBMSSessionUpdateResponse + 'EC'O // mBMSSessionStopResponse +); + +template (present) PDU_GTPCv2 tr_PDU_GTP2C_msgtypes(template (present) OCT1 types) := { + spare := '000'B, + t_Bit := ?, + p_Bit := ?, + version := '010'B, + messageType := types, + lengthf := ?, + tEID := ?, + sequenceNumber := ?, + spare3 := '00'O, + gtpcv2_pdu := ?, + piggybackPDU_GTPCv2 := * +}; /* 8.3 */ template (value) IMSI ts_GTP2C_Imsi(template (value) hexstring imsi) := { @@ -62,6 +129,23 @@ iMSI_Value := imsi } +template (present) MSISDN ts_GTP2C_msisdn(template (present) hexstring msisdn) := { + elementIdentifier := '4C'O, + lengthIndicator := 0, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + mSISDN_Value := msisdn +} +private function fs_GTP2C_msisdn(template (omit) hexstring msisdn) return +template (omit) MSISDN { + if (istemplatekind(msisdn, "omit")) { + return omit; + } else { + return ts_GTP2C_msisdn(msisdn); + } +} + + /* 8.4-1 */ /* type enumerated GTP2C_Cause { @@ -109,6 +193,25 @@ instanceOfOffendingIE := *, spare3 := * } +private function fs_GTP2C_Cause(template (omit) OCT1 cause, template (value) BIT1 cs) return +template (omit) Cause { + if (istemplatekind(cause, "omit")) { + return omit; + } else { + return ts_GTP2C_Cause(cause, cs); + } +} +private function fr_GTP2C_Cause(template OCT1 cause) return +template Cause { + if (istemplatekind(cause, "omit")) { + return omit; + } else if (istemplatekind(cause, "*")) { + return *; + } else { + return tr_GTP2C_Cause(cause); + } +} + /* 8.5 */ template (value) AccessPointName ts_GTP2C_APN(template (value) octetstring apn) := { @@ -126,6 +229,41 @@ aPN_Value := apn } +/* 8.7 */ +template (value) AggregateMaximumBitRate +ts_GTP2C_Ambr(integer ambr_ul, integer ambr_dl) := { + elementIdentifier := '48'O, + lengthIndicator := 0, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + aPN_AMBR_for_uplink := int2oct(ambr_ul, 4), + aPN_AMBR_for_downlink := int2oct(ambr_dl, 4) +} + +/* 8.8 */ +template (value) EPS_BearerID +ts_GTP2C_EpsBearerId(template (value) uint4_t bid) := { + elementIdentifier := '49'O, + lengthIndicator := 0, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + ePS_Bearer_ID_Value := bid, + spare2 := '0000'B, + additionalOctets := omit +} +template (present) EPS_BearerID +tr_GTP2C_EpsBearerId(template (present) uint4_t bid) := { + elementIdentifier := '49'O, + lengthIndicator := ?, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + ePS_Bearer_ID_Value := bid, + spare2 := '0000'B, + additionalOctets := * +} + + + /* 8.14 */ template (value) PDN_AddressAllocation ts_GTP2C_PdnAddrAlloc(template (value) BIT3 pdn_type, @@ -156,6 +294,31 @@ tr_GTP2C_PdnAddrAlloc_v4(template (present) OCT4 addr) := ts_GTP2C_PdnAddrAlloc('001'B, {iPv4_Address:=addr}); +/* 8.15 */ +template (value) Bearer_QoS +ts_GTP2C_BearerQos(template (value) OCT1 qci, + uint40_t max_br_ul, uint40_t max_br_dl, + uint40_t g_br_ul, uint40_t g_br_dl, + template (value) BIT4 prio_lvl := '1001'B, + template (value) BIT1 pe_vuln := '0'B, + template (value) BIT1 pe_capa := '0'B) := { + elementIdentifier := '50'O, + lengthIndicator := 0, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + pVI := pe_vuln, + spare2 := '0'B, + pL := prio_lvl, + pCI := pe_capa, + spare3 := '0'B, + labelQCI := qci, + maxBitrateUplink := int2oct(max_br_ul, 5), + maxBitrateDownLink := int2oct(max_br_dl, 5), + guaranteedBitrateUplink := int2oct(g_br_ul, 5), + guaranteedBitrateDownLink := int2oct(g_br_dl, 5), + additionalOctets := omit +} + /* 8.17 */ template (value) RAT_Type ts_GTP2C_RatType(template (value) integer rat) := { elementIdentifier := '53'O, @@ -174,6 +337,66 @@ additionalOctets := * } +/* 8.21 */ +function ts_GTP2C_UserLocInfo(template (omit) CGI cgi := omit, + template (omit) SAI sai := omit, + template (omit) RAI rai := omit, + template (omit) TAI tai := omit, + template (omit) ECGI ecgi := omit, + template (omit) LAI lai := omit) +return template (value) UserLocationInfo { + var template (value) UserLocationInfo uli; + uli.elementIdentifier := '56'O; + uli.lengthIndicator := 0; // overwritten + uli.instance := '0000'B; + uli.spare := '0000'B; + uli.spare2 := '00'B; + uli.additionalOctets := omit; + + if (istemplatekind(cgi, "omit")) { + uli.cGI_Flag := '0'B; + } else { + uli.cGI_Flag := '1'B; + } + uli.cGI := cgi; + + if (istemplatekind(sai, "omit")) { + uli.sAI_Flag := '0'B; + } else { + uli.sAI_Flag := '1'B; + } + uli.sAI := sai; + + if (istemplatekind(rai, "omit")) { + uli.rAI_Flag := '0'B; + } else { + uli.rAI_Flag := '1'B; + } + uli.rAI := rai + + if (istemplatekind(tai, "omit")) { + uli.tAI_Flag := '0'B; + } else { + uli.tAI_Flag := '1'B; + } + uli.tAI := tai + + if (istemplatekind(ecgi, "omit")) { + uli.eCGI_Flag := '0'B; + } else { + uli.eCGI_Flag := '1'B; + } + uli.eCGI := ecgi; + + if (istemplatekind(lai, "omit")) { + uli.lAI_Flag := '0'B; + } else { + uli.lAI_Flag := '1'B; + } + uli.lAI := lai + + return uli; +} /* 8.22 */ private function f_bit4oct(template (omit) octetstring os) return BIT1 @@ -184,16 +407,59 @@ return '1'B; } } +type enumerated FteidInterface { + FTEID_IF_S1U_eNodeB_GTPU (0), + FTEID_IF_S1U_SGW_GTPU (1), + FTEID_IF_S12_RNC_GTPU (2), + FTEID_IF_S12_SGW_GTPU (3), + FTEID_IF_S5S8_SGW_GTPU (4), + FTEID_IF_S5S8_PGW_GTPU (5), + FTEID_IF_S5S8_SGW_GTPC (6), + FTEID_IF_S5S8_PGW_GTPC (7), + FTEID_IF_S5S8_SGW_PMIPv6 (8), + FTEID_IF_S5S8_PGW_PMIPv6 (9), + FTEID_IF_S11_MME_GTPC (10), + FTEID_IF_S11S4_SGW_GTPC (11), + FTEID_IF_S10ND26_MME_GTPC (12), + FTEID_IF_S3_MME_GTPC (13), + FTEID_IF_S3_SGSN_GTPC (14), + FTEID_IF_S4_SGSN_GTPU (15), + FTEID_IF_S4_SGW_GTPU (16), + FTEID_IF_S16_SGSN_GTPC (18), + FTEID_IF_eNB_GTPU_DL_DATA_FW (19), + FTEID_IF_eNB_GTPU_UL_DATA_FW (20), + FTEID_IF_RNC_GTPU_DATA_FW (21), + FTEID_IF_SGSN_GTPU_DATA_FW (22), + FTEID_IF_SGWUPF_GTPU_DL_DATA_FW (23), + FTEID_IF_Sm_MMBS_GW_GTPC (24), + FTEID_IF_Sn_MMBS_GW_GTPC (25), + FTEID_IF_Sm_MME_GTPC (26), + FTEID_IF_Sn_MME_GTPC (27), + FTEID_IF_SGW_GTPU_UL_DATA_FW (28), + FTEID_IF_Sn_SGSN_GTPU (29), + FTEID_IF_S2b_ePDG_GTPC (30), + FTEID_IF_S2bU_ePDG_GTPU (31), + FTEID_IF_S2b_PGW_GTPC (32), + FTEID_IF_S2bU_PGW_GTPU (33), + FTEID_IF_S2a_TWAN_GTPU (34), + FTEID_IF_S2a_TWAN_GTPC (35), + FTEID_IF_S2a_PGW_GTPC (36), + FTEID_IF_S2a_PGW_GTPU (37), + FTEID_IF_S11_MME_GTPU (38), + FTEID_IF_S11_SGW_GTPU (39), + FTEID_IF_N26_AMF_GTPC (40) +}; template (value) FullyQualifiedTEID -ts_GTP2C_FTEID(integer if_type, OCT4 teid, template (omit) OCT4 v4_addr := omit, +ts_GTP2C_FTEID(FteidInterface if_type, OCT4 teid, uint4_t instance := 0, + template (omit) OCT4 v4_addr := omit, template (omit) OCT16 v6_addr := omit) := { elementIdentifier := '57'O, lengthIndicator := 0, /* overwritten */ - instance := '0000'B, + instance := int2bit(instance, 4), spare := '0000'B, - interfaceType := if_type, - v6_Flag := f_bit4oct(v4_addr), - v4_Flag := f_bit4oct(v6_addr), + interfaceType := enum2int(if_type), + v6_Flag := f_bit4oct(v6_addr), + v4_Flag := f_bit4oct(v4_addr), tEID_GRE_Key := teid, iPv4_Address := v4_addr, iPv6_Address := v6_addr, @@ -201,11 +467,12 @@ } template (present) FullyQualifiedTEID tr_GTP2C_FTEID(template (present) integer if_type, template (present) OCT4 teid, + template BIT4 instance := ?, template OCT4 v4_addr := omit, template OCT16 v6_addr := omit) := { elementIdentifier := '57'O, lengthIndicator := ?, - instance := ?, + instance := instance, spare := '0000'B, interfaceType := if_type, v6_Flag := ?, @@ -216,6 +483,134 @@ additionalOctets := omit } +/* 8.28 */ +template (value) BearerContextGrouped +ts_GTP2C_BcGrouped(template (value) BearerContextIEs ies) := { + elementIdentifier := '5D'O, + lengthIndicator := 0, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + bearerContextIEs := ies +} +template (present) BearerContextGrouped +tr_GTP2C_BcGrouped(template (present) BearerContextIEs ies) := { + elementIdentifier := '5D'O, + lengthIndicator := ?, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + bearerContextIEs := ies +} + + + +/* 8.30 */ +template (value) ChargingCharacteristics +ts_GTP2C_ChargingCaracteristics(template (value) OCT2 cc) := { + elementIdentifier := '5F'O, + lengthIndicator := 0, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + chargingCharacteristicsValue := cc, + additionalOctets := omit +} +template (present) ChargingCharacteristics +tr_GTP2C_ChargingCaracteristics(template (present) OCT2 cc) := { + elementIdentifier := '5F'O, + lengthIndicator := ?, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + chargingCharacteristicsValue := cc, + additionalOctets := omit +} + + +/* 8.34 */ +template (value) PDN_Type +ts_GTP2C_PdnType(template (value) BIT3 pdn_type) := { + elementIdentifier := '63'O, + lengthIndicator := 0, + instance := '0000'B, + spare := '0000'B, + pDN_TypeValue := pdn_type, + spare2 := '00000'B, + additionalOctets := omit +} +template (present) PDN_Type +tr_GTP2C_PdnType(template (present) BIT3 pdn_type) := { + elementIdentifier := '63'O, + lengthIndicator := ?, + instance := ?, + spare := ?, + pDN_TypeValue := pdn_type, + spare2 := ?, + additionalOctets := * +} + +/* 8.35 */ +template (value) ProcedureTransactionID +ts_GTP2C_ProcTransId(template (value) integer pti) := { + elementIdentifier := '64'O, + lengthIndicator := 0, + instance := '0000'B, + spare := '0000'B, + pTI_Value := pti, + additionalOctets := omit +} +template (present) ProcedureTransactionID +tr_GTP2C_ProcTransId(template (present) integer pti) := { + elementIdentifier := '64'O, + lengthIndicator := ?, + instance :=?, + spare := ?, + pTI_Value := pti, + additionalOctets := * +} + + +/* 8.57 */ +template (value) APN_Restriction +ts_GTP2C_ApnRestriction(template (value) integer val) := { + elementIdentifier := '7F'O, + lengthIndicator := 0, + instance := '0000'B, + spare := '0000'B, + restrictionTypeValue := val, + additionalOctets := omit +} +template (present) APN_Restriction +tr_GTP2C_ApnRestriction(template (present) integer val) := { + elementIdentifier := '7F'O, + lengthIndicator := ?, + instance := '0000'B, + spare := ?, + restrictionTypeValue := val, + additionalOctets := * +} + + +/* 8.58 */ +template (value) SelectionMode +ts_GTP2C_SelectionMode(template (value) integer mode) := { + elementIdentifier := '80'O, + lengthIndicator := 0, /* overwritten */ + instance := '0000'B, + spare := '0000'B, + selectionModeValue := mode, + spare2 := '000000'B, + additionalOctets := omit +} +template (present) SelectionMode +tr_GTP2C_SelectionMode(template (present) integer mode) := { + elementIdentifier := '80'O, + lengthIndicator := ?, + instance := ?, + spare := ?, + selectionModeValue := mode, + spare2 := ?, + additionalOctets := * +} + + template (value) PDU_GTPCv2 ts_PDU_GTP2C(template (omit) OCT4 teid, template (value) OCT3 seq, @@ -236,8 +631,117 @@ } +template (value) PDU_GTPCv2 +ts_GTP2C_EchoReq(template (value) integer rec_val) := +ts_PDU_GTP2C(omit, '000000'O, '01'O, { + echoRequest := { + recovery := { + elementIdentifier := '03'O, + lengthIndicator := 0, + instance := '0000'B, + spare := '0000'B, + recoveryValue := rec_val + }, + sendingNodeFeatures := omit, + privateExtension := omit + }}); template (present) PDU_GTPCv2 -tr_GTP2C_CreateSessionReq(template (present) hexstring imsi) := tr_PDU_GTP2C('00000000'O, { +tr_GTP2C_EchoReq(template (present) OCT3 seq := ?) := +tr_PDU_GTP2C(omit, seq, { echoRequest := ? }, omit); + +template (value) PDU_GTPCv2 +ts_GTP2C_EchoResp(template (value) integer rec_val) := +ts_PDU_GTP2C(omit, '000000'O, '02'O, { + echoRequest := { + recovery := { + elementIdentifier := '03'O, + lengthIndicator := 0, + instance := '0000'B, + spare := '0000'B, + recoveryValue := rec_val + }, + sendingNodeFeatures := omit, + privateExtension := omit + }}); +template (present) PDU_GTPCv2 +tr_GTP2C_EchoResp(template (present) OCT3 seq := ?) := +tr_PDU_GTP2C(omit, seq, { echoResponse := ? }, omit); + + + +template (present) PDU_GTPCv2 +ts_GTP2C_CreateSessionReq(template (value) hexstring imsi, template (omit) hexstring msisdn, + integer rat_type, template (value) FullyQualifiedTEID sender_fteid, + template (value) octetstring apn, template (value) BIT3 pdn_type, + template (omit) FullyQualifiedTEID_List teid_list, + template (value) OCT2 chg_car, template (value) uint4_t bearer_id, + template (value) Bearer_QoS qos := ts_GTP2C_BearerQos('09'O, 0,0,0,0)) := +ts_PDU_GTP2C('00000000'O, '000000'O, '20'O, { + createSessionRequest := { + iMSI := ts_GTP2C_Imsi(imsi), + mSISDN := fs_GTP2C_msisdn(msisdn), + mEI := omit, + userLocationInfo := omit, + servingNetwork := omit, + rAT_Type := ts_GTP2C_RatType(rat_type), + indication := omit, + fullyQualifiedTEID := { sender_fteid }, + accessPointName := ts_GTP2C_APN(apn), + selectionMode := ts_GTP2C_SelectionMode(0), + pDN_Type := ts_GTP2C_PdnType(pdn_type), + pDN_AddressAllocation := ts_GTP2C_PdnAddrAlloc('001'B, {iPv4_Address:='00000000'O}), + maxAPN_Restriction := ts_GTP2C_ApnRestriction(0), + ambr := ts_GTP2C_Ambr(102400, 102400), + linkedEPS_Bearer_ID := omit, + trustedWLANModeIndication := omit, + protocolConfigOptions := omit, + bearerContextGrouped := { + ts_GTP2C_BcGrouped({ + ePS_Bearer_ID := ts_GTP2C_EpsBearerId(bearer_id), + cause := omit, + ePS_Bearer_TFT := omit, + fullyQualifiedTEID := teid_list, + bearerLevel_QoS := qos, + chargingID := omit, + bearerFlags := omit, + transactionIdentifier := omit, + protocolConfigOptions := omit, + rAN_NASCause := omit, + additionalProtocolConfigOptions := omit, + extendedProtocolConfigOptions := omit + }) + }, + traceInformation := omit, + recovery := omit, + csid := omit, + uE_TimeZone := omit, + user_CSG_Information := omit, + chargingCharacteristics := ts_GTP2C_ChargingCaracteristics(chg_car), + lDN := omit, + signallingPriorityIndication := omit, + iP_Addr := omit, + portNumber := omit, + aPCO := omit, + trustedWLANAccessNetworkIdentifier := omit, + cNOperatorSelectionEntity := omit, + presenceReportingAreaInformation := omit, + overloadControlInformationGrouped := omit, + originationTimeStamp := omit, + maximumWaitTime := omit, + wLANLocationTimestamp := omit, + nBIFOMContainer := omit, + remoteUEContextGrouped := omit, + nodeIdentifier := omit, + extendedProtocolConfigOptions := omit, + servingPLMNRateControl := omit, + counter := omit, + privateExtension := omit + }}); + + +template (present) PDU_GTPCv2 +tr_GTP2C_CreateSessionReq(template (present) hexstring imsi) := +tr_PDU_GTP2C('00000000'O, ?, { createSessionRequest := { iMSI := tr_GTP2C_Imsi(imsi), mSISDN := *, @@ -287,7 +791,7 @@ template (value) PDU_GTPCv2 ts_GTP2C_CreateSessionResp(template (value) FullyQualifiedTEID_List fteids, template (value) PDN_AddressAllocation addr) := -ts_PDU_GTP2C('00000000'O, '000000'O, '20'O, { +ts_PDU_GTP2C('00000000'O, '000000'O, '21'O, { createSessionResponse := { cause := ts_GTP2C_Cause(int2oct(16, 1), '0'B), changeReportingAction := omit, @@ -317,6 +821,219 @@ extendedProtocolConfigOptions := omit, privateExtension := omit }}); +template (present) PDU_GTPCv2 +tr_GTP2C_CreateSessionResp(template (present) OCT4 d_teid := ?, + template (present) OCT3 seq := ?, + template (present) OCT1 cause := ?, + template FullyQualifiedTEID_List fteids := *, + template PDN_AddressAllocation addr := *, + template BearerContextGrouped_List bctxg := *) := +tr_PDU_GTP2C(d_teid, seq, { + createSessionResponse := { + cause := tr_GTP2C_Cause(cause), + changeReportingAction := *, + cSG_InformationReportingAction := *, + heNBInformationReporting := *, + fullyQualifiedTEID := fteids, + pDN_AddressAllocation := addr, + aPN_Restriction := ?, + ambr := *, + linkedEPS_Bearer_ID := *, + protocolConfigOptions := *, + bearerContextGrouped := bctxg, + recovery := *, + chargingGatewayName := *, + chargingGatewayAddress := *, + csid := *, + lDN := *, + pGW_Back_OffTime := *, + aPCO := *, + trustedWLANIPv4Parameters := *, + indicationFlags := *, + presenceReportingAreaAction := *, + loadControlInformationGrouped := *, + overloadControlInformationGrouped := *, + nBIFOMContainer := *, + pDNConnectionChargingID := *, + extendedProtocolConfigOptions := *, + privateExtension := * + }}); + + +template (value) PDU_GTPCv2 +ts_GTP2C_DeleteSessionReq(template (value) OCT4 d_teid, + template (omit) OCT1 cause := omit, + template (value) FullyQualifiedTEID sender_fteid, + template (omit) FullyQualifiedTEID_List teid_list := omit, + template (value) uint4_t bearer_id) := +ts_PDU_GTP2C(d_teid, '000000'O, '24'O, { + deleteSessionRequest := { + cause := fs_GTP2C_Cause(cause, '0'B), + linkedEPS_Bearer_ID := ts_GTP2C_EpsBearerId(bearer_id), + uLI := omit, + indicationFlags := omit, + protocolConfigOptions := omit, + originatingNode := omit, + fullyQualifiedTEID := sender_fteid, + uE_TimeZone := omit, + uLITimestamp := omit, + rANNASReleaseCause := omit, + trustedWLANAccessNetworkIdentifier := omit, + tWANIdentifierTimestamp := omit, + overloadControlInformationGrouped := omit, + uELocalIP_Addr := omit, + portNumber := omit, + extendedProtocolConfigOptions := omit, + privateExtension := omit + }}); +template (present) PDU_GTPCv2 +tr_GTP2C_DeleteSessionReq(template (present) OCT4 d_teid, + template (present) OCT3 seq := ?, + template (omit) OCT1 cause, + template (present) FullyQualifiedTEID sender_fteid, + template FullyQualifiedTEID_List teid_list, + template (present) uint4_t bearer_id) := +tr_PDU_GTP2C(d_teid, seq, { + deleteSessionRequest := { + cause := fr_GTP2C_Cause(cause), + linkedEPS_Bearer_ID := tr_GTP2C_EpsBearerId(bearer_id), + uLI := *, + indicationFlags := *, + protocolConfigOptions := *, + originatingNode := *, + fullyQualifiedTEID := sender_fteid, + uE_TimeZone := *, + uLITimestamp := *, + rANNASReleaseCause := *, + trustedWLANAccessNetworkIdentifier := *, + tWANIdentifierTimestamp := *, + overloadControlInformationGrouped := *, + uELocalIP_Addr := *, + portNumber := *, + extendedProtocolConfigOptions := *, + privateExtension := * + }}); + + +template (value) PDU_GTPCv2 +ts_GTP2C_DeleteSessionResp(template (value) OCT4 d_teid, + template (value) OCT3 seq, + template (value) OCT1 cause) := +ts_PDU_GTP2C(d_teid, '000000'O, '25'O, { + deleteSessionResponse := { + cause := ts_GTP2C_Cause(cause, '0'B), + recovery := omit, + protocolConfigOptions := omit, + indicationFlags := omit, + loadControlInformationGrouped := omit, + overloadControlInformationGrouped := omit, + extendedProtocolConfigOptions := omit, + privateExtension := omit + + }}); +template (present) PDU_GTPCv2 +tr_GTP2C_DeleteSessionResp(template (present) OCT4 d_teid, + template (present) OCT3 seq := ?, + template (present) OCT1 cause := ? + ) := +tr_PDU_GTP2C(d_teid, seq, { + deleteSessionResponse := { + cause := tr_GTP2C_Cause(cause), + recovery := *, + protocolConfigOptions := *, + indicationFlags := *, + loadControlInformationGrouped := *, + overloadControlInformationGrouped := *, + extendedProtocolConfigOptions := *, + privateExtension := * + }}); + +template (value) PDU_GTPCv2 +ts_GTP2C_CreateBearerReq(template (value) OCT4 d_teid, + template (value) integer proc_trans_id, + template (value) uint4_t linked_id, + template (value) uint4_t bearer_id, + template (omit) FullyQualifiedTEID_List teid_list, + template (value) Bearer_QoS qos := ts_GTP2C_BearerQos('09'O, 0,0,0,0)) := +ts_PDU_GTP2C(d_teid, '000000'O, '5F'O, { + createBearerRequest := { + procedureTransactionID := ts_GTP2C_ProcTransId(proc_trans_id), + linkedEPS_BearerID := ts_GTP2C_EpsBearerId(linked_id), + protocolConfigOptions := omit, + bearerContextGrouped := { + ts_GTP2C_BcGrouped({ + ePS_Bearer_ID := ts_GTP2C_EpsBearerId(bearer_id), + cause := omit, + ePS_Bearer_TFT := omit, + fullyQualifiedTEID := teid_list, + bearerLevel_QoS := qos, + chargingID := omit, + bearerFlags := omit, + transactionIdentifier := omit, + protocolConfigOptions := omit, + rAN_NASCause := omit, + additionalProtocolConfigOptions := omit, + extendedProtocolConfigOptions := omit + }) + }, + csid := omit, + changeReportingAction := omit, + cSG_InformationReportingAction := omit, + heNBInformationReporting := omit, + presenceReportingAreaAction := omit, + indicationFlags := omit, + loadControlInformationGrouped := omit, + overloadControlInformationGrouped := omit, + nBIFOMContainer := omit, + privateExtension := omit + }}); + + +template (value) PDU_GTPCv2 +ts_GTP2C_DeleteBearerReq(template (value) OCT4 d_teid, + template (value) integer proc_trans_id, + template (value) uint4_t bearer_id, + template (value) OCT1 cause) := +ts_PDU_GTP2C(d_teid, '000000'O, '63'O, { + deleteBearerRequest := { + epsBearerIdentity := { ts_GTP2C_EpsBearerId(bearer_id) }, + bearerContextGrouped := omit, + procedureTransactionID := ts_GTP2C_ProcTransId(proc_trans_id), + protocolConfigOptions := omit, + csid := omit, + cause := ts_GTP2C_Cause(cause, '0'B), + indicationFlags := omit, + loadControlInformationGrouped := omit, + overloadControlInformationGrouped := omit, + nBIFOMContainer := omit, + extendedProtocolConfigOptions := omit, + privateExtension := omit + }}); + + +template (present) PDU_GTPCv2 +tr_GTP2C_DeleteBearerResp(template (present) OCT4 d_teid, + template (present) OCT3 seq := ?, + template (present) OCT1 cause := ?) := +tr_PDU_GTP2C(d_teid, seq, { + deleteBearerResponse := { + cause := tr_GTP2C_Cause(cause), + linkedBearerIdentity := *, + bearerContextGrouped := *, + recovery := *, + csid := *, + protocolConfigOptions := *, + uE_TimeZone := *, + uLI := *, + uLITimestamp := *, + trustedWLANAccessNetworkIdentifier := *, + tWANIdentifierTimestamp := *, + overloadControlInformationGrouped := *, + iP_Addr := *, + portNumber := *, + nBIFOMContainer := *, + privateExtension := * + }}); diff --git a/library/General_Types.ttcn b/library/General_Types.ttcn index da396b7..40f0770 100644 --- a/library/General_Types.ttcn +++ b/library/General_Types.ttcn @@ -147,6 +147,7 @@ type octetstring OCT3_14n length(3..14) with { variant "" }; type octetstring OCT3_17n length(3..17) with { variant "" }; type octetstring OCT4_8n length(4..8) with { variant "" }; + type octetstring OCT4_16n length(4..16) with { variant "" }; //**************************************************** diff --git a/library/Osmocom_Types.ttcn b/library/Osmocom_Types.ttcn index 2e71123..3b2ca17 100644 --- a/library/Osmocom_Types.ttcn +++ b/library/Osmocom_Types.ttcn @@ -34,6 +34,7 @@ type integer uint13_t (0..8191) with { variant "unsigned 13 bit" }; type integer uint14_t (0..16383) with { variant "unsigned 14 bit" }; type integer uint15_t (0..32767) with { variant "unsigned 15 bit" }; + type integer uint40_t (0..1099511627776) with { variant "unsigned 40 bit" }; const uint16_t c_UINT16_MAX := 65535; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17867 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: If73aa453e44ebf28032c60d207feb03e8061dc0c Gerrit-Change-Number: 17867 Gerrit-PatchSet: 4 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 Apr 21 21:02:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 21:02:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Don't wait for 10s timeout if starting a ping that takes 10s In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17926 ) Change subject: pgw: Don't wait for 10s timeout if starting a ping that takes 10s ...................................................................... pgw: Don't wait for 10s timeout if starting a ping that takes 10s rather, dynamically wait 5s longer than the theoretical time it should take. Change-Id: Ife2b7b8d03ee6808cfa73bb860cc63c46c451499 --- M pgw/PGW_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pgw/PGW_Tests.ttcn b/pgw/PGW_Tests.ttcn index 22e32da..cf3b901 100644 --- a/pgw/PGW_Tests.ttcn +++ b/pgw/PGW_Tests.ttcn @@ -335,7 +335,7 @@ var charstring ping :="ping -c " & int2str(count) & " -i " & int2str(interval); ping := ping & " -I " & f_inet_ntoa(g_ip4_addr); ping := ping & " " & host; - f_start_prog_wait(ping); + f_start_prog_wait(ping, tout := int2float(5 + interval*count)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17926 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: Ife2b7b8d03ee6808cfa73bb860cc63c46c451499 Gerrit-Change-Number: 17926 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 Apr 21 21:02:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 21:02:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Add TC_createSession_ping4_256 to test 256 parallel sessions In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17927 ) Change subject: pgw: Add TC_createSession_ping4_256 to test 256 parallel sessions ...................................................................... pgw: Add TC_createSession_ping4_256 to test 256 parallel sessions Change-Id: I38cfaddfb60952f17846fbf87b1a29c32e646438 --- M pgw/PGW_Tests.ttcn 1 file changed, 38 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pgw/PGW_Tests.ttcn b/pgw/PGW_Tests.ttcn index cf3b901..c99302c 100644 --- a/pgw/PGW_Tests.ttcn +++ b/pgw/PGW_Tests.ttcn @@ -126,6 +126,26 @@ fn.apply(); } +private function f_concat_pad(integer tot_len, hexstring prefix, integer suffix) return hexstring { + var integer suffix_len := tot_len - lengthof(prefix); + var charstring suffix_ch := int2str(suffix); + var integer pad_len := suffix_len - lengthof(suffix_ch); + + return prefix & int2hex(0, pad_len) & str2hex(suffix_ch); +} + +function f_gen_imei(integer suffix) return hexstring { + return f_concat_pad(14, '49999'H, suffix); +} + +function f_gen_imsi(integer suffix) return hexstring { + return f_concat_pad(15, '26242'H, suffix); +} + +function f_gen_msisdn(integer suffix) return hexstring { + return f_concat_pad(12, '49123'H, suffix); +} + /* find TEID of given interface type (and optionally instance) */ private function f_find_teid(FullyQualifiedTEID_List list, @@ -385,6 +405,23 @@ vc_conn := f_start_handler(refers(f_TC_createSession_ping4), pars); vc_conn.done; } +testcase TC_createSession_ping4_256() runs on PGW_Test_CT { + var PGW_Session_CT vc_conn[256]; + var integer i; + + f_init(); + + for (i := 0; i < sizeof(vc_conn); i:=i+1) { + var charstring tundev := "ping" & int2str(i); + var SessionPars pars := valueof(t_SessionPars(f_gen_imsi(i), tundev)); + vc_conn[i] := f_start_handler(refers(f_TC_createSession_ping4), pars); + } + + for (i := 0; i < lengthof(vc_conn); i:=i+1) { + vc_conn[i].done; + } +} + /* create a session, then delete it again */ private function f_TC_createSession_deleteSession() runs on PGW_Session_CT { @@ -422,6 +459,7 @@ execute( TC_tx_echo() ); execute( TC_createSession() ); execute( TC_createSession_ping4() ); + execute( TC_createSession_ping4_256() ); execute( TC_createSession_deleteSession() ); execute( TC_deleteSession_unknown() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17927 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: I38cfaddfb60952f17846fbf87b1a29c32e646438 Gerrit-Change-Number: 17927 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 Apr 21 21:03:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 21:03:04 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Implement ping on IPv6 APNs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17826 ) Change subject: sgsnemu: Implement ping on IPv6 APNs ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17826 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: If9ca7c37a1a397bbc3f8912d67bccdabc4968e0c Gerrit-Change-Number: 17826 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 21 Apr 2020 21:03: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 Apr 21 21:03:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 21:03:08 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Implement ping on IPv6 APNs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17826 ) Change subject: sgsnemu: Implement ping on IPv6 APNs ...................................................................... sgsnemu: Implement ping on IPv6 APNs Related: OS#4434 Change-Id: If9ca7c37a1a397bbc3f8912d67bccdabc4968e0c --- M lib/icmpv6.c M lib/icmpv6.h M sgsnemu/sgsnemu.c 3 files changed, 234 insertions(+), 51 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/lib/icmpv6.c b/lib/icmpv6.c index 1bddf65..ac1474d 100644 --- a/lib/icmpv6.c +++ b/lib/icmpv6.c @@ -42,7 +42,7 @@ }; /* Prepends the ipv6 header and returns checksum content */ -static uint16_t icmpv6_prepend_ip6hdr(struct msgb *msg, const struct in6_addr *saddr, +uint16_t icmpv6_prepend_ip6hdr(struct msgb *msg, const struct in6_addr *saddr, const struct in6_addr *daddr) { uint32_t len; diff --git a/lib/icmpv6.h b/lib/icmpv6.h index 44b9b73..4b4dc37 100644 --- a/lib/icmpv6.h +++ b/lib/icmpv6.h @@ -22,6 +22,13 @@ uint16_t csum; } __attribute__ ((packed)); +struct icmpv6_echo_hdr { + struct icmpv6_hdr hdr; + uint16_t ident; /* Identifier */ + uint16_t seq; /* Sequence number */ + uint8_t data[0]; /* Data */ +} __attribute__ ((packed)); + /* RFC4861 Section 4.1 */ struct icmpv6_rsol_hdr { struct icmpv6_hdr hdr; @@ -76,6 +83,9 @@ uint8_t prefix[16]; } __attribute__ ((packed)); +uint16_t icmpv6_prepend_ip6hdr(struct msgb *msg, const struct in6_addr *saddr, + const struct in6_addr *daddr); + struct msgb *icmpv6_construct_rs(const struct in6_addr *saddr); int handle_router_mcast(struct gsn_t *gsn, struct pdp_t *pdp, diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 69879dd..7d60c31 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -104,7 +104,7 @@ size_t prefixlen; char *ipup, *ipdown; /* Filename of scripts */ int defaultroute; /* Set up default route */ - struct in_addr pinghost; /* Remote ping host */ + struct in46_addr pinghost; /* Remote ping host */ int pingrate; int pingsize; int pingcount; @@ -166,6 +166,11 @@ uint8_t data[CREATEPING_MAX]; /* Data */ } __attribute__ ((packed)); +struct ip6_ping { + struct icmpv6_echo_hdr hdr; + uint8_t data[CREATEPING_MAX]; /* Data */ +} __attribute__ ((packed)); + /* Statistical values for ping */ int nreceived = 0; int ntreceived = 0; @@ -916,20 +921,61 @@ /* defaultroute */ options.defaultroute = args_info.defaultroute_flag; + /* PDP Type */ + if (!strcmp(args_info.pdp_type_arg, "v6")) + options.pdp_type = PDP_EUA_TYPE_v6; + else if (!strcmp(args_info.pdp_type_arg, "v4")) + options.pdp_type = PDP_EUA_TYPE_v4; + else { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Unsupported/unknown PDP Type '%s'\n", + args_info.pdp_type_arg); + return -1; + } + /* pinghost */ /* Store ping host as in_addr */ if (args_info.pinghost_arg) { - if (!(host = gethostbyname(args_info.pinghost_arg))) { + struct addrinfo hints; + struct addrinfo *result; + memset(&hints, 0, sizeof(struct addrinfo)); + switch (options.pdp_type) { + case PDP_EUA_TYPE_v4: + hints.ai_family = AF_INET; + break; + case PDP_EUA_TYPE_v6: + hints.ai_family = AF_INET6; + break; + default: + SYS_ERR(DSGSN, LOGL_ERROR, 0, "lookup(AF_UNSPEC) %d", options.pdp_type); + hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */ + } + hints.ai_socktype = SOCK_DGRAM; + hints.ai_flags = 0; + hints.ai_protocol = 0; + hints.ai_canonname = NULL; + hints.ai_addr = NULL; + hints.ai_next = NULL; + if ((i = getaddrinfo(args_info.pinghost_arg, NULL, &hints, &result)) != 0) { SYS_ERR(DSGSN, LOGL_ERROR, 0, - "Invalid ping host: %s!", - args_info.pinghost_arg); + "Invalid ping host '%s': %s", + args_info.pinghost_arg, gai_strerror(i)); return -1; } else { - memcpy(&options.pinghost.s_addr, host->h_addr, - host->h_length); + switch (result->ai_family) { + case AF_INET: + options.pinghost.len = sizeof(struct in_addr); + options.pinghost.v4 = ((struct sockaddr_in*)result->ai_addr)->sin_addr; + SYS_ERR(DSGSN, LOGL_ERROR, 0, "AF_INET %d", options.pinghost.len); + break; + case AF_INET6: + options.pinghost.len = sizeof(struct in6_addr); + options.pinghost.v6 = ((struct sockaddr_in6*)result->ai_addr)->sin6_addr; + break; + } printf("Using ping host: %s (%s)\n", args_info.pinghost_arg, - inet_ntoa(options.pinghost)); + in46a_ntoa(&options.pinghost)); + freeaddrinfo(result); } } @@ -947,22 +993,6 @@ else options.tx_gpdu_seq = 1; - /* PDP Type */ - if (!strcmp(args_info.pdp_type_arg, "v6")) - options.pdp_type = PDP_EUA_TYPE_v6; - else if (!strcmp(args_info.pdp_type_arg, "v4")) - options.pdp_type = PDP_EUA_TYPE_v4; - else { - SYS_ERR(DSGSN, LOGL_ERROR, 0, "Unsupported/unknown PDP Type '%s'\n", - args_info.pdp_type_arg); - return -1; - } - - if (options.pingcount && options.pdp_type != PDP_EUA_TYPE_v4) { - SYS_ERR(DSGSN, LOGL_ERROR, 0, "built-in ping only works with IPv4, use tun-device"); - return -1; - } - return 0; } @@ -1118,7 +1148,7 @@ struct timezone tz; struct timeval tv; int diff; - if ((options.pinghost.s_addr) && (2 == state) && + if ((options.pinghost.len) && (2 == state) && ((pingseq < options.pingcount) || (options.pingcount == 0))) { gettimeofday(&tv, &tz); diff = 1000000 / options.pingrate * pingseq - 1000000 * (tv.tv_sec - firstping.tv_sec) - (tv.tv_usec - firstping.tv_usec); /* Microseconds safe up to 500 sec */ @@ -1143,7 +1173,7 @@ gettimeofday(&tv, &tz); elapsed = 1000000 * (tv.tv_sec - firstping.tv_sec) + (tv.tv_usec - firstping.tv_usec); /* Microseconds */ printf("\n"); - printf("\n----%s PING Statistics----\n", inet_ntoa(options.pinghost)); + printf("\n----%s PING Statistics----\n", in46a_ntoa(&options.pinghost)); printf("%d packets transmitted in %.3f seconds, ", ntransmitted, elapsed / 1000000.0); printf("%d packets received, ", nreceived); @@ -1167,10 +1197,8 @@ return 0; } -/* Handle a received ping packet. Print out line and update statistics. */ -static int encaps_ping(struct pdp_t *pdp, void *pack, unsigned len) +static int encaps_ping4(struct pdp_t *pdp, void *pack, unsigned len) { - struct timezone tz; struct timeval tv; struct timeval *tp; struct ip_ping *pingpack = pack; @@ -1179,17 +1207,12 @@ src.s_addr = pingpack->src; - gettimeofday(&tv, &tz); - if (options.debug) - printf("%d.%6d ", (int)tv.tv_sec, (int)tv.tv_usec); - if (len < CREATEPING_IP + CREATEPING_ICMP) { printf("packet too short (%d bytes) from %s\n", len, inet_ntoa(src)); return 0; } - ntreceived++; if (pingpack->protocol != 1) { if (!options.pingquiet) printf("%d bytes from %s: ip_protocol=%d (%s)\n", @@ -1213,7 +1236,7 @@ inet_ntoa(src), ntohs(pingpack->seq)); if (len >= sizeof(struct timeval) + CREATEPING_IP + CREATEPING_ICMP) { - gettimeofday(&tv, &tz); + gettimeofday(&tv, NULL); tp = (struct timeval *)pingpack->data; if ((tv.tv_usec -= tp->tv_usec) < 0) { tv.tv_sec--; @@ -1236,15 +1259,106 @@ return 0; } -/* Create a new ping packet and send it off to peer. */ -static int create_ping(void *gsn, struct pdp_t *pdp, - struct in_addr *dst, int seq, unsigned int datasize) +static int encaps_ping6(struct pdp_t *pdp, struct ip6_hdr *ip6h, unsigned len) { + const struct icmpv6_echo_hdr *ic6h = (struct icmpv6_echo_hdr *) ((uint8_t*)ip6h + sizeof(*ip6h)); + struct timeval tv; + struct timeval tp; + int triptime; + char straddr[128]; + if (len < sizeof(struct ip6_hdr)) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Packet len too small to contain IPv6 header (%d)", len); + return 0; + } + + if (ip6h->ip6_ctlun.ip6_un1.ip6_un1_nxt != IPPROTO_ICMPV6) { + if (!options.pingquiet) + printf("%d bytes from %s: ip6_protocol=%d (%s)\n", len, + inet_ntop(AF_INET6, &ip6h->ip6_src, straddr, sizeof(straddr)), + ip6h->ip6_ctlun.ip6_un1.ip6_un1_nxt, + print_ipprot(ip6h->ip6_ctlun.ip6_un1.ip6_un1_nxt)); + return 0; + } + + if (len < sizeof(struct ip6_hdr) + sizeof(struct icmpv6_echo_hdr)) { + LOGP(DSGSN, LOGL_ERROR, "Packet len too small to contain ICMPv6 echo header (%d)\n", len); + return 0; + } + + if (ic6h->hdr.type != 129 || ic6h->hdr.code != 0) { + if (!options.pingquiet) + printf + ("%d bytes from %s: icmp_type=%d icmp_code=%d\n", len, + inet_ntop(AF_INET6, &ip6h->ip6_src, straddr, sizeof(straddr)), + ic6h->hdr.type, ic6h->hdr.code); + return 0; + } + + nreceived++; + if (!options.pingquiet) + printf("%d bytes from %s: icmp_seq=%d", len, + inet_ntop(AF_INET6, &ip6h->ip6_src, straddr, sizeof(straddr)), + ntohs(ic6h->seq)); + + if (len >= sizeof(struct ip6_hdr) + sizeof(struct icmpv6_echo_hdr) + sizeof(struct timeval)) { + gettimeofday(&tv, NULL); + memcpy(&tp, ic6h->data, sizeof(struct timeval)); + if ((tv.tv_usec -= tp.tv_usec) < 0) { + tv.tv_sec--; + tv.tv_usec += 1000000; + } + tv.tv_sec -= tp.tv_sec; + + triptime = tv.tv_sec * 1000000 + (tv.tv_usec); + tsum += triptime; + if (triptime < tmin) + tmin = triptime; + if (triptime > tmax) + tmax = triptime; + + if (!options.pingquiet) + printf(" time=%.3f ms\n", triptime / 1000.0); + + } else if (!options.pingquiet) + printf("\n"); + return 0; +} + +/* Handle a received ping packet. Print out line and update statistics. */ +static int encaps_ping(struct pdp_t *pdp, void *pack, unsigned len) +{ + struct iphdr *iph = (struct iphdr *)pack; + struct timeval tv; + + + gettimeofday(&tv, NULL); + if (options.debug) + printf("%d.%6d ", (int)tv.tv_sec, (int)tv.tv_usec); + + ntreceived++; + + if (len < sizeof(struct iphdr)) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Packet len too small to contain ip header (%d)", len); + return -1; + } + switch(iph->version) { + case 4: + return encaps_ping4(pdp, pack, len); + case 6: + return encaps_ping6(pdp, (struct ip6_hdr *)pack, len); + default: + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Unknown ip header version %d", iph->version); + return -1; + } +} + +static int create_ping4(void *gsn, struct pdp_t *pdp, struct in46_addr *src, + struct in46_addr *dst, int seq, unsigned int datasize) +{ struct ip_ping pack; uint16_t v16; uint8_t *p8 = (uint8_t *) & pack; - struct in_addr src; unsigned int n; long int sum = 0; int count = 0; @@ -1253,14 +1367,6 @@ struct timeval *tp = (struct timeval *)&p8[CREATEPING_IP + CREATEPING_ICMP]; - if (datasize > CREATEPING_MAX) { - SYS_ERR(DSGSN, LOGL_ERROR, 0, - "Ping size to large: %d!", datasize); - return -1; - } - - memcpy(&src, &(pdp->eua.v[2]), 4); /* Copy a 4 byte address */ - pack.ipver = 0x45; pack.tos = 0x00; pack.length = htons(CREATEPING_IP + CREATEPING_ICMP + datasize); @@ -1269,8 +1375,8 @@ pack.ttl = 0x40; pack.protocol = 0x01; pack.ipcheck = 0x0000; - pack.src = src.s_addr; - pack.dst = dst->s_addr; + pack.src = src->v4.s_addr; + pack.dst = dst->v4.s_addr; pack.type = 0x08; pack.code = 0x00; pack.checksum = 0x0000; @@ -1320,6 +1426,73 @@ return gtp_data_req(gsn, pdp, &pack, 28 + datasize); } +static int create_ping6(void *gsn, struct pdp_t *pdp, struct in46_addr *src, + struct in46_addr *dst, int seq, unsigned int datasize) +{ + struct ip6_ping *pack; + uint8_t *p8; + unsigned int n; + struct timezone tz; + struct timeval *tp; + + struct msgb *msg = msgb_alloc_headroom(sizeof(struct ip6_ping) + 128,128, "ICMPv6 echo"); + OSMO_ASSERT(msg); + pack = (struct ip6_ping *) msgb_put(msg, sizeof(struct icmpv6_echo_hdr) + datasize); + pack->hdr.hdr.type = 128; + pack->hdr.hdr.code = 0; + pack->hdr.hdr.csum = 0; /* updated below */ + pack->hdr.ident = 0x0000; + pack->hdr.seq = htons(seq); + + p8 = pack->data; + for (n = 0; n < (datasize); n++) + p8[n] = n; + + if (datasize >= sizeof(struct timeval)) { + tp = (struct timeval *)pack->data; + gettimeofday(tp, &tz); + } + + pack->hdr.hdr.csum = icmpv6_prepend_ip6hdr(msg, &src->v6, &dst->v6); + + ntransmitted++; + return gtp_data_req(gsn, pdp, msgb_data(msg), msgb_length(msg)); +} + +/* Create a new ping packet and send it off to peer. */ +static int create_ping(void *gsn, struct pdp_t *pdp, + struct in46_addr *dst, int seq, unsigned int datasize) +{ + int num_addr; + struct in46_addr addr[2]; + struct in46_addr *src; + + if (datasize > CREATEPING_MAX) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, + "Ping size to large: %d!", datasize); + return -1; + } + + if ((num_addr = in46a_from_eua(&pdp->eua, addr)) < 1) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, + "in46a_from_eua() failed! %d", num_addr); + return -1; + } + if (dst->len == addr[0].len) { + src = &addr[0]; + } else if (num_addr > 1 && dst->len == addr[1].len) { + src = &addr[1]; + } else { + SYS_ERR(DSGSN, LOGL_ERROR, 0, + "Mismaching source and destination IP addr types (%d vs %d)", dst->len, addr[0].len); + return -1; + } + if (in46a_is_v4(dst)) + return create_ping4(gsn, pdp, src, dst, seq, datasize); + else + return create_ping6(gsn, pdp, src, dst, seq, datasize); +} + static int delete_context(struct pdp_t *pdp) { int rc; @@ -1955,7 +2128,7 @@ /* Delete context */ printf("Disconnecting PDP context #%d\n", n); gtp_delete_context_req2(gsn, iparr[n].pdp, NULL, 1); - if ((options.pinghost.s_addr != 0) + if ((options.pinghost.len) && ntransmitted) ping_finish(); } @@ -1965,7 +2138,7 @@ diff = 0; while ((diff <= 0) && /* Send off an ICMP ping packet */ - /*if ( */ (options.pinghost.s_addr) && (2 == state) && + /*if ( */ (options.pinghost.len) && (2 == state) && ((pingseq < options.pingcount) || (options.pingcount == 0))) { if (!pingseq) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17826 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: If9ca7c37a1a397bbc3f8912d67bccdabc4968e0c Gerrit-Change-Number: 17826 Gerrit-PatchSet: 3 Gerrit-Owner: pespin 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 Tue Apr 21 21:03:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 21:03:15 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Fix assumption ipv6 Interface-Identifier of public addr == a... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17828 ) Change subject: sgsnemu: Fix assumption ipv6 Interface-Identifier of public addr == announced Prefix ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17828 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I0d36145250185e4cce699fdaedfe96bd969f5fa1 Gerrit-Change-Number: 17828 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 21 Apr 2020 21: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 Tue Apr 21 21:03:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 21:03:18 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: Fix assumption ipv6 Interface-Identifier of public addr == a... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17828 ) Change subject: sgsnemu: Fix assumption ipv6 Interface-Identifier of public addr == announced Prefix ...................................................................... sgsnemu: Fix assumption ipv6 Interface-Identifier of public addr == announced Prefix Until now, sgsnemu was able to identify pdp contexts of incoming packets in the tun based on the assumption that the Interface-Identifier part of public IPv6 addresses in incoming packets was equal to the announced prefix path during Create Pdp Context Response (see changes in cb_tun_ind()). This assumption works fine with osmo-ggsn due to implementation details but breaks on other spec-conformant GGSNs. In order to fix it, a new placeholder struct pdp_peer_sgsnemu_ctx is introduced which will be assigned to each pdp_t "peer[0]" user-defined pointer. This way, each pdp_t ctx upgrades from having only 1 iphash_t item to 3 (hence being able to match against 3 different ip addresses). This way, in IPv6 we can match against 2 different IP addresses set on the tun iface: * link-local: "fe80::IfId", where IfId is the Interface-Identifier received during Pdp Context Resp and which can be used to communicate with the nearest router (the GGSN). * global: The global IPv6 addr set after SLAAC procedure, containing a the prefix announced by CreatePdpContextResp/RouterAdvertisement and an Interface-Identifier chosen by sgsnemu itself (currently ::ff). This change is also a step forward towards supporting IPv4v6 APNs in sgsnemu. Related: OS#4434 Change-Id: I0d36145250185e4cce699fdaedfe96bd969f5fa1 --- M sgsnemu/sgsnemu.c 1 file changed, 53 insertions(+), 41 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 7d60c31..4c51157 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -67,15 +67,23 @@ #define MAXCONTEXTS 1024 /* Max number of allowed contexts */ /* HASH tables for IP address allocation */ +struct pdp_peer_sgsnemu_ctx; struct iphash_t { uint8_t inuse; /* 0=free. 1=used by somebody */ struct iphash_t *ipnext; - struct pdp_t *pdp; + struct pdp_peer_sgsnemu_ctx *ctx; struct in46_addr addr; }; -struct iphash_t iparr[MAXCONTEXTS]; struct iphash_t *iphash[MAXCONTEXTS]; +struct pdp_peer_sgsnemu_ctx { + struct iphash_t hash_v4; + struct iphash_t hash_v6_ll; + struct iphash_t hash_v6_global; + struct pdp_t *pdp; +}; +struct pdp_peer_sgsnemu_ctx ctx_arr[MAXCONTEXTS]; + /* State variable used for ping */ /* 0: Idle */ /* 1: Wait_connect */ @@ -192,6 +200,9 @@ int hash = ippool_hash(addr) % MAXCONTEXTS; struct iphash_t *h; struct iphash_t *prev = NULL; + + printf("Adding IP to local pool: %s\n", in46a_ntoa(addr)); + ipaddr->ipnext = NULL; ipaddr->addr = *addr; for (h = iphash[hash]; h; h = h->ipnext) @@ -1550,19 +1561,8 @@ src.len = 4; src.v4.s_addr = iph->saddr; } else if (iph->version == 6) { - /* We only have a single entry in the hash table, and it consists of the link-local - * address "fe80::prefix". So we need to make sure to convert non-link-local source - * addresses to that format before looking up the hash table via ippool_getip() */ src.len = 16; - if (!memcmp(ip6h->ip6_src.s6_addr, ll_prefix, sizeof(ll_prefix))) { - /* is a link-local address, we can do the hash lookup 1:1 */ - src.v6 = ip6h->ip6_src; - } else { - /* it is not a link-local address, so we must convert from the /64 prefix - * to the link-local format that's used in the hash table */ - memcpy(&src.v6.s6_addr[0], ll_prefix, sizeof(ll_prefix)); - memcpy(&src.v6.s6_addr[sizeof(ll_prefix)], ip6h->ip6_src.s6_addr, 16-sizeof(ll_prefix)); - } + src.v6 = ip6h->ip6_src; } else { printf("Dropping packet with invalid IP version %u\n", iph->version); return 0; @@ -1574,8 +1574,8 @@ return 0; } - if (ipm->pdp) /* Check if a peer protocol is defined */ - gtp_data_req(gsn, ipm->pdp, pack, len); + if (ipm->ctx->pdp) /* Check if a peer protocol is defined */ + gtp_data_req(gsn, ipm->ctx->pdp, pack, len); return 0; } @@ -1587,19 +1587,19 @@ sigset_t oldmask; #endif - struct iphash_t *iph = (struct iphash_t *)cbp; + struct pdp_peer_sgsnemu_ctx *ctx = (struct pdp_peer_sgsnemu_ctx *) cbp; if (cause < 0) { printf("Create PDP Context Request timed out\n"); - if (iph->pdp->version == 1) { + if (ctx->pdp->version == 1) { printf("Retrying with version 0\n"); - iph->pdp->version = 0; - gtp_create_context_req(gsn, iph->pdp, iph); + ctx->pdp->version = 0; + gtp_create_context_req(gsn, ctx->pdp, ctx); return 0; } else { state = 0; - pdp_freepdp(iph->pdp); - iph->pdp = NULL; + pdp_freepdp(ctx->pdp); + ctx->pdp = NULL; return EOF; } } @@ -1609,8 +1609,8 @@ ("Received create PDP context response. Cause value: %d\n", cause); state = 0; - pdp_freepdp(iph->pdp); - iph->pdp = NULL; + pdp_freepdp(ctx->pdp); + ctx->pdp = NULL; return EOF; /* Not what we expected */ } @@ -1618,8 +1618,8 @@ printf ("Received create PDP context response. Cause value: %d\n", cause); - pdp_freepdp(iph->pdp); - iph->pdp = NULL; + pdp_freepdp(ctx->pdp); + ctx->pdp = NULL; state = 0; return EOF; /* Not a valid IP address */ } @@ -1641,13 +1641,18 @@ switch (addr[i].len) { case 16: /* IPv6 */ - /* we have to enable the kernel to perform stateless autoconfiguration, - * i.e. send a router solicitation using the lover 64bits of the allocated - * EUA as interface identifier, as per 3GPP TS 29.061 Section 11.2.1.3.2 */ + /* Convert address to link local using the lower 64bits + of the allocated EUA as Interface-Identifier to + send router solicitation, as per 3GPP TS 29.061 + Section 11.2.1.3.2 */ memcpy(addr[i].v6.s6_addr, ll_prefix, sizeof(ll_prefix)); printf("Derived IPv6 link-local address: %s\n", in46a_ntoa(&addr[i])); + ctx->hash_v6_ll.inuse = 1; + ipset(&ctx->hash_v6_ll, &addr[i]); break; case 4: /* IPv4 */ + ctx->hash_v4.inuse = 1; + ipset(&ctx->hash_v4, &addr[i]); break; } @@ -1669,8 +1674,6 @@ if (options.ipup) tun_runscript(tun, options.ipup); } - - ipset(iph, &addr[i]); } if (options.createif && options.pdp_type == PDP_EUA_TYPE_v6) { @@ -1686,7 +1689,7 @@ } SYS_ERR(DSGSN, LOGL_INFO, 0, "Sending ICMPv6 Router Soliciation to GGSN..."); msg = icmpv6_construct_rs(saddr6); - gtp_data_req(gsn, iph->pdp, msgb_data(msg), msgb_length(msg)); + gtp_data_req(gsn, ctx->pdp, msgb_data(msg), msgb_length(msg)); msgb_free(msg); } @@ -1751,8 +1754,9 @@ } } -static void handle_router_adv(struct ip6_hdr *ip6h, struct icmpv6_radv_hdr *ra, size_t ra_len) +static void handle_router_adv(struct pdp_t *pdp, struct ip6_hdr *ip6h, struct icmpv6_radv_hdr *ra, size_t ra_len) { + struct pdp_peer_sgsnemu_ctx* ctx = (struct pdp_peer_sgsnemu_ctx*)pdp->peer[0]; struct icmpv6_opt_hdr *opt_hdr; struct icmpv6_opt_prefix *opt_prefix; int rc; @@ -1778,6 +1782,12 @@ addr.v6.s6_addr[15] = 0x02; SYS_ERR(DSGSN, LOGL_INFO, 0, "Adding addr %s to tun %s", in46a_ntoa(&addr), tun->devname); + if (!ctx->hash_v6_global.inuse) { + ctx->hash_v6_global.inuse = 1; + ipset(&ctx->hash_v6_global, &addr); + } else { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "First v6 global address in hash already in use!"); + } #if defined(__linux__) if ((options.netns)) { @@ -1822,7 +1832,7 @@ case 6: if ((ra = icmpv6_validate_router_adv(pack, len))) { size_t ra_len = (uint8_t*)ra - (uint8_t*)pack; - handle_router_adv((struct ip6_hdr *)pack, ra, ra_len); + handle_router_adv(pdp, (struct ip6_hdr *)pack, ra, ra_len); return 0; } break; @@ -1966,7 +1976,7 @@ /* Initialise hash tables */ memset(&iphash, 0, sizeof(iphash)); - memset(&iparr, 0, sizeof(iparr)); + memset(&ctx_arr, 0, sizeof(ctx_arr)); printf("Done initialising GTP library\n\n"); @@ -1978,7 +1988,6 @@ for (n = 0; n < options.contexts; n++) { uint64_t myimsi; printf("Setting up PDP context #%d\n", n); - iparr[n].inuse = 1; /* TODO */ imsi_add(options.imsi, &myimsi, n); @@ -1987,9 +1996,12 @@ /* Otherwise it is deallocated by gtplib */ gtp_pdp_newpdp(gsn, &pdp, myimsi, options.nsapi, NULL); - pdp->peer[0] = &iparr[n]; /* FIXME: support v4v6, have 2 peers */ + pdp->peer[0] = &ctx_arr[n]; pdp->ipif = tun; /* TODO */ - iparr[n].pdp = pdp; + ctx_arr[n].pdp = pdp; + ctx_arr[n].hash_v4.ctx = &ctx_arr[n]; + ctx_arr[n].hash_v6_ll.ctx = &ctx_arr[n]; + ctx_arr[n].hash_v6_global.ctx = &ctx_arr[n]; if (options.gtpversion == 0) { if (options.qos.l - 1 > sizeof(pdp->qos_req0)) { @@ -2077,7 +2089,7 @@ /* Create context */ /* We send this of once. Retransmissions are handled by gtplib */ - gtp_create_context_req(gsn, pdp, &iparr[n]); + gtp_create_context_req(gsn, pdp, &ctx_arr[n]); } state = 1; /* Enter wait_connection state */ @@ -2127,7 +2139,7 @@ for (n = 0; n < options.contexts; n++) { /* Delete context */ printf("Disconnecting PDP context #%d\n", n); - gtp_delete_context_req2(gsn, iparr[n].pdp, NULL, 1); + gtp_delete_context_req2(gsn, ctx_arr[n].pdp, NULL, 1); if ((options.pinghost.len) && ntransmitted) ping_finish(); @@ -2149,7 +2161,7 @@ if (options.debug) printf("Create_ping %d\n", diff); create_ping(gsn, - iparr[pingseq % + ctx_arr[pingseq % options.contexts].pdp, &options.pinghost, pingseq, options.pingsize); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17828 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I0d36145250185e4cce699fdaedfe96bd969f5fa1 Gerrit-Change-Number: 17828 Gerrit-PatchSet: 3 Gerrit-Owner: pespin 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 Tue Apr 21 21:03:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 21:03:52 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: Avoid rejecting AMR in uplink In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17453 ) Change subject: osmo-bts-virtual: Avoid rejecting AMR in uplink ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib527a9fe02c49f6129c376424480aa1004f9ee8f Gerrit-Change-Number: 17453 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 21 Apr 2020 21:03: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 Apr 21 21:03:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 21 Apr 2020 21:03:55 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: Avoid rejecting AMR in uplink In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17453 ) Change subject: osmo-bts-virtual: Avoid rejecting AMR in uplink ...................................................................... osmo-bts-virtual: Avoid rejecting AMR in uplink Change-Id: Ib527a9fe02c49f6129c376424480aa1004f9ee8f --- M src/osmo-bts-virtual/scheduler_virtbts.c 1 file changed, 2 insertions(+), 41 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/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index 72a6874..a60c9e0 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -386,47 +386,8 @@ } break; case GSM48_CMODE_SPEECH_AMR: /* AMR */ -#if 0 - len = amr_decompose_payload(msg_tch->l2h, - msgb_l2len(msg_tch), &cmr_codec, &ft_codec, - &bfi); - cmr = -1; - ft = -1; - for (i = 0; i < chan_state->codecs; i++) { - if (chan_state->codec[i] == cmr_codec) - cmr = i; - if (chan_state->codec[i] == ft_codec) - ft = i; - } - if (cmr >= 0) { /* new request */ - chan_state->dl_cmr = cmr; - /* disable AMR loop */ - trx_loop_amr_set(chan_state, 0); - } else { - /* enable AMR loop */ - trx_loop_amr_set(chan_state, 1); - } - if (ft < 0) { - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, - "Codec (FT = %d) of RTP frame not in list. ", ft_codec); - goto free_bad_msg; - } - if (codec_mode_request && chan_state->dl_ft != ft) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, - "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) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, - "Transmitting 'bad AMR frame'\n"); - goto free_bad_msg; - } -#else - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "AMR not supported!\n"); - goto free_bad_msg; -#endif + /* TODO: check length for consistency */ + goto send_frame; break; default: inval_mode2: -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib527a9fe02c49f6129c376424480aa1004f9ee8f Gerrit-Change-Number: 17453 Gerrit-PatchSet: 4 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 admin at opensuse.org Wed Apr 22 01:09:18 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 22 Apr 2020 01:09:18 +0000 Subject: Build failure of network:osmocom:latest/limesuite in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5e9f995aafc3d_43292af6ba4b65f0198437@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/Raspbian_10/armv7l Package network:osmocom:latest/limesuite failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 496s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DLIME_DLL -DWIN32_LEAN_AND_MEAN -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/usr/src/packages/BUILD/src/lms7002_wxgui -I/usr/src/packages/BUILD/src/LMS_Programing -I/usr/src/packages/BUILD/src/utilities_gui -I/usr/src/packages/BUILD/src/RFSpark -I/usr/src/packages/BUILD/src/FPGAcontrols_wxgui -I/usr/src/packages/BUILD/src/numericSlider -I/usr/src/packages/BUILD/src/fftviewer_wxgui -I/usr/src/packages/BUILD/src/lms7suiteEvents -I/usr/src/packages/BUILD/src/boards_wxgui -I/usr/src/packages/BUILD/src/limeRFE -I/usr/src/packages/BUILD/src -I/usr/src/packages/BUILD/src/API -I/usr/src/packages/BUILD/src/lime -I/usr/src/packages/BUILD/src/GFIR -I/usr/src/packages/BUILD/src/protocols -I/usr/src/packages/BUILD/src/ConnectionRegistry -I/usr/src/packages/BUILD/src/lms7002m_mcu -I/usr/src/packages/BUILD/src/ADF4002 -I/usr/src/packages/BUILD/src/Si5351C -I/usr/src/packages/BUILD/src/lms7002m -I/usr/src/packages/BUILD/src/FPGA_common -I/usr/src/packages/BUILD/external/cpp-feather-ini-parser -I/usr/src/packages/BUILD/external/kissFFT -I/usr/include/libusb-1.0 -I/usr/src/packages/BUILD/src/oglGraph -isystem /usr/lib/arm-linux-gnueabihf/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -march=native -fvisibility=hidden -std=gnu++11 -o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlGPIO.cpp.o -c /usr/src/packages/BUILD/src/boards_wxgui/pnlGPIO.cpp [ 500s] [ 80%] Building CXX object src/CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_gui.cpp.o [ 500s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DLIME_DLL -DWIN32_LEAN_AND_MEAN -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/usr/src/packages/BUILD/src/lms7002_wxgui -I/usr/src/packages/BUILD/src/LMS_Programing -I/usr/src/packages/BUILD/src/utilities_gui -I/usr/src/packages/BUILD/src/RFSpark -I/usr/src/packages/BUILD/src/FPGAcontrols_wxgui -I/usr/src/packages/BUILD/src/numericSlider -I/usr/src/packages/BUILD/src/fftviewer_wxgui -I/usr/src/packages/BUILD/src/lms7suiteEvents -I/usr/src/packages/BUILD/src/boards_wxgui -I/usr/src/packages/BUILD/src/limeRFE -I/usr/src/packages/BUILD/src -I/usr/src/packages/BUILD/src/API -I/usr/src/packages/BUILD/src/lime -I/usr/src/packages/BUILD/src/GFIR -I/usr/src/packages/BUILD/src/protocols -I/usr/src/packages/BUILD/src/ConnectionRegistry -I/usr/src/packages/BUILD/src/lms7002m_mcu -I/usr/src/packages/BUILD/src/ADF4002 -I/usr/src/packages/BUILD/src/Si5351C -I/usr/src/packages/BUILD/src/lms7002m -I/usr/src/packages/BUILD/src/FPGA_common -I/usr/src/packages/BUILD/external/cpp-feather-ini-parser -I/usr/src/packages/BUILD/external/kissFFT -I/usr/include/libusb-1.0 -I/usr/src/packages/BUILD/src/oglGraph -isystem /usr/lib/arm-linux-gnueabihf/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -march=native -fvisibility=hidden -std=gnu++11 -o CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_gui.cpp.o -c /usr/src/packages/BUILD/src/limeRFE/limeRFE_gui.cpp [ 501s] [ 80%] Building CXX object src/CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_wxgui.cpp.o [ 501s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DLIME_DLL -DWIN32_LEAN_AND_MEAN -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/usr/src/packages/BUILD/src/lms7002_wxgui -I/usr/src/packages/BUILD/src/LMS_Programing -I/usr/src/packages/BUILD/src/utilities_gui -I/usr/src/packages/BUILD/src/RFSpark -I/usr/src/packages/BUILD/src/FPGAcontrols_wxgui -I/usr/src/packages/BUILD/src/numericSlider -I/usr/src/packages/BUILD/src/fftviewer_wxgui -I/usr/src/packages/BUILD/src/lms7suiteEvents -I/usr/src/packages/BUILD/src/boards_wxgui -I/usr/src/packages/BUILD/src/limeRFE -I/usr/src/packages/BUILD/src -I/usr/src/packages/BUILD/src/API -I/usr/src/packages/BUILD/src/lime -I/usr/src/packages/BUILD/src/GFIR -I/usr/src/packages/BUILD/src/protocols -I/usr/src/packages/BUILD/src/ConnectionRegistry -I/usr/src/packages/BUILD/src/lms7002m_mcu -I/usr/src/packages/BUILD/src/ADF4002 -I/usr/src/packages/BUILD/src/Si5351C -I/usr/src/packages/BUILD/src/lms7002m -I/usr/src/packages/BUILD/src/FPGA_common -I/usr/src/packages/BUILD/external/cpp-feather-ini-parser -I/usr/src/packages/BUILD/external/kissFFT -I/usr/include/libusb-1.0 -I/usr/src/packages/BUILD/src/oglGraph -isystem /usr/lib/arm-linux-gnueabihf/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -march=native -fvisibility=hidden -std=gnu++11 -o CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_wxgui.cpp.o -c /usr/src/packages/BUILD/src/limeRFE/limeRFE_wxgui.cpp [ 505s] [ 81%] Building CXX object src/CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_cmd.cpp.o [ 505s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DLIME_DLL -DWIN32_LEAN_AND_MEAN -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/usr/src/packages/BUILD/src/lms7002_wxgui -I/usr/src/packages/BUILD/src/LMS_Programing -I/usr/src/packages/BUILD/src/utilities_gui -I/usr/src/packages/BUILD/src/RFSpark -I/usr/src/packages/BUILD/src/FPGAcontrols_wxgui -I/usr/src/packages/BUILD/src/numericSlider -I/usr/src/packages/BUILD/src/fftviewer_wxgui -I/usr/src/packages/BUILD/src/lms7suiteEvents -I/usr/src/packages/BUILD/src/boards_wxgui -I/usr/src/packages/BUILD/src/limeRFE -I/usr/src/packages/BUILD/src -I/usr/src/packages/BUILD/src/API -I/usr/src/packages/BUILD/src/lime -I/usr/src/packages/BUILD/src/GFIR -I/usr/src/packages/BUILD/src/protocols -I/usr/src/packages/BUILD/src/ConnectionRegistry -I/usr/src/packages/BUILD/src/lms7002m_mcu -I/usr/src/packages/BUILD/src/ADF4002 -I/usr/src/packages/BUILD/src/Si5351C -I/usr/src/packages/BUILD/src/lms7002m -I/usr/src/packages/BUILD/src/FPGA_common -I/usr/src/packages/BUILD/external/cpp-feather-ini-parser -I/usr/src/packages/BUILD/external/kissFFT -I/usr/include/libusb-1.0 -I/usr/src/packages/BUILD/src/oglGraph -isystem /usr/lib/arm-linux-gnueabihf/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -march=native -fvisibility=hidden -std=gnu++11 -o CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_cmd.cpp.o -c /usr/src/packages/BUILD/src/limeRFE/limeRFE_cmd.cpp [ 515s] [ 82%] Linking CXX executable ../bin/LimeSuiteGUI [ 515s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/LimeSuiteGUI.dir/link.txt --verbose=1 [ 515s] /usr/bin/c++ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -Wl,-z,relro -rdynamic CMakeFiles/LimeSuiteGUI.dir/ADF4002/ADF4002_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlXBUF_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlRFE_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlCalibrations_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlTRF_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlCDS_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlLimeLightPAD_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlBIST_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/dlgViewIRAM.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_gui_utilities.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlSX_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlTBB_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_dlgVCOfrequencies.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlRBB_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlLDO_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlAFE_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlGains_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/CoefficientFileParser.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlRxTSP_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_mainPanel.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/dlgViewSFR.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlCLKGEN_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlMCU_BD_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlBIAS_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_dlgGFIR_Coefficients.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlTxTSP_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlR3.cpp.o CMakeFiles/LimeSuiteGUI.dir/LMS_Programing/LMS_Programing_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/dlgConnectionSettings.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/pnlMiniLog.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/pnlAPI.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/SPI_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/dlgFullMessageLog.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/dlgDeviceInfo.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/utilities_gui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteAppFrame.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/RFSpark_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/Si5351C/Si5351C_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteApp_gui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteApp.cpp.o CMakeFiles/LimeSuiteGUI.dir/FPGAcontrols_wxgui/FPGAcontrols_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/dlgAbout.cpp.o CMakeFiles/LimeSuiteGUI.dir/numericSlider/numericSlider.cpp.o CMakeFiles/LimeSuiteGUI.dir/fftviewer_wxgui/fftviewer_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/fftviewer_wxgui/fftviewer_frFFTviewer.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteEvents/lms7suiteEvents.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlBoardControls.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlQSpark.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnluLimeSDR.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlUltimateEVB.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlBuffers.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlCoreSDR.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeNetMicro.cpp.o CMakeFiles/LimeSuiteGUI.dir/__/external/kissFFT/kiss_fft.c.o CMakeFiles/LimeSuiteGUI.dir/windowFunction.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeSDR.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlGPIO.cpp.o CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_gui.cpp.o CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_cmd.cpp.o -o ../bin/LimeSuiteGUI -Wl,-rpath,/usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src: libLimeSuite.so.20.01.0 oglGraph/liboglGraph.a -L/usr/lib/arm-linux-gnueabihf -pthread -lwx_gtk2u_richtext-3.0 -lwx_baseu_xml-3.0 -lwx_gtk2u_html-3.0 -lwx_gtk2u_xrc-3.0 -lwx_gtk2u_adv-3.0 -lwx_gtk2u_aui-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0 -lwx_gtk2u_gl-3.0 -lusb-1.0 -lGL -lwx_gtk2u_richtext-3.0 -lwx_baseu_xml-3.0 -lwx_gtk2u_html-3.0 -lwx_gtk2u_xrc-3.0 -lwx_gtk2u_adv-3.0 -lwx_gtk2u_aui-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0 -lwx_gtk2u_gl-3.0 [ 520s] /usr/bin/ld: libLimeSuite.so.20.01.0: undefined reference to `__atomic_store_8' [ 520s] /usr/bin/ld: libLimeSuite.so.20.01.0: undefined reference to `__atomic_load_8' [ 520s] collect2: error: ld returned 1 exit status [ 520s] make[3]: *** [src/CMakeFiles/LimeSuiteGUI.dir/build.make:990: bin/LimeSuiteGUI] Error 1 [ 520s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 520s] make[2]: *** [CMakeFiles/Makefile2:142: src/CMakeFiles/LimeSuiteGUI.dir/all] Error 2 [ 520s] make[2]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 520s] make[1]: *** [Makefile:133: all] Error 2 [ 520s] make[1]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 520s] dh_auto_build: cd obj-arm-linux-gnueabihf && make -j4 returned exit code 2 [ 520s] make: *** [debian/rules:28: binary] Error 2 [ 520s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 520s] ### VM INTERACTION START ### [ 523s] [ 506.146067] sysrq: SysRq : Power Off [ 523s] [ 506.155681] reboot: Power down [ 524s] ### VM INTERACTION END ### [ 524s] [ 524s] armbuild22 failed "build limesuite_20.01.0-1.dsc" at Wed Apr 22 01:09:03 UTC 2020. [ 524s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Apr 22 01:39:01 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 22 Apr 2020 01:39:01 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5e9fa0466cc7c_43292af6ba4b65f02036e5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 570s] | CONFIG_LINKS = [ 570s] | CONFIG_COMMANDS = [ 570s] | $ ./config.status Doxyfile.core [ 570s] | [ 570s] | on obs-arm-6 [ 570s] | [ 570s] | config.status:1341: creating Doxyfile.core [ 570s] [ 570s] # -*- compilation -*- [ 570s] 59. testsuite.at:372: testing exec ... [ 570s] ./testsuite.at:376: $abs_top_builddir/tests/exec/exec_test [ 570s] --- experr 2020-04-22 01:38:50.800000000 +0000 [ 570s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/59/stderr 2020-04-22 01:38:50.800000000 +0000 [ 570s] @@ -1 +0,0 @@ [ 570s] -MAHLZEIT=spaet [ 570s] 59. testsuite.at:372: 59. exec (testsuite.at:372): FAILED (testsuite.at:376) [ 570s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 570s] make[1]: *** [override_dh_auto_test] Error 1 [ 570s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 570s] debian/rules:15: recipe for target 'build' failed [ 570s] make: *** [build] Error 2 [ 570s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 570s] ### VM INTERACTION START ### [ 573s] [ 555.405363] sysrq: SysRq : Power Off [ 573s] [ 555.433482] reboot: Power down [ 573s] ### VM INTERACTION END ### [ 573s] [ 573s] obs-arm-6 failed "build libosmocore_1.3.0.71.1f48b.dsc" at Wed Apr 22 01:38:55 UTC 2020. [ 573s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Apr 22 08:43:17 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 22 Apr 2020 08:43:17 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea003bdc7dc0_7ef22afb58c805f4911a6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 538s] ^~~~~~~~~~~~~~~~~~~ [ 538s] main.c: In function 'main': [ 538s] main.c:757:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 538s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 538s] ^~~~~~~~~~~~~~~~~~~ [ 538s] main.c:757:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 538s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 538s] ^ [ 538s] cc1: some warnings being treated as errors [ 538s] Makefile:469: recipe for target 'main.o' failed [ 538s] make[3]: *** [main.o] Error 1 [ 538s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 538s] Makefile:402: recipe for target 'all-recursive' failed [ 538s] make[2]: *** [all-recursive] Error 1 [ 538s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 538s] Makefile:349: recipe for target 'all' failed [ 538s] make[1]: *** [all] Error 2 [ 538s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 538s] dh_auto_build: make -j1 returned exit code 2 [ 538s] debian/rules:45: recipe for target 'build' failed [ 538s] make: *** [build] Error 2 [ 538s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 538s] ### VM INTERACTION START ### [ 541s] [ 511.161163] sysrq: SysRq : Power Off [ 541s] [ 511.180632] reboot: Power down [ 541s] ### VM INTERACTION END ### [ 541s] [ 541s] armbuild02 failed "build osmo-uecups_0.1.0.dsc" at Wed Apr 22 08:43:01 UTC 2020. [ 541s] -- 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 Apr 22 12:07:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 22 Apr 2020 12:07:24 +0000 Subject: Change in osmo-bts[master]: dtx: add detection of AMR DTX frames for osmo-bts-trx In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17221 ) Change subject: dtx: add detection of AMR DTX frames for osmo-bts-trx ...................................................................... Patch Set 4: Code-Review-1 (10 comments) https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/include/osmo-bts/scheduler_backend.h File include/osmo-bts/scheduler_backend.h: https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/include/osmo-bts/scheduler_backend.h at 57 PS4, Line 57: uint8_t is_sub); bool https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/common/scheduler.c at 743 PS4, Line 743: uint8_t is_sub) bool is_sub https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/common/scheduler.c at 762 PS4, Line 762: l1sap->u.tch.is_sub = is_sub & 1; since it's a bool ,simply assign. https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/osmo-bts-trx/scheduler_trx.c File src/osmo-bts-trx/scheduler_trx.c: https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/osmo-bts-trx/scheduler_trx.c at 1143 PS4, Line 1143: uint8_t is_sub = 0; bool is_sub = false; https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/osmo-bts-trx/scheduler_trx.c at 1210 PS4, Line 1210: * voce frame after the AFS_ONSET frame actually is the first typo: voce -> voice https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/osmo-bts-trx/scheduler_trx.c at 1211 PS4, Line 1211: * real voice frame that is will also result into an RTP frame. */ "that is will also" I don't understand this, please fix. https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/osmo-bts-trx/scheduler_trx.c at 1228 PS4, Line 1228: is_sub = 1; is_sub = true https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/osmo-bts-trx/scheduler_trx.c at 1250 PS4, Line 1250: if (chan_state->amr_last_dtx == AMR_OTHER) either "if {} else {}" or " if else " https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/osmo-bts-trx/scheduler_trx.c at 1382 PS4, Line 1382: uint8_t is_sub = 0; bool https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/osmo-bts-trx/scheduler_trx.c at 1497 PS4, Line 1497: if (chan_state->amr_last_dtx == AMR_OTHER) either "if {} else {}" or " if else " -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5afe730fff2fa3199a5913b0de4f5c7b23a39f31 Gerrit-Change-Number: 17221 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 22 Apr 2020 12:07: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 Wed Apr 22 12:34:02 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 22 Apr 2020 12:34:02 +0000 Subject: Change in osmo-bts[master]: dtx: add detection of AMR DTX frames for osmo-bts-trx In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17221 ) Change subject: dtx: add detection of AMR DTX frames for osmo-bts-trx ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/common/scheduler.c at 762 PS4, Line 762: l1sap->u.tch.is_sub = is_sub & 1; > since it's a bool ,simply assign. AFAIR, l1sap->u.tch.is_sub is a bit field: uint8_t is_sub:1; not a bool. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5afe730fff2fa3199a5913b0de4f5c7b23a39f31 Gerrit-Change-Number: 17221 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 22 Apr 2020 12:34:02 +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 Apr 22 13:15:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 22 Apr 2020 13:15:51 +0000 Subject: Change in osmo-bts[master]: dtx: add detection of AMR DTX frames for osmo-bts-trx In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17221 ) Change subject: dtx: add detection of AMR DTX frames for osmo-bts-trx ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/common/scheduler.c at 762 PS4, Line 762: l1sap->u.tch.is_sub = is_sub & 1; > AFAIR, l1sap->u.tch.is_sub is a bit field: [?] so a 1 bit uint is a bool in this case right? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5afe730fff2fa3199a5913b0de4f5c7b23a39f31 Gerrit-Change-Number: 17221 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 22 Apr 2020 13:15:51 +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 Wed Apr 22 13:41:42 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 22 Apr 2020 13:41:42 +0000 Subject: Change in osmo-bts[master]: measurement: remove unecessary is_amr_sid_update parameter References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17928 ) Change subject: measurement: remove unecessary is_amr_sid_update parameter ...................................................................... measurement: remove unecessary is_amr_sid_update parameter The function ts45008_83_is_sub rougly decides if a frame is a SUB frame or not. This works by checking the frame number against against lookup tables. This works fine for codecs where the occurrence of SUB frames is fixed. However for AMR this is not the case as the DTX periods are dynamic. Here it is the responsibility of the lower layers (phy, frame decoding) to tag SUB frames early since making the decision later based on the frame number is not possible. The parameter is_amr_sid_update was probably added as a placeholder. It is set to falls by the callers of the function. Lets remove this parameter as a late decision if an AMR frame is a SUB frame will never work. Change-Id: I125d5ff592218a9e98130a6a7b6bbc6378ce4132 Related: OS#2978 --- M include/osmo-bts/measurement.h M src/common/measurement.c M tests/meas/meas_test.c 3 files changed, 4 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/28/17928/1 diff --git a/include/osmo-bts/measurement.h b/include/osmo-bts/measurement.h index 4f04ffa..8e91c33 100644 --- a/include/osmo-bts/measurement.h +++ b/include/osmo-bts/measurement.h @@ -12,7 +12,7 @@ void lchan_meas_reset(struct gsm_lchan *lchan); -bool ts45008_83_is_sub(struct gsm_lchan *lchan, uint32_t fn, bool is_amr_sid_update); +bool ts45008_83_is_sub(struct gsm_lchan *lchan, uint32_t fn); int is_meas_complete(struct gsm_lchan *lchan, uint32_t fn); diff --git a/src/common/measurement.c b/src/common/measurement.c index b883d51..c5cbbb0 100644 --- a/src/common/measurement.c +++ b/src/common/measurement.c @@ -45,7 +45,7 @@ /* Decide if a given frame number is part of the "-SUB" measurements (true) or not (false) * (this function is only used internally, it is public to call it from unit-tests) */ -bool ts45008_83_is_sub(struct gsm_lchan *lchan, uint32_t fn, bool is_amr_sid_update) +bool ts45008_83_is_sub(struct gsm_lchan *lchan, uint32_t fn) { uint32_t fn104 = fn % 104; @@ -66,8 +66,6 @@ case GSM48_CMODE_SPEECH_AMR: if (trx_sched_is_sacch_fn(lchan->ts, fn, true)) return true; - if (is_amr_sid_update) - return true; break; default: LOGPFN(DMEAS, LOGL_ERROR, fn, "%s: Unsupported lchan->tch_mode %u\n", @@ -96,8 +94,6 @@ case GSM48_CMODE_SPEECH_AMR: if (trx_sched_is_sacch_fn(lchan->ts, fn, true)) return true; - if (is_amr_sid_update) - return true; break; case GSM48_CMODE_SIGN: /* No DTX allowed; SUB=FULL, therefore measurements at all frame numbers are @@ -343,7 +339,7 @@ /* We expect the lower layers to mark AMR SID_UPDATE frames already as such. * In this function, we only deal with the common logic as per the TS 45.008 tables */ if (!ulm->is_sub) - ulm->is_sub = ts45008_83_is_sub(lchan, fn, false); + ulm->is_sub = ts45008_83_is_sub(lchan, fn); DEBUGPFN(DMEAS, fn, "%s adding measurement (is_sub=%u), num_ul_meas=%d, fn_mod=%u\n", gsm_lchan_name(lchan), ulm->is_sub, lchan->meas.num_ul_meas, fn_mod); diff --git a/tests/meas/meas_test.c b/tests/meas/meas_test.c index c8f06b6..f414b60 100644 --- a/tests/meas/meas_test.c +++ b/tests/meas/meas_test.c @@ -469,7 +469,7 @@ /* Walk trough the first 100 intervals and check for unexpected * results (false positive and false negative) */ for (i = 0; i < 104 * 100; i++) { - rc = ts45008_83_is_sub(lchan, i, false); + rc = ts45008_83_is_sub(lchan, i); if (rc) { if (!test_ts45008_83_is_sub_is_sacch(i) && !test_ts45008_83_is_sub_is_sub(i, ss)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17928 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I125d5ff592218a9e98130a6a7b6bbc6378ce4132 Gerrit-Change-Number: 17928 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 Apr 22 13:41:43 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 22 Apr 2020 13:41:43 +0000 Subject: Change in osmo-bts[master]: measurement: expect at least 1 SUB frame for AMR References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17929 ) Change subject: measurement: expect at least 1 SUB frame for AMR ...................................................................... measurement: expect at least 1 SUB frame for AMR The amount of SUB frames that may occur in AMR is not fixed, nor can it be determined by some formular or lookup table. The reason for this is that the DTX period may negotiated dynamicly. This means that the lower layers must make the decision if an AMR sub frame is a SUB frame early and tag the repective measurement / frame they hand up to the upper layers accordingly. However, regardles of the occurrence of DTX periods the amount of SUB frames in AMR must be always 1 or more because SACCH frames always count as SUB frames as well. Lets make sure that this is respected in the debug log as well as in the logic that tries to substitue missing SUB frame measuremnets. Change-Id: I1fd91b576ff7274caa6d4356bcd7a4fa4311219d Related: OS#4465 --- M src/common/measurement.c 1 file changed, 49 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/29/17929/1 diff --git a/src/common/measurement.c b/src/common/measurement.c index c5cbbb0..4ea820a 100644 --- a/src/common/measurement.c +++ b/src/common/measurement.c @@ -569,10 +569,11 @@ if (lchan->tch_mode != GSM48_CMODE_SPEECH_AMR) num_meas_sub_expect = lchan_meas_sub_num_expected(lchan); else { - /* FIXME: the amount of SUB Measurements is a dynamic parameter - * in AMR and can not be determined by using a lookup table. - * See also: OS#2978 */ - num_meas_sub_expect = 0; + /* When AMR is used, we expect at least one SUB frame, since + * the SACCH will always be SUB frame. There may occur more + * SUB frames but since DTX periods in AMR are dynamic, we + * can not know how much exactly. */ + num_meas_sub_expect = 1; } if (lchan->meas.num_ul_meas > num_ul_meas_expect) @@ -616,9 +617,17 @@ num_ul_meas_actual++; } else { m = &measurement_dummy; - if (num_ul_meas_expect - i <= num_meas_sub_expect - num_meas_sub) { - num_meas_sub_subst++; - is_sub = true; + + /* For AMR the amount of SUB frames is defined by the + * the occurrence of DTX periods, which are dynamically + * negotiated in AMD, so we can not know if and how many + * SUB frames are missing. */ + if (lchan->tch_mode != GSM48_CMODE_SPEECH_AMR) { + if (num_ul_meas_expect - i <= + num_meas_sub_expect - num_meas_sub) { + num_meas_sub_subst++; + is_sub = true; + } } num_ul_meas_subst++; @@ -631,21 +640,42 @@ } } - LOGP(DMEAS, LOGL_DEBUG, "%s received UL measurements contain %u SUB measurements, expected %u\n", - gsm_lchan_name(lchan), num_meas_sub_actual, num_meas_sub_expect); + if (lchan->tch_mode != GSM48_CMODE_SPEECH_AMR) { + LOGP(DMEAS, LOGL_DEBUG, + "%s received UL measurements contain %u SUB measurements, expected %u\n", + gsm_lchan_name(lchan), num_meas_sub_actual, + num_meas_sub_expect); + } else { + LOGP(DMEAS, LOGL_DEBUG, + "%s received UL measurements contain %u SUB measurements, expected at least %u\n", + gsm_lchan_name(lchan), num_meas_sub_actual, + num_meas_sub_expect); + } + LOGP(DMEAS, LOGL_DEBUG, "%s replaced %u measurements with dummy values, from which %u were SUB measurements\n", gsm_lchan_name(lchan), num_ul_meas_subst, num_meas_sub_subst); - if (num_meas_sub != num_meas_sub_expect) { - LOGP(DMEAS, LOGL_ERROR, "%s Incorrect number of SUB measurements detected! (%u vs exp %u)\n", - gsm_lchan_name(lchan), num_meas_sub, num_meas_sub_expect); - /* Normally the logic above should make sure that there is - * always the exact amount of SUB measurements taken into - * account. If not then the logic that decides tags the received - * measurements as is_sub works incorrectly. Since the logic - * above only adds missing measurements during the calculation - * it can not remove excess SUB measurements or add missing SUB - * measurements when there is no more room in the interval. */ + /* Normally the logic above should make sure that there is + * always the exact amount of SUB measurements taken into + * account. If not then the logic that decides tags the received + * measurements as is_sub works incorrectly. Since the logic + * above only adds missing measurements during the calculation + * it can not remove excess SUB measurements or add missing SUB + * measurements when there is no more room in the interval. */ + if (lchan->tch_mode != GSM48_CMODE_SPEECH_AMR) { + if (num_meas_sub != num_meas_sub_expect) { + LOGP(DMEAS, LOGL_ERROR, + "%s Incorrect number of SUB measurements detected! (%u vs exp %u)\n", + gsm_lchan_name(lchan), num_meas_sub, + num_meas_sub_expect); + } + } else { + if (num_meas_sub < num_meas_sub_expect) { + LOGP(DMEAS, LOGL_ERROR, + "%s Incorrect number of SUB measurements detected! (%u vs exp >=%u)\n", + gsm_lchan_name(lchan), num_meas_sub, + num_meas_sub_expect); + } } /* Measurement computation step 2: divide */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1fd91b576ff7274caa6d4356bcd7a4fa4311219d Gerrit-Change-Number: 17929 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 Apr 22 13:44:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 22 Apr 2020 13:44:16 +0000 Subject: Change in osmo-bts[master]: measurement: remove unecessary is_amr_sid_update parameter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17928 ) Change subject: measurement: remove unecessary is_amr_sid_update parameter ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17928 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I125d5ff592218a9e98130a6a7b6bbc6378ce4132 Gerrit-Change-Number: 17928 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 22 Apr 2020 13:44: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 Wed Apr 22 15:09:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 22 Apr 2020 15:09:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: L3_Templates.ttcn: Fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17930 ) Change subject: L3_Templates.ttcn: Fix trailing whitespace ...................................................................... L3_Templates.ttcn: Fix trailing whitespace Change-Id: I46ff86b981ef649c89073f155566af35848aef8d --- M library/L3_Templates.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/30/17930/1 diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 46cd1ac..7c22415 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -2821,7 +2821,7 @@ tiOrSkip := { transactionId := { tio := tid, - tiFlag := c_TIF_ORIG, + tiFlag := c_TIF_ORIG, tIExtension := omit } }, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17930 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: I46ff86b981ef649c89073f155566af35848aef8d Gerrit-Change-Number: 17930 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 Apr 22 15:17:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 22 Apr 2020 15:17:49 +0000 Subject: Change in osmo-bts[master]: measurement: expect at least 1 SUB frame for AMR In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17929 ) Change subject: measurement: expect at least 1 SUB frame for AMR ...................................................................... Patch Set 1: Code-Review-1 (3 comments) https://gerrit.osmocom.org/c/osmo-bts/+/17929/1/src/common/measurement.c File src/common/measurement.c: https://gerrit.osmocom.org/c/osmo-bts/+/17929/1/src/common/measurement.c at 623 PS1, Line 623: * negotiated in AMD, so we can not know if and how many AMD? you mean AMR https://gerrit.osmocom.org/c/osmo-bts/+/17929/1/src/common/measurement.c at 627 PS1, Line 627: num_meas_sub_expect - num_meas_sub) { better keep this in one line, it's more readable. https://gerrit.osmocom.org/c/osmo-bts/+/17929/1/src/common/measurement.c at 665 PS1, Line 665: if (lchan->tch_mode != GSM48_CMODE_SPEECH_AMR) { Can we move all these checks together with the ones above in line 643 please? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1fd91b576ff7274caa6d4356bcd7a4fa4311219d Gerrit-Change-Number: 17929 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 22 Apr 2020 15:17:49 +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 Apr 22 15:21:35 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 22 Apr 2020 15:21:35 +0000 Subject: Change in osmo-bts[master]: dtx: add detection of AMR DTX frames for osmo-bts-trx In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/17221 to look at the new patch set (#5). Change subject: dtx: add detection of AMR DTX frames for osmo-bts-trx ...................................................................... dtx: add detection of AMR DTX frames for osmo-bts-trx Currently we do not detect any of the DTX frames (SID_FIRST, SID_UPDATE etc.) Detecting and tagging those frames as is_sub is important for measurement processing. Also the RTP marker bit must be set on each ONSET frame. - Add detection of DTX frames - Tag DTX frames as is_sub and set frame type to AMR_SID - Set RTP marker bit when ONSET frames are received Change-Id: I5afe730fff2fa3199a5913b0de4f5c7b23a39f31 Depends: libosmocore I2bbdb39ea20461ca08b2e6f1a33532cb55cd5195 Related: OS#2978 --- M include/osmo-bts/scheduler.h M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c M src/osmo-bts-trx/scheduler_trx.c 4 files changed, 99 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/21/17221/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5afe730fff2fa3199a5913b0de4f5c7b23a39f31 Gerrit-Change-Number: 17221 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Wed Apr 22 15:23:31 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 22 Apr 2020 15:23:31 +0000 Subject: Change in osmo-bts[master]: dtx: add detection of AMR DTX frames for osmo-bts-trx In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17221 ) Change subject: dtx: add detection of AMR DTX frames for osmo-bts-trx ...................................................................... Patch Set 5: (4 comments) > Patch Set 4: > > (1 comment) I have skipped the transition of is_sub to bool. Using an uint_t was intentional to match the original definition uint8_t is_sub:1. Please let me know if I should change it anyway, but I wanted to be sure that you know the reasons first. https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/osmo-bts-trx/scheduler_trx.c File src/osmo-bts-trx/scheduler_trx.c: https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/osmo-bts-trx/scheduler_trx.c at 1210 PS4, Line 1210: * voce frame after the AFS_ONSET frame actually is the first > typo: voce -> voice Done https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/osmo-bts-trx/scheduler_trx.c at 1211 PS4, Line 1211: * real voice frame that is will also result into an RTP frame. */ > "that is will also" I don't understand this, please fix. Done https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/osmo-bts-trx/scheduler_trx.c at 1250 PS4, Line 1250: if (chan_state->amr_last_dtx == AMR_OTHER) > either [?] Done https://gerrit.osmocom.org/c/osmo-bts/+/17221/4/src/osmo-bts-trx/scheduler_trx.c at 1497 PS4, Line 1497: if (chan_state->amr_last_dtx == AMR_OTHER) > either [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5afe730fff2fa3199a5913b0de4f5c7b23a39f31 Gerrit-Change-Number: 17221 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 22 Apr 2020 15:23: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 Wed Apr 22 15:36:39 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 22 Apr 2020 15:36:39 +0000 Subject: Change in osmo-bts[master]: measurement: expect at least 1 SUB frame for AMR In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/17929 to look at the new patch set (#3). Change subject: measurement: expect at least 1 SUB frame for AMR ...................................................................... measurement: expect at least 1 SUB frame for AMR The amount of SUB frames that may occur in AMR is not fixed, nor can it be determined by some formular or lookup table. The reason for this is that the DTX period may negotiated dynamicly. This means that the lower layers must make the decision if an AMR sub frame is a SUB frame early and tag the repective measurement / frame they hand up to the upper layers accordingly. However, regardles of the occurrence of DTX periods the amount of SUB frames in AMR must be always 1 or more because SACCH frames always count as SUB frames as well. Lets make sure that this is respected in the debug log as well as in the logic that tries to substitue missing SUB frame measuremnets. Change-Id: I1fd91b576ff7274caa6d4356bcd7a4fa4311219d Related: OS#4465 --- M src/common/measurement.c 1 file changed, 48 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/29/17929/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1fd91b576ff7274caa6d4356bcd7a4fa4311219d Gerrit-Change-Number: 17929 Gerrit-PatchSet: 3 Gerrit-Owner: dexter 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 Apr 22 21:22:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 22 Apr 2020 21:22:12 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: use two antenna ports for TM > 1 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17921 ) Change subject: amarisoft_enb: use two antenna ports for TM > 1 ...................................................................... amarisoft_enb: use two antenna ports for TM > 1 Change-Id: Ia241f96341780760d482d389097659b0f7b897e8 --- M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 5d146f7..46bdf10 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -89,8 +89,14 @@ "${enb.mcc}${enb.mnc}", ], +% if int(enb.get('transmission_mode')) == 1: n_antenna_dl: 1, /* number of DL antennas */ n_antenna_ul: 1, /* number of UL antennas */ +% else: + n_antenna_dl: 2, /* number of DL antennas */ + n_antenna_ul: 2, /* number of UL antennas */ +% endif + n_rb_dl: ${enb.num_prb}, /* Bandwidth: 25: 5 MHz, 50: 10 MHz, 75: 15 MHz, 100: 20 MHz */ cyclic_prefix: "normal", -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17921 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: Ia241f96341780760d482d389097659b0f7b897e8 Gerrit-Change-Number: 17921 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 Wed Apr 22 21:22:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 22 Apr 2020 21:22:13 +0000 Subject: Change in osmo-gsm-tester[master]: enb: refactored rf_args handling for ZMQ-based radio In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17922 ) Change subject: enb: refactored rf_args handling for ZMQ-based radio ...................................................................... enb: refactored rf_args handling for ZMQ-based radio this patch moves the rf_dev_args creation for both eNB types into the eNB base class, since they are identical. the patch also fixes the arguments for all CA and MIMO configurations Change-Id: I8ca3ed83e65dc07927385267e5970bc4f5b120d5 --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py 3 files changed, 57 insertions(+), 54 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index e0f7be0..3c1f771 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -99,6 +99,59 @@ def num_prb(self): return self._num_prb + #reference: srsLTE.git srslte_symbol_sz() + def num_prb2symbol_sz(self, num_prb): + if num_prb <= 6: + return 128 + if num_prb <= 15: + return 256 + if num_prb <= 25: + return 384 + if num_prb <= 50: + return 768 + if num_prb <= 75: + return 1024 + if num_prb <= 110: + return 1536 + raise log.Error('invalid num_prb %r', num_prb) + + def num_prb2base_srate(self, num_prb): + return self.num_prb2symbol_sz(num_prb) * 15 * 1000 + + def get_zmq_rf_dev_args(self): + base_srate = self.num_prb2base_srate(self.num_prb()) + # Define all 8 possible RF ports (2x CA with 2x2 MIMO) + rf_dev_args = 'fail_on_disconnect=true' \ + + ',tx_port0=tcp://' + self.addr() + ':2000' \ + + ',tx_port1=tcp://' + self.addr() + ':2002' \ + + ',tx_port2=tcp://' + self.addr() + ':2004' \ + + ',tx_port3=tcp://' + self.addr() + ':2006' \ + + ',rx_port0=tcp://' + self.ue.addr() + ':2001' \ + + ',rx_port1=tcp://' + self.ue.addr() + ':2003' \ + + ',rx_port2=tcp://' + self.ue.addr() + ':2005' \ + + ',rx_port3=tcp://' + self.ue.addr() + ':2007' + + if self._num_cells == 1: + # Single carrier + if self.num_ports() == 1: + # SISO + rf_dev_args += ',tx_freq0=2630e6,rx_freq0=2510e6' + elif self.num_ports() == 2: + # MIMO + rf_dev_args += ',tx_freq0=2630e6,tx_freq1=2630e6,rx_freq0=2510e6,rx_freq1=2510e6' + elif self._num_cells == 2: + # 2x class + if self.num_ports() == 1: + # SISO + rf_dev_args += ',tx_freq0=2630e6,tx_freq1=2650e6,rx_freq0=2510e6,rx_freq1=2530e6' + elif self.num_ports() == 2: + # MIMO + rf_dev_args += ',tx_freq0=2630e6,tx_freq1=2630e6,tx_freq2=2650e6,tx_freq3=2650e6,rx_freq0=2510e6,rx_freq1=2510e6,rx_freq2=2530e6,rx_freq3=2530e6' + + rf_dev_args += ',id=enb,base_srate=' + str(base_srate) + + return rf_dev_args + ################### # PUBLIC (test API included) ################### diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index bb48880..ec7063c 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -27,25 +27,6 @@ def rf_type_valid(rf_type_str): return rf_type_str in ('uhd', 'zmq') -#reference: srsLTE.git srslte_symbol_sz() -def num_prb2symbol_sz(num_prb): - if num_prb <= 6: - return 128 - if num_prb <= 15: - return 256 - if num_prb <= 25: - return 384 - if num_prb <= 50: - return 768 - if num_prb <= 75: - return 1024 - if num_prb <= 110: - return 1536 - raise log.Error('invalid num_prb %r', num_prb) - -def num_prb2base_srate(num_prb): - return num_prb2symbol_sz(num_prb) * 15 * 1000 - class AmarisoftENB(enb.eNodeB): REMOTE_DIR = '/osmo-gsm-tester-amarisoftenb' @@ -174,15 +155,10 @@ # 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.num_prb()) - rf_dev_args = 'fail_on_disconnect=true' \ - + ',tx_port0=tcp://' + self.addr() + ':2000' \ - + ',tx_port1=tcp://' + self.addr() + ':2002' \ - + ',rx_port0=tcp://' + self.ue.addr() + ':2001' \ - + ',rx_port1=tcp://' + self.ue.addr() + ':2003' \ - + ',id=enb,base_srate=' + str(base_srate) + base_srate = self.num_prb2base_srate(self.num_prb()) + rf_dev_args = self.get_zmq_rf_dev_args() config.overlay(values, dict(enb=dict(sample_rate = base_srate / (1000*1000), - rf_dev_args=rf_dev_args))) + rf_dev_args = rf_dev_args))) # Set UHD frame size as a function of the cell bandwidth on B2XX if self._conf.get('rf_dev_type') == 'uhd' and values['enb'].get('rf_dev_args', None) is not None: diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index e657b04..243ffaa 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -27,25 +27,6 @@ def rf_type_valid(rf_type_str): return rf_type_str in ('zmq', 'uhd', 'soapy', 'bladerf') -#reference: srsLTE.git srslte_symbol_sz() -def num_prb2symbol_sz(num_prb): - if num_prb <= 6: - return 128 - if num_prb <= 15: - return 256 - if num_prb <= 25: - return 384 - if num_prb <= 50: - return 768 - if num_prb <= 75: - return 1024 - if num_prb <= 110: - return 1536 - raise log.Error('invalid num_prb %r', num_prb) - -def num_prb2base_srate(num_prb): - return num_prb2symbol_sz(num_prb) * 15 * 1000 - class srsENB(enb.eNodeB): REMOTE_DIR = '/osmo-gsm-tester-srsenb' @@ -194,14 +175,7 @@ # 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.num_prb()) - rf_dev_args = 'fail_on_disconnect=true' \ - + ',tx_port=tcp://' + self.addr() + ':2000' \ - + ',tx_port2=tcp://' + self.addr() + ':2002' \ - + ',rx_port=tcp://' + self.ue.addr() + ':2001' \ - + ',rx_port2=tcp://' + self.ue.addr() + ':2003' \ - + ',tx_freq=2630e6,rx_freq=2510e6,tx_freq2=2650e6,rx_freq2=2530e6' \ - + ',id=enb,base_srate=' + str(base_srate) + rf_dev_args = self.get_zmq_rf_dev_args() config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) # Set UHD frame size as a function of the cell bandwidth on B2XX -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17922 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: I8ca3ed83e65dc07927385267e5970bc4f5b120d5 Gerrit-Change-Number: 17922 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre 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 Apr 22 21:22:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 22 Apr 2020 21:22:13 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: fix ZMQ radio arguments for CA and MIMO configs In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17923 ) Change subject: ms_srs: fix ZMQ radio arguments for CA and MIMO configs ...................................................................... ms_srs: fix ZMQ radio arguments for CA and MIMO configs similar to the eNB patches this fixes the CA and MIMO radio parameters. In pricinple this could also be reused for the AmarisoftUE but since we currently don't have a means to test it I left it for a future commit. Change-Id: I16b00009f97d61a9ab4715e5d727024661d3d0be --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 32 insertions(+), 7 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 e6e9196..cdc8d18 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -75,6 +75,7 @@ self.remote_pcap_file = None self.remote_metrics_file = None self.enable_pcap = False + self.num_carriers = 1 self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) self._additional_args = [] @@ -215,16 +216,40 @@ self._additional_args = values['ue'].get('additional_args', '').split() + self.num_carriers = int(values['ue'].get('num_carriers', 1)) + # 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()) - config.overlay(values, dict(ue=dict(rf_dev_args = 'tx_port=tcp://' + self.addr() + ':2001' \ - + ',tx_port2=tcp://' + self.addr() + ':2003' \ - + ',rx_port=tcp://' + self.enb.addr() + ':2000' \ - + ',rx_port2=tcp://' + self.enb.addr() + ':2002' \ - + ',tx_freq=2510e6,rx_freq=2630e6,tx_freq2=2530e6,rx_freq2=2650e6' \ - + ',id=ue,base_srate='+ str(base_srate) - ))) + # Define all 8 possible RF ports (2x CA with 2x2 MIMO) + rf_dev_args = 'tx_port0=tcp://' + self.addr() + ':2001' \ + + ',tx_port1=tcp://' + self.addr() + ':2003' \ + + ',tx_port2=tcp://' + self.addr() + ':2005' \ + + ',tx_port3=tcp://' + self.addr() + ':2007' \ + + ',rx_port0=tcp://' + self.enb.addr() + ':2000' \ + + ',rx_port1=tcp://' + self.enb.addr() + ':2002' \ + + ',rx_port2=tcp://' + self.enb.addr() + ':2004' \ + + ',rx_port3=tcp://' + self.enb.addr() + ':2006' + + if self.num_carriers == 1: + # Single carrier + if self.enb.num_ports() == 1: + # SISO + rf_dev_args += ',rx_freq0=2630e6,tx_freq0=2510e6' + elif self.enb.num_ports() == 2: + # MIMO + rf_dev_args += ',rx_freq0=2630e6,rx_freq1=2630e6,tx_freq0=2510e6,tx_freq1=2510e6' + elif self.num_carriers == 2: + # 2x CA + if self.enb.num_ports() == 1: + # SISO + rf_dev_args += ',rx_freq0=2630e6,rx_freq1=2650e6,tx_freq0=2510e6,tx_freq1=2530e6' + elif self.enb.num_ports() == 2: + # MIMO + rf_dev_args += ',rx_freq0=2630e6,rx_freq1=2630e6,rx_freq2=2650e6,rx_freq3=2650e6,tx_freq0=2510e6,tx_freq1=2510e6,tx_freq2=2530e6,tx_freq3=2530e6' + + rf_dev_args += ',id=ue,base_srate='+ str(base_srate) + config.overlay(values, dict(ue=dict(rf_dev_args=rf_dev_args))) # Set UHD frame size as a function of the cell bandwidth on B2XX if self._conf.get('rf_dev_type') == 'uhd' and values['ue'].get('rf_dev_args', None) is not None: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17923 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: I16b00009f97d61a9ab4715e5d727024661d3d0be Gerrit-Change-Number: 17923 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 Wed Apr 22 21:22:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 22 Apr 2020 21:22:14 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_rr.conf.tmpl: extend CQI and SR subframe scheduling In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17924 ) Change subject: srsenb_rr.conf.tmpl: extend CQI and SR subframe scheduling ...................................................................... srsenb_rr.conf.tmpl: extend CQI and SR subframe scheduling this fixes an issues when allocating CQI resources for multiple carriers or multiple users Change-Id: I8b9345502003da2f5b6841a98b77375656e84d8c --- M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl index 8d261fa..597f6ef 100644 --- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl @@ -36,7 +36,7 @@ { dsr_trans_max = 64; period = 20; // in ms - subframe = [1]; // vector of subframe indices allowed for SR transmissions + subframe = [1, 11, 21, 31]; // vector of subframe indices allowed for SR transmissions // number of PRBs on each extreme used for SR (total prb is twice this number) % if int(enb['num_prb']) <= 6: @@ -50,7 +50,7 @@ mode = "periodic"; simultaneousAckCQI = true; period = 40; // in ms - subframe = [0]; + subframe = [0, 10, 20, 30]; % if int(enb['num_prb']) <= 6: nof_prb = 1; % else: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17924 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: I8b9345502003da2f5b6841a98b77375656e84d8c Gerrit-Change-Number: 17924 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 admin at opensuse.org Thu Apr 23 01:45:33 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 23 Apr 2020 01:45:33 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea0f340cb97c_4b5c2adf40186600961cd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 764s] | configure:13532: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 764s] | configure:13532: $? = 0 [ 764s] | configure:13541: result: yes [ 764s] | configure:13645: checking for library containing clock_gettime [ 764s] | configure:13676: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 764s] | configure:13676: $? = 0 [ 764s] | configure:13693: result: none required [ 764s] | configure:13712: checking for doxygen [ 764s] | configure:13730: found /usr/bin/doxygen [ 764s] | configure:13743: result: /usr/bin/doxygen [ 764s] | configure:13761: checking whether SYS_getrandom is declared [ 764s] | configure:13761: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 764s] | configure:13761: $? = 0 [ 764s] | configure:13761: result: yes [ 764s] | configure:13777: checking if gcc supports -fvisibility=hidden [ 764s] | configure:13783: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -fvisibility=hidden -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 764s] | configure:13783: $? = 0 [ 764s] | configure:13784: result: yes [ 764s] | configure:13798: checking for clock_gettime [ 764s] | configure:13798: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 764s] | configure:13798: $? = 0 [ 764s] | configure:13798: result: yes [ 764s] | configure:13798: checking for localtime_r [ 766s] | configu[ 734.699203] sysrq: SysRq : Power Off [ 766s] [ 734.701650] reboot: Power down [ 766s] ### VM INTERACTION END ### [ 766s] [ 766s] armbuild13 failed "build libosmocore_1.3.0.71.1f48b.dsc" at Thu Apr 23 01:45:29 UTC 2020. [ 766s] -- 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 Apr 23 09:33:32 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 23 Apr 2020 09:33:32 +0000 Subject: Change in osmo-bts[master]: dtx: add detection of AMR DTX frames for osmo-bts-trx In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/17221 to look at the new patch set (#6). Change subject: dtx: add detection of AMR DTX frames for osmo-bts-trx ...................................................................... dtx: add detection of AMR DTX frames for osmo-bts-trx Currently we do not detect any of the DTX frames (SID_FIRST, SID_UPDATE etc.) Detecting and tagging those frames as is_sub is important for measurement processing. Also the RTP marker bit must be set on each ONSET frame. - Add detection of DTX frames - Tag DTX frames as is_sub and set frame type to AMR_SID - Set RTP marker bit when ONSET frames are received Change-Id: I5afe730fff2fa3199a5913b0de4f5c7b23a39f31 Depends: libosmocore I2bbdb39ea20461ca08b2e6f1a33532cb55cd5195 Related: OS#2978 --- M include/osmo-bts/scheduler.h M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c M src/osmo-bts-trx/scheduler_trx.c 4 files changed, 107 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/21/17221/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5afe730fff2fa3199a5913b0de4f5c7b23a39f31 Gerrit-Change-Number: 17221 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Apr 23 09:35:48 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 23 Apr 2020 09:35:48 +0000 Subject: Change in libosmocore[master]: gsm0505_amr_dtx: add missing value strings References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17931 ) Change subject: gsm0505_amr_dtx: add missing value strings ...................................................................... gsm0505_amr_dtx: add missing value strings The value string array that explain the type of the AMR DTX / SID frames is incomplete, lets add the missing strings. Change-Id: If9e80b4bd8bdc31323c7c276155b2538e20a99be Related: OS#2978 --- M src/coding/gsm0503_amr_dtx.c 1 file changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/31/17931/1 diff --git a/src/coding/gsm0503_amr_dtx.c b/src/coding/gsm0503_amr_dtx.c index 724cf09..7069b96 100644 --- a/src/coding/gsm0503_amr_dtx.c +++ b/src/coding/gsm0503_amr_dtx.c @@ -45,16 +45,18 @@ static const ubit_t codec_mode_4_sid[] = { 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1 }; const struct value_string gsm0503_amr_dtx_frame_names[] = { + { AMR_OTHER, "AMR_OTHER (audio)" }, { AFS_SID_FIRST, "AFS_SID_FIRST" }, - { AFS_SID_UPDATE, "AFS_SID_UPDATE" }, + { AFS_SID_UPDATE, "AFS_SID_UPDATE (marker)" }, + { AFS_SID_UPDATE_CN, "AFS_SID_UPDATE_CN (audio)" }, { AFS_ONSET, "AFS_ONSET" }, - { AHS_SID_UPDATE, "AHS_SID_UPDATE" }, + { AHS_SID_UPDATE, "AHS_SID_UPDATE (marker)" }, + { AHS_SID_UPDATE_CN, "AHS_SID_UPDATE_CN (audio)" }, { AHS_SID_FIRST_P1, "AHS_SID_FIRST_P1" }, { AHS_SID_FIRST_P2, "AHS_SID_FIRST_P2" }, { AHS_ONSET, "AHS_ONSET" }, { AHS_SID_FIRST_INH, "AHS_SID_FIRST_INH" }, { AHS_SID_UPDATE_INH, "AHS_SID_UPDATE_INH" }, - { AMR_OTHER, "NON DTX FRAME (OTHER)" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17931 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If9e80b4bd8bdc31323c7c276155b2538e20a99be Gerrit-Change-Number: 17931 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 Apr 23 11:00:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 23 Apr 2020 11:00:23 +0000 Subject: Change in osmo-bts[master]: dtx: add detection of AMR DTX frames for osmo-bts-trx In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17221 ) Change subject: dtx: add detection of AMR DTX frames for osmo-bts-trx ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5afe730fff2fa3199a5913b0de4f5c7b23a39f31 Gerrit-Change-Number: 17221 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 23 Apr 2020 11:00: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 Thu Apr 23 11:06:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 23 Apr 2020 11:06:52 +0000 Subject: Change in osmocom-bb[master]: firmware/rfch.[ch]: Document functions + constify input arguments References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17932 ) Change subject: firmware/rfch.[ch]: Document functions + constify input arguments ...................................................................... firmware/rfch.[ch]: Document functions + constify input arguments Change-Id: I16d5190b3cdc997c5609b52d41203f10264b017c --- M src/target/firmware/include/layer1/rfch.h M src/target/firmware/layer1/rfch.c 2 files changed, 16 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/32/17932/1 diff --git a/src/target/firmware/include/layer1/rfch.h b/src/target/firmware/include/layer1/rfch.h index 344523c..0c4f9a0 100644 --- a/src/target/firmware/include/layer1/rfch.h +++ b/src/target/firmware/include/layer1/rfch.h @@ -3,7 +3,7 @@ struct gsm_time; -void rfch_get_params(struct gsm_time *t, +void rfch_get_params(const struct gsm_time *t, uint16_t *arfcn_p, uint8_t *tsc_p, uint8_t *tn_p); #endif /* _L1_RFCH_H */ diff --git a/src/target/firmware/layer1/rfch.c b/src/target/firmware/layer1/rfch.c index d0818d0..a8b4ed0 100644 --- a/src/target/firmware/layer1/rfch.c +++ b/src/target/firmware/layer1/rfch.c @@ -82,9 +82,16 @@ return x; } -static int16_t rfch_hop_seq_gen(struct gsm_time *t, +/*! Hopping sequence generator. + * \param[in] t GSM time (frame number) + * \param[in] hsn Hopping Sequence Number + * \param[in] maio Mobile Allocation Index OFfset + * \param[in] n number of entries in mobile allication (arfcn table) + * \param[in] arfcn_tbl Array of ARFCN representing the mobile allocation + * \returns ARFCN to use for given input parameters at time 't' */ +static int16_t rfch_hop_seq_gen(const struct gsm_time *t, uint8_t hsn, uint8_t maio, - uint8_t n, uint16_t *arfcn_tbl) + uint8_t n, const uint16_t *arfcn_tbl) { int mai; @@ -114,8 +121,12 @@ } -/* RF Channel parameters */ -void rfch_get_params(struct gsm_time *t, +/*! Get RF Channel parameters at a given GSM time (frame number) + * \param[in] t GSM time for which to obtain parameters + * \param[out] arfcn_p ARFCN to use at time t + * \oaram[out] tsc_p training sequence to use at time t + * \param[out] tn_p timeslot number to use at time t */ +void rfch_get_params(const struct gsm_time *t, uint16_t *arfcn_p, uint8_t *tsc_p, uint8_t *tn_p) { if (l1s.dedicated.type == GSM_DCHAN_NONE) { -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17932 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I16d5190b3cdc997c5609b52d41203f10264b017c Gerrit-Change-Number: 17932 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 Apr 23 11:49:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 23 Apr 2020 11:49:01 +0000 Subject: Change in osmocom-bb[master]: firmware/rfch.[ch]: Document functions + constify input arguments In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17932 ) Change subject: firmware/rfch.[ch]: Document functions + constify input arguments ...................................................................... Patch Set 1: (4 comments) https://gerrit.osmocom.org/c/osmocom-bb/+/17932/1/src/target/firmware/layer1/rfch.c File src/target/firmware/layer1/rfch.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17932/1/src/target/firmware/layer1/rfch.c at 89 PS1, Line 89: * \param[in] n number of entries in mobile allication (arfcn table) typo "allocation". https://gerrit.osmocom.org/c/osmocom-bb/+/17932/1/src/target/firmware/layer1/rfch.c at 91 PS1, Line 91: * \returns ARFCN to use for given input parameters at time 't' */ "..., or MAI if no arfcn table is provided (arfcn_tbl=NULL)" https://gerrit.osmocom.org/c/osmocom-bb/+/17932/1/src/target/firmware/layer1/rfch.c at 127 PS1, Line 127: * \oaram[out] tsc_p training sequence to use at time t Training Sequence https://gerrit.osmocom.org/c/osmocom-bb/+/17932/1/src/target/firmware/layer1/rfch.c at 128 PS1, Line 128: * \param[out] tn_p timeslot number to use at time t */ Timeslot Number -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17932 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I16d5190b3cdc997c5609b52d41203f10264b017c Gerrit-Change-Number: 17932 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 23 Apr 2020 11:49:01 +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 Apr 23 15:03:31 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Thu, 23 Apr 2020 15:03:31 +0000 Subject: Change in pysim[master]: cards.py: fix select_aif_by_aid function References: Message-ID: guilly at gmail.com has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17933 ) Change subject: cards.py: fix select_aif_by_aid function ...................................................................... cards.py: fix select_aif_by_aid function current implementation does not work, as select_adf expects the full name, as returned by read_aid. turned it into a wrapper, otherwise it's not possible to do the selection from an app Change-Id: I1391869e5c302fdcc03e9972f179e865dfd443a9 --- M pySim/cards.py M pySim/ts_51_011.py 2 files changed, 11 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/33/17933/1 diff --git a/pySim/cards.py b/pySim/cards.py index c0462fb..89de66c 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -23,7 +23,7 @@ # along with this program. If not, see . # -from pySim.ts_51_011 import EF, DF +from pySim.ts_51_011 import EF, DF, MF from pySim.utils import * from smartcard.util import toBytes @@ -235,23 +235,14 @@ print("Can't read AIDs from SIM -- %s" % (str(e),)) # Select ADF.U/ISIM in the Card using its full AID - def select_adf_by_aid(self, adf="usim"): - # Check for valid ADF name - if adf not in ["usim", "isim"]: - return None - - # 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: - (res, sw) = self._scc.select_adf(aid) - return sw - - return None - + def select_adf_by_aid(self, aid): + sw = self._scc.select_file(MF) + if sw == '9000': + (res, sw) = self._scc.select_adf(aid) + return sw + return (None, sw) + + class _MagicSimBase(Card): """ diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py index 1cec91f..31e7b31 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -139,6 +139,8 @@ 'MMSUCP': '6FD2', } +MF = [MF_num] + DF = { 'TELECOM': [MF_num, DF_num['TELECOM']], -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17933 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I1391869e5c302fdcc03e9972f179e865dfd443a9 Gerrit-Change-Number: 17933 Gerrit-PatchSet: 1 Gerrit-Owner: guilly at gmail.com Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Apr 23 16:19:36 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 23 Apr 2020 16:19:36 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea1c02e13ebe_6172b15ccebc5f0241517@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 531s] ^~~~~~~~~~~~~~~~~~~ [ 531s] main.c: In function 'main': [ 531s] main.c:757:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 531s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 531s] ^~~~~~~~~~~~~~~~~~~ [ 531s] main.c:757:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 531s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 531s] ^ [ 531s] cc1: some warnings being treated as errors [ 531s] Makefile:469: recipe for target 'main.o' failed [ 531s] make[3]: *** [main.o] Error 1 [ 531s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 531s] Makefile:402: recipe for target 'all-recursive' failed [ 531s] make[2]: *** [all-recursive] Error 1 [ 531s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 531s] Makefile:349: recipe for target 'all' failed [ 531s] make[1]: *** [all] Error 2 [ 531s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 531s] dh_auto_build: make -j1 returned exit code 2 [ 531s] debian/rules:45: recipe for target 'build' failed [ 531s] make: *** [build] Error 2 [ 531s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 531s] ### VM INTERACTION START ### [ 534s] [ 506.547209] sysrq: SysRq : Power Off [ 534s] [ 506.562286] reboot: Power down [ 535s] ### VM INTERACTION END ### [ 535s] [ 535s] obs-arm-6 failed "build osmo-uecups_0.1.0.dsc" at Thu Apr 23 16:19:29 UTC 2020. [ 535s] -- 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 Apr 23 18:53:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 23 Apr 2020 18:53:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: L3_Templates.ttcn: Fix trailing whitespace In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17930 ) Change subject: L3_Templates.ttcn: Fix trailing whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17930 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: I46ff86b981ef649c89073f155566af35848aef8d Gerrit-Change-Number: 17930 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 23 Apr 2020 18:53: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 Apr 23 19:09:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 23 Apr 2020 19:09:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: L3_Templates.ttcn: Fix trailing whitespace In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17930 ) Change subject: L3_Templates.ttcn: Fix trailing whitespace ...................................................................... L3_Templates.ttcn: Fix trailing whitespace Change-Id: I46ff86b981ef649c89073f155566af35848aef8d --- M library/L3_Templates.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 46cd1ac..7c22415 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -2821,7 +2821,7 @@ tiOrSkip := { transactionId := { tio := tid, - tiFlag := c_TIF_ORIG, + tiFlag := c_TIF_ORIG, tIExtension := omit } }, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17930 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: I46ff86b981ef649c89073f155566af35848aef8d Gerrit-Change-Number: 17930 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 admin at opensuse.org Fri Apr 24 01:44:47 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 01:44:47 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea244a1cdb53_6172b15ccebc5f04119f2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 796s] | configure:13907: WARNING: Applying workaround for TLS bug on ARM platform for GCC < 7.3.0 [ 796s] | (-mtls-dialect=gnu2). On some toolchain versions, ld may [ 796s] | crash. In that case you must build with CFLAGS='-O0' and run [ 796s] | ./configure with --disable-detect-tls-gcc-arm-bug [ 796s] | configure:13921: checking for TALLOC [ 796s] | configure:13928: $PKG_CONFIG --exists --print-errors "talloc >= 2.0.1" [ 796s] | configure:13931: $? = 0 [ 796s] | configure:13945: $PKG_CONFIG --exists --print-errors "talloc >= 2.0.1" [ 796s] | configure:13948: $? = 0 [ 796s] | configure:14006: result: yes [ 796s] | configure:14026: checking for PCSC [ 796s] | configure:14033: $PKG_CONFIG --exists --print-errors "libpcsclite" [ 796s] | configure:14036: $? = 0 [ 796s] | configure:14050: $PKG_CONFIG --exists --print-errors "libpcsclite" [ 796s] | configure:14053: $? = 0 [ 796s] | configure:14111: result: yes [ 796s] | configure:14145: checking for LIBUSB [ 796s] | configure:14152: $PKG_CONFIG --exists --print-errors "libusb-1.0" [ 796s] | configure:14155: $? = 0 [ 796s] | configure:14169: $PKG_CONFIG --exists --print-errors "libusb-1.0" [ 796s] | configure:14172: $? = 0 [ 796s] | configure:14230: result: yes [ 796s] | configure:14265: checking for LIBGNUTLS [ 798s] | configure:14272: $PKG_CONFIG --exists --print-errors "gn[ 769.656894] sysrq: SysRq : Power Off [ 798s] [ 769.659276] reboot: Power down [ 798s] ### VM INTERACTION END ### [ 798s] [ 798s] armbuild02 failed "build libosmocore_1.3.0.71.1f48b.dsc" at Fri Apr 24 01:44:33 UTC 2020. [ 798s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 02:11:55 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 02:11:55 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5ea24af1ee692_6172b15ccebc5f0416525@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/xUbuntu_18.10/i586 Package network:osmocom:nightly/osmo-pcu failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 237s] | #define PACKAGE "osmo-pcu" [ 237s] | #define VERSION "0.8.0.115-3f27f" [ 237s] | #define STDC_HEADERS 1 [ 237s] | #define HAVE_SYS_TYPES_H 1 [ 237s] | #define HAVE_SYS_STAT_H 1 [ 237s] | #define HAVE_STDLIB_H 1 [ 237s] | #define HAVE_STRING_H 1 [ 237s] | #define HAVE_MEMORY_H 1 [ 237s] | #define HAVE_STRINGS_H 1 [ 237s] | #define HAVE_INTTYPES_H 1 [ 237s] | #define HAVE_STDINT_H 1 [ 237s] | #define HAVE_UNISTD_H 1 [ 237s] | #define HAVE_DLFCN_H 1 [ 237s] | #define LT_OBJDIR ".libs/" [ 237s] | #define STDC_HEADERS 1 [ 237s] | [ 237s] | configure: exit 0 [ 237s] [ 237s] make[1]: *** [debian/rules:24: override_dh_auto_test] Error 1 [ 237s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 237s] make: *** [debian/rules:12: build] Error 2 [ 237s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 237s] ### VM INTERACTION START ### [ 240s] [ 233.304863] sysrq: SysRq : Power Off [ 240s] [ 233.311490] reboot: Power down [ 240s] ### VM INTERACTION END ### [ 240s] [ 240s] goat17 failed "build osmo-pcu_0.8.0.115.3f27f.dsc" at Fri Apr 24 02:11:46 UTC 2020. [ 240s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Apr 24 13:12:13 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Fri, 24 Apr 2020 13:12:13 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: rafael2k has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 6: Code-Review+1 I would like this to get merged as-is and then we agree on a plan for the lc15 and oc2g merge. I'm running this code for 2 weeks, without leaks or issues. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 6 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Fri, 24 Apr 2020 13:12: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 Apr 24 13:29:50 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Fri, 24 Apr 2020 13:29:50 +0000 Subject: Change in pysim[master]: transport/__init.py__ add generic ATR hex read function References: Message-ID: guilly at gmail.com has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17934 ) Change subject: transport/__init.py__ add generic ATR hex read function ...................................................................... transport/__init.py__ add generic ATR hex read function useful for debugging the ATR response in hex, similar format to the oen used in most of the autodetect functions Change-Id: Id0e53ef50e32a8c3d2190581540b011eb89f8cc0 --- M pySim/transport/__init__.py 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/34/17934/1 diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py index 69e2fe9..676167c 100644 --- a/pySim/transport/__init__.py +++ b/pySim/transport/__init__.py @@ -90,6 +90,7 @@ data : string (in hex) of returned data (ex. "074F4EFFFF") sw : string (in hex) of status word (ex. "9000") """ + print(pdu) rv = self.send_apdu(pdu) # Create a masked version of the returned status word @@ -103,3 +104,10 @@ if sw.lower() != sw_masked: raise RuntimeError("SW match failed! Expected %s and got %s." % (sw.lower(), rv[1])) return rv + + def get_atr_in_hex(self): + atr = '' + for byte in self.get_atr(): + atr += '%02x ' % byte + return atr + \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17934 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id0e53ef50e32a8c3d2190581540b011eb89f8cc0 Gerrit-Change-Number: 17934 Gerrit-PatchSet: 1 Gerrit-Owner: guilly at gmail.com Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Apr 24 17:10:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 24 Apr 2020 17:10:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong_with_ul_racap References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 ) Change subject: pcu: Introduce test TC_mo_ping_pong_with_ul_racap ...................................................................... pcu: Introduce test TC_mo_ping_pong_with_ul_racap Test sending MS RA capabilities through Packet Resource Request to update GPRS multislot class. EGPRS multislot will come in a later commit. Change-Id: I5026d8b78a3fb82093956b65989d18fa6f6d5424 --- M library/L3_Templates.ttcn M library/RLCMAC_CSN1_Types.ttcn M library/RLCMAC_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 4 files changed, 178 insertions(+), 52 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/35/17935/1 diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 7c22415..8af9acc 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -20,6 +20,7 @@ import from MobileL3_CC_Types all; import from MobileL3_GMM_SM_Types all; import from MobileL3_SMS_Types all; +import from RLCMAC_CSN1_Types all; /* TS 24.007 Table 11.3 TI Flag */ const BIT1 c_TIF_ORIG := '0'B; @@ -2012,33 +2013,6 @@ cnSpecificDRXCycleLength := '0000'B /* SI value used */ }; -template (value) AccessCapabilitiesStruct ts_AccesssCap := { - lengthIndicator := 0, /* overwritten */ - accessCapabilities := { - rfPowerCapability := '001'B, /* FIXME */ - presenceBitA5 := '0'B, - a5bits := omit, - esind := '1'B, - psbit := '0'B, - vgcs := '0'B, - vbs := '0'B, - presenceBitMultislot := '0'B, - multislotcap := omit, - accessCapAdditionsAfterRel97 := omit - }, - spare_bits := omit -} - -template (value) MSRACapabilityValuesRecord ts_RaCapRec(BIT4 att) := { - mSRACapabilityValues := { - mSRACapabilityValuesExclude1111 := { - accessTechnType := '0001'B, /* E-GSM */ - accessCapabilities := ts_AccesssCap - } - }, - presenceBitMSRACap := '0'B -}; - template (value) MSRadioAccessCapabilityLV ts_MS_RaCapa := { lengthIndicator := 0, /* overwritten */ msRadioAccessCapabilityV := { diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index 9ceb339..45c1f3a 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -420,10 +420,9 @@ variant (tlli) "BYTEORDER(first)" }; - /* 12.30 MS Radio Access Capability 2 (feature bitmask) - * (value part, see 3GPP TS 24.008, 10.5.5.12a) */ + /* TS 44.060 sec 12.30 MS Radio Access Capability 2 + * (for value part, see 3GPP TS 24.008 sec 10.5.5.12a and table 10.5.146) */ type union MSRadioAccCap2 { - /* TODO: see table 10.5.146/3GPP TS 24.008 */ MSRadioAccessCapabilityV msRadioAccessCapabilityV }; @@ -676,29 +675,107 @@ } } - template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_RES_REQ( - GprsTlli tlli, ChannelReqDescription ch_req_desc, - RlcAccessType acc_type := RLC_ACC_TYPE_TWO_PHASE - ) := { + private function f_presece_bit_MultislotCap_GPRS(template (omit) MultislotCap_GPRS mscap_gprs) return BIT1 { + if (istemplatekind(mscap_gprs, "omit")) { + return '0'B; + } + return '1'B; + } + private function f_presece_bit_MultislotCap_EGPRS(template (omit) MultislotCap_EGPRS mscap_egprs) return BIT1 { + if (istemplatekind(mscap_egprs, "omit")) { + return '0'B; + } + return '1'B; + } + template (value) MSRACapabilityValuesRecord ts_RaCapRec(BIT4 att := '0001'B /* E-GSM */, template (omit) MultislotCap_GPRS mscap_gprs := omit, template (omit) MultislotCap_EGPRS mscap_egprs := omit) := { + mSRACapabilityValues := { + mSRACapabilityValuesExclude1111 := { + accessTechnType := att, /* E-GSM */ + accessCapabilities := { + lengthIndicator := 0, /* overwritten */ + accessCapabilities := { + rfPowerCapability := '001'B, /* FIXME */ + presenceBitA5 := '0'B, + a5bits := omit, + esind := '1'B, + psbit := '0'B, + vgcs := '0'B, + vbs := '0'B, + presenceBitMultislot := '1'B, + multislotcap := { + presenceBitHscsd := '0'B, + hscsdmultislotclass := omit, + presenceBitGprs := f_presece_bit_MultislotCap_GPRS(mscap_gprs), + gprsmultislot := mscap_gprs, + presenceBitSms := '0'B, + multislotCap_SMS := omit, + multislotCapAdditionsAfterRel97 := { + presenceBitEcsdmulti := '0'B, + ecsdmultislotclass := omit, + presenceBitEgprsmulti := f_presece_bit_MultislotCap_EGPRS(mscap_egprs), + multislotCap_EGPRS := mscap_egprs, + presenceBitDtmGprsmulti := '0'B, + multislotCapdtmgprsmultislotsubclass := omit + } + }, + accessCapAdditionsAfterRel97 := omit + }, + spare_bits := omit + } + } + }, + presenceBitMSRACap := '0'B + }; + + private function f_presece_bit_MSRadioAccessCapabilityV(template (omit) MSRadioAccessCapabilityV ms_rac) return BIT1 { + if (istemplatekind(ms_rac, "omit")) { + return '0'B; + } + return '1'B; + } + + private function f_template_MSRadioAccessCapabilityV_to_MSRadioAccCap2(template (omit) MSRadioAccessCapabilityV ms_rac) return template (omit) MSRadioAccCap2 { + var template (omit) MSRadioAccCap2 ms_rac2 := omit; + if (istemplatekind(ms_rac, "omit")) { + return ms_rac2; + } + ms_rac2 := { msRadioAccessCapabilityV := ms_rac }; + return ms_rac2; + } + + private const ChannelReqDescription c_ChReqDesc_default := { + peak_tput_class := 0, + priority := 0, + rlc_mode := RLC_MODE_UNACKNOWLEDGED, + llc_pdu_type := LLC_PDU_IS_NOT_SACK_OR_ACK, + RlcOctetCount := 0 + } + + /* TS 44.060 sec 11.2.16 */ + template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_RES_REQ(GprsTlli tlli, + template (omit) MSRadioAccessCapabilityV ms_rac, + ChannelReqDescription ch_req_desc := c_ChReqDesc_default, + RlcAccessType acc_type := RLC_ACC_TYPE_TWO_PHASE) + := { msg_type := PACKET_RESOURCE_REQUEST, u := { resource_req := { - acc_type_presence := '1'B, - acc_type := acc_type, - id_type := '1'B, - id := { tlli := tlli }, - ms_rac2_presence := '0'B, - ms_rac2 := omit, - ch_req_desc := ch_req_desc, - change_mark_presence := '0'B, - change_mark := omit, - C_val := '000000'B, - sign_var_presence := '0'B, - sign_var := omit, - I_levels := { - iNone, iNone, iNone, iNone, - iNone, iNone, iNone, iNone - } + acc_type_presence := '1'B, + acc_type := acc_type, + id_type := '1'B, + id := { tlli := tlli }, + ms_rac2_presence := f_presece_bit_MSRadioAccessCapabilityV(ms_rac), + ms_rac2 := f_template_MSRadioAccessCapabilityV_to_MSRadioAccCap2(ms_rac), + ch_req_desc := ch_req_desc, + change_mark_presence := '0'B, + change_mark := omit, + C_val := '000000'B, + sign_var_presence := '0'B, + sign_var := omit, + I_levels := { + iNone, iNone, iNone, iNone, + iNone, iNone, iNone, iNone + } } } } diff --git a/library/RLCMAC_Types.ttcn b/library/RLCMAC_Types.ttcn index dbcf4ae..086eb7b 100644 --- a/library/RLCMAC_Types.ttcn +++ b/library/RLCMAC_Types.ttcn @@ -13,6 +13,7 @@ import from General_Types all; import from Osmocom_Types all; import from GSM_Types all; + import from MobileL3_GMM_SM_Types all; import from RLCMAC_CSN1_Types all; /* TS 44.060 10.4.7 */ @@ -445,6 +446,32 @@ } } + template RlcmacDlBlock tr_RLCMAC_UL_PACKET_ASS(template uint3_t usf := ?) := { + ctrl := { + mac_hdr := { + payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), + rrbp:= ?, + rrbp_valid := ?, + usf := usf + }, + opt := *, + payload := { + msg_type := PACKET_UL_ASSIGNMENT, + u := { + ul_assignment := { + page_mode := ?, + persistence_levels_present := ?, + persistence_levels := *, + identity := ?, + is_egprs := ?, /* msg escape */ + gprs := * + } + } + } + } + } + + /* Receive Template for Uplink ACK/NACK */ template RlcmacDlBlock tr_RLCMAC_UL_ACK_NACK(template uint5_t ul_tfi, template GprsTlli tlli := ?) := { ctrl := { diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 8e1d349..7c525e2 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -26,6 +26,7 @@ import from Osmocom_VTY_Functions all; import from TELNETasp_PortType all; +import from MobileL3_GMM_SM_Types all; import from RLCMAC_CSN1_Types all; import from RLCMAC_Types all; @@ -491,6 +492,20 @@ poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); } +private function f_rx_rlcmac_dl_block_exp_pkt_ul_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) +runs on RAW_PCU_Test_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_UL_PACKET_ASS())) { + setverdict(fail, "Failed to match Packet Uplink Assignment"); + mtc.stop; + } + + poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); +} + + private function f_rx_rlcmac_dl_block_exp_pkt_pag_req(out RlcmacDlBlock dl_block) runs on RAW_PCU_Test_CT { var uint32_t dl_fn; @@ -1164,7 +1179,7 @@ /* Test scenario where MS wants to send some data on PDCH against SGSN and it is * answered, so TBFs for uplink and later for downlink are created. */ -testcase TC_mo_ping_pong() runs on RAW_PCU_Test_CT { +private function f_TC_mo_ping_pong(template (omit) MSRadioAccessCapabilityV ms_racap := omit, template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { var GsmRrMessage rr_imm_ass; var PacketUlAssign ul_tbf_ass; var PacketDlAssign dl_tbf_ass; @@ -1198,6 +1213,18 @@ mtc.stop; } + if (not istemplatekind(ms_racap, "omit")) { + /* Send PACKET RESOURCE REQUEST to upgrade to EGPRS + * (see 3GPP TS 04.60 "7.1.3.1 Initiation of the Packet resource request procedure") + */ + f_tx_rlcmac_ul_block(ts_RLC_UL_CTRL_ACK(valueof(ts_RlcMacUlCtrl_PKT_RES_REQ(tlli, ms_racap))), 0); + f_rx_rlcmac_dl_block_exp_pkt_ul_ass(dl_block, sched_fn); + if (dl_block.ctrl.payload.u.ul_assignment.identity.tlli.tlli != tlli) { + setverdict(fail, "Wrong TLLI ", dl_block.ctrl.payload.u.ul_assignment.identity.tlli, " received vs exp ", tlli); + mtc.stop; + } + } + /* Send one UL block and make sure it is ACKED fine */ f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); @@ -1219,13 +1246,33 @@ /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); + f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0, exp_cs_mcs); /* ACK the DL block */ f_acknackdesc_ack_block(ack_nack_desc, dl_block.data.mac_hdr.hdr_ext.bsn, '1'B); f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(dl_block.data.mac_hdr.hdr_ext.tfi, ack_nack_desc), 0, sched_fn); } +/* Test scenario where MS wants to send some data on PDCH against SGSN and it is + * answered, so TBFs for uplink and later for downlink are created. + */ +testcase TC_mo_ping_pong() runs on RAW_PCU_Test_CT { + var CodingScheme exp_cs_mcs := CS_1; + f_TC_mo_ping_pong(omit, exp_cs_mcs); +} + + +testcase TC_mo_ping_pong_with_ul_racap() runs on RAW_PCU_Test_CT { + var MultislotCap_GPRS mscap_gprs := { + gprsmultislotclass := '00011'B, + gprsextendeddynalloccap := '0'B + }; + var MSRadioAccessCapabilityV ms_racap := { valueof(ts_RaCapRec('0001'B /* E-GSM */, mscap_gprs, omit)) }; + var CodingScheme exp_cs_mcs := CS_2; + + f_TC_mo_ping_pong(ms_racap, exp_cs_mcs); +} + /* Test scenario where SGSN wants to send some data against MS and it is * answered by the MS on PDCH, so TBFs for downlink and later for uplink are created. */ @@ -1573,6 +1620,7 @@ execute( TC_t3169() ); execute( TC_t3193() ); execute( TC_mo_ping_pong() ); + execute( TC_mo_ping_pong_with_ul_racap() ); execute( TC_mt_ping_pong() ); execute( TC_mt_ping_pong_with_dl_racap() ); execute( TC_imm_ass_dl_block_retrans() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 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: I5026d8b78a3fb82093956b65989d18fa6f6d5424 Gerrit-Change-Number: 17935 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 Apr 24 18:55:51 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 24 Apr 2020 18:55:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong_with_ul_racap In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 ) Change subject: pcu: Introduce test TC_mo_ping_pong_with_ul_racap ...................................................................... Patch Set 1: Code-Review-1 (4 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935/1/library/L3_Templates.ttcn File library/L3_Templates.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935/1/library/L3_Templates.ttcn at 23 PS1, Line 23: RLCMAC_CSN1_Types What's the purpose of this import? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935/1/library/RLCMAC_CSN1_Types.ttcn File library/RLCMAC_CSN1_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935/1/library/RLCMAC_CSN1_Types.ttcn at 763 PS1, Line 763: Unrelated white-space change. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935/1/library/RLCMAC_CSN1_Types.ttcn at 776 PS1, Line 776: same https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935/1/library/RLCMAC_Types.ttcn File library/RLCMAC_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935/1/library/RLCMAC_Types.ttcn at 16 PS1, Line 16: MobileL3_GMM_SM_Types Similar question, do we really need this import? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 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: I5026d8b78a3fb82093956b65989d18fa6f6d5424 Gerrit-Change-Number: 17935 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 24 Apr 2020 18:55: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 Fri Apr 24 19:07:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 24 Apr 2020 19:07:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong_with_ul_racap In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 ) Change subject: pcu: Introduce test TC_mo_ping_pong_with_ul_racap ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935/1/pcu/PCU_Tests_RAW.ttcn at 505 PS1, Line 505: dl_block.ctrl.mac_hdr.rrbp) You probably need to make sure that 'RRBP valid' flag is set. Otherwise this field is meaningless. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 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: I5026d8b78a3fb82093956b65989d18fa6f6d5424 Gerrit-Change-Number: 17935 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 24 Apr 2020 19:07:19 +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 Apr 24 19:13:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 24 Apr 2020 19:13:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong_with_ul_racap In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 ) Change subject: pcu: Introduce test TC_mo_ping_pong_with_ul_racap ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935/1/library/L3_Templates.ttcn File library/L3_Templates.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935/1/library/L3_Templates.ttcn at 23 PS1, Line 23: RLCMAC_CSN1_Types > What's the purpose of this import? L3_Templates.ttcn:2018.3-22: error: There is no local or imported definition with name `ts_RaCapRec' -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 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: I5026d8b78a3fb82093956b65989d18fa6f6d5424 Gerrit-Change-Number: 17935 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 24 Apr 2020 19:13:25 +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 Apr 24 19:17:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 24 Apr 2020 19:17:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong_with_ul_racap In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 ) Change subject: pcu: Introduce test TC_mo_ping_pong_with_ul_racap ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935/1/pcu/PCU_Tests_RAW.ttcn at 505 PS1, Line 505: dl_block.ctrl.mac_hdr.rrbp) > You probably need to make sure that 'RRBP valid' flag is set. Otherwise this field is meaningless. Let's say for now it's up to the test to know whether it will receive a valid one or not. I'm more interested in merging all the library stuff to get less WIP code in my branches. We can come back to improving this later. I think we should actually have a struct to catch MS/TBF information and have functions to use them as if it were objects. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 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: I5026d8b78a3fb82093956b65989d18fa6f6d5424 Gerrit-Change-Number: 17935 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 24 Apr 2020 19:17:16 +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 Apr 24 19:19:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 24 Apr 2020 19:19:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong_with_ul_racap In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 to look at the new patch set (#2). Change subject: pcu: Introduce test TC_mo_ping_pong_with_ul_racap ...................................................................... pcu: Introduce test TC_mo_ping_pong_with_ul_racap Test sending MS RA capabilities through Packet Resource Request to update GPRS multislot class. EGPRS multislot will come in a later commit. Change-Id: I5026d8b78a3fb82093956b65989d18fa6f6d5424 --- M library/L3_Templates.ttcn M library/RLCMAC_CSN1_Types.ttcn M library/RLCMAC_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 4 files changed, 163 insertions(+), 38 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/35/17935/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 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: I5026d8b78a3fb82093956b65989d18fa6f6d5424 Gerrit-Change-Number: 17935 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Apr 24 20:38:33 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Fri, 24 Apr 2020 20:38:33 +0000 Subject: Change in pysim[master]: cards.py: fix select_aif_by_aid function In-Reply-To: References: Message-ID: guilly at gmail.com has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/17933 ) Change subject: cards.py: fix select_aif_by_aid function ...................................................................... Abandoned found the root cause of the problem, the function is working actually as it was -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17933 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I1391869e5c302fdcc03e9972f179e865dfd443a9 Gerrit-Change-Number: 17933 Gerrit-PatchSet: 1 Gerrit-Owner: guilly at gmail.com Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Apr 24 20:59:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 24 Apr 2020 20:59:46 +0000 Subject: Change in osmo-bts[master]: lc15: Fix returning values on void function References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17936 ) Change subject: lc15: Fix returning values on void function ...................................................................... lc15: Fix returning values on void function Fixes following warnings: /osmo-bts/src/osmo-bts-litecell15/l1_if.c:1722:36: warning: assignment to ?void (*)(void *)? from incompatible pointer type ?int (*)(void *)? [-Wincompatible-pointer-types] 1722 | fl1h->hw_alive.dsp_alive_timer.cb = dsp_alive_timer_cb; | ^ Change-Id: I7a944c0636933c0389db9aabd8b5e6c173052f12 --- M src/osmo-bts-litecell15/l1_if.c 1 file changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/36/17936/1 diff --git a/src/osmo-bts-litecell15/l1_if.c b/src/osmo-bts-litecell15/l1_if.c index 6dead92..0e334d2 100644 --- a/src/osmo-bts-litecell15/l1_if.c +++ b/src/osmo-bts-litecell15/l1_if.c @@ -1618,7 +1618,7 @@ msgb_free(resp); } -static int dsp_alive_timer_cb(void *data) +static void dsp_alive_timer_cb(void *data) { struct lc15l1_hdl *fl1h = data; struct gsm_bts_trx *trx = fl1h->phy_inst->trx; @@ -1643,14 +1643,14 @@ rc = l1if_req_compl(fl1h, msg, dsp_alive_compl_cb, NULL); if (rc < 0) { LOGP(DL1C, LOGL_FATAL, "Failed to send %s primitive\n", get_value_string(lc15bts_sysprim_names, sys_prim->id)); - return -EIO; + return; } /* restart timer */ fl1h->hw_alive.dsp_alive_cnt = 0; osmo_timer_schedule(&fl1h->hw_alive.dsp_alive_timer, fl1h->hw_alive.dsp_alive_period, 0); - return 0; + return; } #endif @@ -1719,8 +1719,7 @@ } /* initialize DSP heart beat alive timer */ - fl1h->hw_alive.dsp_alive_timer.cb = dsp_alive_timer_cb; - fl1h->hw_alive.dsp_alive_timer.data = fl1h; + osmo_timer_setup(&fl1h->hw_alive.dsp_alive_timer, dsp_alive_timer_cb, fl1h); fl1h->hw_alive.dsp_alive_cnt = 0; fl1h->hw_alive.dsp_alive_period = pinst->u.lc15.dsp_alive_period; osmo_timer_schedule(&fl1h->hw_alive.dsp_alive_timer, fl1h->hw_alive.dsp_alive_period, 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17936 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7a944c0636933c0389db9aabd8b5e6c173052f12 Gerrit-Change-Number: 17936 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 Apr 24 20:59:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 24 Apr 2020 20:59:47 +0000 Subject: Change in osmo-bts[master]: lc15: Fix mismathing signature in callback provided References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17937 ) Change subject: lc15: Fix mismathing signature in callback provided ...................................................................... lc15: Fix mismathing signature in callback provided Fixes following compilation warning: /osmo-bts/src/osmo-bts-litecell15/l1_if.c: In function ?dsp_alive_timer_cb?: /osmo-bts/src/osmo-bts-litecell15/l1_if.c:1643:33: warning: passing argument 3 of ?l1if_req_compl? from incompatible pointer type [-Wincompatible-pointer-types] 1643 | rc = l1if_req_compl(fl1h, msg, dsp_alive_compl_cb, NULL); | ^~~~~~~~~~~~~~~~~~ | | | void (*)(struct gsm_bts_trx *, struct msgb *, void *) /osmo-bts/src/osmo-bts-litecell15/l1_if.c:220:21: note: expected ?int (*)(struct gsm_bts_trx *, struct msgb *, void *)? but argument is of type ?void (*)(struct gsm_bts_trx *, struct msgb *, void *)? 220 | l1if_compl_cb *cb, void *data) | ~~~~~~~~~~~~~~~^~ Change-Id: Id80d5a52cbccce54456205dec230a0b546b8b310 --- M src/osmo-bts-litecell15/l1_if.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/37/17937/1 diff --git a/src/osmo-bts-litecell15/l1_if.c b/src/osmo-bts-litecell15/l1_if.c index 0e334d2..23f7c3d 100644 --- a/src/osmo-bts-litecell15/l1_if.c +++ b/src/osmo-bts-litecell15/l1_if.c @@ -1605,7 +1605,7 @@ } #if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) -static void dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) +static int dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) { Litecell15_Prim_t *sysp = msgb_sysprim(resp); Litecell15_IsAliveCnf_t *sac = &sysp->u.isAliveCnf; @@ -1616,6 +1616,7 @@ get_value_string(lc15bts_sysprim_names, sysp->id), sac->status, trx->nr); msgb_free(resp); + return 0; } static void dsp_alive_timer_cb(void *data) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17937 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id80d5a52cbccce54456205dec230a0b546b8b310 Gerrit-Change-Number: 17937 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 Apr 24 21:02:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 24 Apr 2020 21:02:35 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 6: Code-Review+1 (1 comment) I fixed the warning in next 2 commits. Let's merge them together. https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c File src/osmo-bts-litecell15/l1_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c at 1608 PS4, Line 1608: static void dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) > As you can see from the comment in https://gerrit.osmocom. [?] "typedef int l1if_compl_cb(struct gsm_bts_trx *trx, struct msgb *l1_msg, void *data);" so yes, please add use and int if needed. Feel free to submit it in a follow-up patch if the original code you are copying is not correct. Once we have both patches, then let's merge them. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 6 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-CC: keith Gerrit-Comment-Date: Fri, 24 Apr 2020 21:02:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: keith Comment-In-Reply-To: rafael2k Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Apr 24 21:05:15 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:05:15 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea354a7ba36f_248e2ab4e597c600250384@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 670s] ^~~~~~~~~~~~~~~~~~~ [ 670s] main.c: In function 'main': [ 670s] main.c:757:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 670s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 670s] ^~~~~~~~~~~~~~~~~~~ [ 670s] main.c:757:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 670s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 670s] ^ [ 670s] cc1: some warnings being treated as errors [ 670s] Makefile:469: recipe for target 'main.o' failed [ 670s] make[3]: *** [main.o] Error 1 [ 670s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 670s] Makefile:402: recipe for target 'all-recursive' failed [ 670s] make[2]: *** [all-recursive] Error 1 [ 670s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 670s] Makefile:349: recipe for target 'all' failed [ 670s] make[1]: *** [all] Error 2 [ 670s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 670s] dh_auto_build: make -j1 returned exit code 2 [ 670s] debian/rules:45: recipe for target 'build' failed [ 670s] make: *** [build] Error 2 [ 670s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 670s] ### VM INTERACTION START ### [ 673s] [ 620.886641] sysrq: SysRq : Power Off [ 673s] [ 620.888986] reboot: Power down [ 674s] ### VM INTERACTION END ### [ 674s] [ 674s] armbuild15 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:05:00 UTC 2020. [ 674s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Apr 24 21:22:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 24 Apr 2020 21:22:02 +0000 Subject: Change in osmo-bts[master]: lc15: Fix mismatching signature in callback provided 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/+/17937 to look at the new patch set (#2). Change subject: lc15: Fix mismatching signature in callback provided ...................................................................... lc15: Fix mismatching signature in callback provided Fixes following compilation warning: /osmo-bts/src/osmo-bts-litecell15/l1_if.c: In function ?dsp_alive_timer_cb?: /osmo-bts/src/osmo-bts-litecell15/l1_if.c:1643:33: warning: passing argument 3 of ?l1if_req_compl? from incompatible pointer type [-Wincompatible-pointer-types] 1643 | rc = l1if_req_compl(fl1h, msg, dsp_alive_compl_cb, NULL); | ^~~~~~~~~~~~~~~~~~ | | | void (*)(struct gsm_bts_trx *, struct msgb *, void *) /osmo-bts/src/osmo-bts-litecell15/l1_if.c:220:21: note: expected ?int (*)(struct gsm_bts_trx *, struct msgb *, void *)? but argument is of type ?void (*)(struct gsm_bts_trx *, struct msgb *, void *)? 220 | l1if_compl_cb *cb, void *data) | ~~~~~~~~~~~~~~~^~ Change-Id: Id80d5a52cbccce54456205dec230a0b546b8b310 --- M src/osmo-bts-litecell15/l1_if.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/37/17937/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17937 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id80d5a52cbccce54456205dec230a0b546b8b310 Gerrit-Change-Number: 17937 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 Fri Apr 24 21:22:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 24 Apr 2020 21:22:03 +0000 Subject: Change in osmo-bts[master]: oc2g: Fix returning values on void function References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17938 ) Change subject: oc2g: Fix returning values on void function ...................................................................... oc2g: Fix returning values on void function Similar to what's done in I7a944c0636933c0389db9aabd8b5e6c173052f12 for lc15. Change-Id: I6f5e976969af994011bc9282ede115606f0f0d20 --- M src/osmo-bts-oc2g/l1_if.c 1 file changed, 5 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/38/17938/1 diff --git a/src/osmo-bts-oc2g/l1_if.c b/src/osmo-bts-oc2g/l1_if.c index b46c528..6b482b7 100644 --- a/src/osmo-bts-oc2g/l1_if.c +++ b/src/osmo-bts-oc2g/l1_if.c @@ -1671,7 +1671,7 @@ msgb_free(resp); } -static int dsp_alive_timer_cb(void *data) +static void dsp_alive_timer_cb(void *data) { struct oc2gl1_hdl *fl1h = data; struct gsm_bts_trx *trx = fl1h->phy_inst->trx; @@ -1706,7 +1706,7 @@ /* allocate new list of sent alarms */ alarm_sent = talloc_zero(fl1h, struct oml_alarm_list); if (!alarm_sent) - return -EIO; + return; alarm_sent->alarm_signal = S_NM_OML_BTS_DSP_ALIVE_ALARM; /* add alarm to sent list */ @@ -1722,14 +1722,14 @@ rc = l1if_req_compl(fl1h, msg, dsp_alive_compl_cb, NULL); if (rc < 0) { LOGP(DL1C, LOGL_FATAL, "Failed to send %s primitive\n", get_value_string(oc2gbts_sysprim_names, sys_prim->id)); - return -EIO; + return; } /* restart timer */ fl1h->hw_alive.dsp_alive_cnt = 0; osmo_timer_schedule(&fl1h->hw_alive.dsp_alive_timer, fl1h->hw_alive.dsp_alive_period, 0); - return 0; + return; } #endif @@ -1793,8 +1793,7 @@ } / * initialize DSP heart beat alive timer * / - fl1h->hw_alive.dsp_alive_timer.cb = dsp_alive_timer_cb; - fl1h->hw_alive.dsp_alive_timer.data = fl1h; + osmo_timer_setup(&fl1h->hw_alive.dsp_alive_timer, dsp_alive_timer_cb, fl1h); fl1h->hw_alive.dsp_alive_cnt = 0; fl1h->hw_alive.dsp_alive_period = pinst->u.oc2g.dsp_alive_period; osmo_timer_schedule(&fl1h->hw_alive.dsp_alive_timer, fl1h->hw_alive.dsp_alive_period, 0); */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17938 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6f5e976969af994011bc9282ede115606f0f0d20 Gerrit-Change-Number: 17938 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 Apr 24 21:22:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 24 Apr 2020 21:22:04 +0000 Subject: Change in osmo-bts[master]: oc2g: Fix mismatching signature in callback provided References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17939 ) Change subject: oc2g: Fix mismatching signature in callback provided ...................................................................... oc2g: Fix mismatching signature in callback provided Similar to what's done for lc15 in Id80d5a52cbccce54456205dec230a0b546b8b310. Change-Id: I06747d5992d09a506d26089391ef130418506333 --- M src/osmo-bts-oc2g/l1_if.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/39/17939/1 diff --git a/src/osmo-bts-oc2g/l1_if.c b/src/osmo-bts-oc2g/l1_if.c index 6b482b7..8e48674 100644 --- a/src/osmo-bts-oc2g/l1_if.c +++ b/src/osmo-bts-oc2g/l1_if.c @@ -1658,7 +1658,7 @@ /* TODO(oramadan) MERGE */ #ifdef MERGE_ME -static void dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) +static int dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) { Oc2g_Prim_t *sysp = msgb_sysprim(resp); Oc2g_IsAliveCnf_t *sac = &sysp->u.isAliveCnf; @@ -1669,6 +1669,7 @@ get_value_string(oc2gbts_sysprim_names, sysp->id), sac->status, trx->nr); msgb_free(resp); + return 0; } static void dsp_alive_timer_cb(void *data) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17939 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I06747d5992d09a506d26089391ef130418506333 Gerrit-Change-Number: 17939 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 Apr 24 21:22:43 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Fri, 24 Apr 2020 21:22:43 +0000 Subject: Change in osmo-bts[master]: lc15: Fix returning values on void function In-Reply-To: References: Message-ID: rafael2k has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17936 ) Change subject: lc15: Fix returning values on void function ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17936 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7a944c0636933c0389db9aabd8b5e6c173052f12 Gerrit-Change-Number: 17936 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: rafael2k Gerrit-Comment-Date: Fri, 24 Apr 2020 21: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 Fri Apr 24 21:26:18 2020 From: gerrit-no-reply at lists.osmocom.org (rafael2k) Date: Fri, 24 Apr 2020 21:26:18 +0000 Subject: Change in osmo-bts[master]: lc15: Fix mismatching signature in callback provided In-Reply-To: References: Message-ID: rafael2k has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17937 ) Change subject: lc15: Fix mismatching signature in callback provided ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17937 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id80d5a52cbccce54456205dec230a0b546b8b310 Gerrit-Change-Number: 17937 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: rafael2k Gerrit-Comment-Date: Fri, 24 Apr 2020 21:26: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 Apr 24 21:42:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 24 Apr 2020 21:42:12 +0000 Subject: Change in osmo-ci[master]: osmocom-*-packages.sh: fix osmo-uecups References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/17940 ) Change subject: osmocom-*-packages.sh: fix osmo-uecups ...................................................................... osmocom-*-packages.sh: fix osmo-uecups Change-Id: I359fe8f4fb94dc9b4b31e10f5cb9d0d4400a0e2a --- M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/40/17940/1 diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index e13696f..6e31e29 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -171,6 +171,7 @@ checkout osmo-remsim checkout open5gs https://github.com/open5gs/open5gs checkout neocon https://github.com/laf0rge/neocon + checkout osmo-uecups checkout_copy_debian8_jessie "osmo-gsm-manuals" diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index 4fb0424..77552a6 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -225,6 +225,7 @@ checkout osmo-remsim checkout_open5gs checkout neocon https://github.com/laf0rge/neocon + checkout osmo-uecups checkout_copy_debian8_jessie "osmo-gsm-manuals" checkout_copy_debian8_jessie "osmo-trx" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17940 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I359fe8f4fb94dc9b4b31e10f5cb9d0d4400a0e2a Gerrit-Change-Number: 17940 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 Apr 24 21:42:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 24 Apr 2020 21:42:51 +0000 Subject: Change in osmo-ci[master]: osmocom-*-packages.sh: fix osmo-uecups In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17940 ) Change subject: osmocom-*-packages.sh: fix osmo-uecups ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17940 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I359fe8f4fb94dc9b4b31e10f5cb9d0d4400a0e2a Gerrit-Change-Number: 17940 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 24 Apr 2020 21: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 Apr 24 21:42:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 24 Apr 2020 21:42:54 +0000 Subject: Change in osmo-ci[master]: osmocom-*-packages.sh: fix osmo-uecups In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17940 ) Change subject: osmocom-*-packages.sh: fix osmo-uecups ...................................................................... osmocom-*-packages.sh: fix osmo-uecups Change-Id: I359fe8f4fb94dc9b4b31e10f5cb9d0d4400a0e2a --- M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 2 files changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index e13696f..6e31e29 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -171,6 +171,7 @@ checkout osmo-remsim checkout open5gs https://github.com/open5gs/open5gs checkout neocon https://github.com/laf0rge/neocon + checkout osmo-uecups checkout_copy_debian8_jessie "osmo-gsm-manuals" diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index 4fb0424..77552a6 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -225,6 +225,7 @@ checkout osmo-remsim checkout_open5gs checkout neocon https://github.com/laf0rge/neocon + checkout osmo-uecups checkout_copy_debian8_jessie "osmo-gsm-manuals" checkout_copy_debian8_jessie "osmo-trx" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17940 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I359fe8f4fb94dc9b4b31e10f5cb9d0d4400a0e2a Gerrit-Change-Number: 17940 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 Apr 24 21:46:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 24 Apr 2020 21:46:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong_with_ul_racap In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 to look at the new patch set (#3). Change subject: pcu: Introduce test TC_mo_ping_pong_with_ul_racap ...................................................................... pcu: Introduce test TC_mo_ping_pong_with_ul_racap Test sending MS RA capabilities through Packet Resource Request to update GPRS multislot class. EGPRS multislot will come in a later commit. Change-Id: I5026d8b78a3fb82093956b65989d18fa6f6d5424 --- M bsc-nat/gen_links.sh M library/L3_Templates.ttcn M library/RLCMAC_CSN1_Types.ttcn M library/RLCMAC_Types.ttcn M mme/gen_links.sh M pcu/PCU_Tests_RAW.ttcn 6 files changed, 165 insertions(+), 40 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/35/17935/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 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: I5026d8b78a3fb82093956b65989d18fa6f6d5424 Gerrit-Change-Number: 17935 Gerrit-PatchSet: 3 Gerrit-Owner: pespin 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 Apr 24 21:47:20 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 24 Apr 2020 21:47:20 +0000 Subject: Change in osmo-bts[master]: lc15: Fix mismatching signature in callback provided In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17937 ) Change subject: lc15: Fix mismatching signature in callback provided ...................................................................... Patch Set 2: Code-Review+1 Exactly what I asked for in https://gerrit.osmocom.org/#/c/osmo-bts/+/17855/4/src/osmo-bts-litecell15/l1_if.c at 1608 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17937 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id80d5a52cbccce54456205dec230a0b546b8b310 Gerrit-Change-Number: 17937 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: rafael2k Gerrit-Comment-Date: Fri, 24 Apr 2020 21:47:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Apr 24 21:49:15 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:49:15 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in xUbuntu_16.04/i586 In-Reply-To: References: Message-ID: <5ea35ef844685_248e2ab4e597c600255732@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/xUbuntu_16.04/i586 Package network:osmocom:latest/osmo-uecups failed to build in xUbuntu_16.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 92s] #define VERSION "0.1" [ 92s] #define STDC_HEADERS 1 [ 92s] #define HAVE_SYS_TYPES_H 1 [ 92s] #define HAVE_SYS_STAT_H 1 [ 92s] #define HAVE_STDLIB_H 1 [ 92s] #define HAVE_STRING_H 1 [ 92s] #define HAVE_MEMORY_H 1 [ 92s] #define HAVE_STRINGS_H 1 [ 92s] #define HAVE_INTTYPES_H 1 [ 92s] #define HAVE_STDINT_H 1 [ 92s] #define HAVE_UNISTD_H 1 [ 92s] #define HAVE_DLFCN_H 1 [ 92s] #define LT_OBJDIR ".libs/" [ 92s] [ 92s] configure: exit 1 [ 92s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/i386-linux-gnu --libexecdir=${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 92s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 92s] make[1]: *** [override_dh_auto_configure] Error 255 [ 92s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 92s] debian/rules:45: recipe for target 'build' failed [ 92s] make: *** [build] Error 2 [ 92s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 92s] ### VM INTERACTION START ### [ 95s] [ 88.949574] sysrq: SysRq : Power Off [ 95s] [ 88.950866] reboot: Power down [ 95s] ### VM INTERACTION END ### [ 95s] [ 95s] build84 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:49:05 UTC 2020. [ 95s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:49:15 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:49:15 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5ea35efae054_248e2ab4e597c6002560b6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_8.0/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 86s] #define VERSION "0.1" [ 86s] #define STDC_HEADERS 1 [ 86s] #define HAVE_SYS_TYPES_H 1 [ 86s] #define HAVE_SYS_STAT_H 1 [ 86s] #define HAVE_STDLIB_H 1 [ 86s] #define HAVE_STRING_H 1 [ 86s] #define HAVE_MEMORY_H 1 [ 86s] #define HAVE_STRINGS_H 1 [ 86s] #define HAVE_INTTYPES_H 1 [ 86s] #define HAVE_STDINT_H 1 [ 86s] #define HAVE_UNISTD_H 1 [ 86s] #define HAVE_DLFCN_H 1 [ 86s] #define LT_OBJDIR ".libs/" [ 86s] [ 86s] configure: exit 1 [ 86s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --libdir=${prefix}/lib/x86_64-linux-gnu --libexecdir=${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 86s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 86s] make[1]: *** [override_dh_auto_configure] Error 255 [ 86s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 86s] debian/rules:45: recipe for target 'build' failed [ 86s] make: *** [build] Error 2 [ 86s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 86s] ### VM INTERACTION START ### [ 87s] Powering off. [ 87s] [ 79.737272] reboot: Power down [ 87s] ### VM INTERACTION END ### [ 87s] [ 87s] build84 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:49:07 UTC 2020. [ 87s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:50:23 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:50:23 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5ea35f3c1ad0f_248e2ab4e597c600263987@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_8.0/i586 Package network:osmocom:latest/osmo-uecups failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 145s] #define VERSION "0.1" [ 145s] #define STDC_HEADERS 1 [ 145s] #define HAVE_SYS_TYPES_H 1 [ 145s] #define HAVE_SYS_STAT_H 1 [ 145s] #define HAVE_STDLIB_H 1 [ 145s] #define HAVE_STRING_H 1 [ 145s] #define HAVE_MEMORY_H 1 [ 145s] #define HAVE_STRINGS_H 1 [ 145s] #define HAVE_INTTYPES_H 1 [ 145s] #define HAVE_STDINT_H 1 [ 145s] #define HAVE_UNISTD_H 1 [ 145s] #define HAVE_DLFCN_H 1 [ 145s] #define LT_OBJDIR ".libs/" [ 145s] [ 145s] configure: exit 1 [ 145s] dh_auto_configure: ./configure --build=i586-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --libdir=${prefix}/lib/i386-linux-gnu --libexecdir=${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 145s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 145s] make[1]: *** [override_dh_auto_configure] Error 255 [ 145s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 145s] debian/rules:45: recipe for target 'build' failed [ 145s] make: *** [build] Error 2 [ 145s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 145s] ### VM INTERACTION START ### [ 146s] Powering off. [ 146s] [ 137.290849] reboot: Power down [ 146s] ### VM INTERACTION END ### [ 146s] [ 146s] lamb23 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:50:12 UTC 2020. [ 146s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:50:41 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:50:41 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in xUbuntu_16.04/x86_64 In-Reply-To: References: Message-ID: <5ea35f511fd28_248e2ab4e597c6002660c8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/xUbuntu_16.04/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in xUbuntu_16.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 172s] #define VERSION "0.1" [ 172s] #define STDC_HEADERS 1 [ 172s] #define HAVE_SYS_TYPES_H 1 [ 172s] #define HAVE_SYS_STAT_H 1 [ 172s] #define HAVE_STDLIB_H 1 [ 172s] #define HAVE_STRING_H 1 [ 172s] #define HAVE_MEMORY_H 1 [ 172s] #define HAVE_STRINGS_H 1 [ 172s] #define HAVE_INTTYPES_H 1 [ 172s] #define HAVE_STDINT_H 1 [ 172s] #define HAVE_UNISTD_H 1 [ 172s] #define HAVE_DLFCN_H 1 [ 172s] #define LT_OBJDIR ".libs/" [ 172s] [ 172s] configure: exit 1 [ 172s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/x86_64-linux-gnu --libexecdir=${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 172s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 172s] make[1]: *** [override_dh_auto_configure] Error 255 [ 172s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 172s] debian/rules:45: recipe for target 'build' failed [ 172s] make: *** [build] Error 2 [ 172s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 172s] ### VM INTERACTION START ### [ 175s] [ 156.801799] sysrq: SysRq : Power Off [ 175s] [ 156.804744] reboot: Power down [ 175s] ### VM INTERACTION END ### [ 175s] [ 175s] cloud124 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:50:35 UTC 2020. [ 175s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:50:58 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:50:58 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5ea35f5cb0c35_248e2ab4e597c600267310@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_9.0/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 179s] #define VERSION "0.1" [ 179s] #define STDC_HEADERS 1 [ 179s] #define HAVE_SYS_TYPES_H 1 [ 179s] #define HAVE_SYS_STAT_H 1 [ 179s] #define HAVE_STDLIB_H 1 [ 179s] #define HAVE_STRING_H 1 [ 179s] #define HAVE_MEMORY_H 1 [ 179s] #define HAVE_STRINGS_H 1 [ 179s] #define HAVE_INTTYPES_H 1 [ 179s] #define HAVE_STDINT_H 1 [ 179s] #define HAVE_UNISTD_H 1 [ 179s] #define HAVE_DLFCN_H 1 [ 179s] #define LT_OBJDIR ".libs/" [ 179s] [ 179s] configure: exit 1 [ 179s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/x86_64-linux-gnu --libexecdir=${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 179s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 179s] make[1]: *** [override_dh_auto_configure] Error 2 [ 179s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 179s] debian/rules:45: recipe for target 'build' failed [ 179s] make: *** [build] Error 2 [ 179s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 179s] ### VM INTERACTION START ### [ 182s] [ 171.306031] sysrq: SysRq : Power Off [ 182s] [ 171.310850] reboot: Power down [ 182s] ### VM INTERACTION END ### [ 182s] [ 182s] lamb53 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:50:51 UTC 2020. [ 182s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:51:15 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:51:15 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5ea35f6e59564_248e2ab4e597c600268690@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_9.0/i586 Package network:osmocom:latest/osmo-uecups failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 198s] #define VERSION "0.1" [ 198s] #define STDC_HEADERS 1 [ 198s] #define HAVE_SYS_TYPES_H 1 [ 198s] #define HAVE_SYS_STAT_H 1 [ 198s] #define HAVE_STDLIB_H 1 [ 198s] #define HAVE_STRING_H 1 [ 198s] #define HAVE_MEMORY_H 1 [ 198s] #define HAVE_STRINGS_H 1 [ 198s] #define HAVE_INTTYPES_H 1 [ 198s] #define HAVE_STDINT_H 1 [ 198s] #define HAVE_UNISTD_H 1 [ 198s] #define HAVE_DLFCN_H 1 [ 198s] #define LT_OBJDIR ".libs/" [ 198s] [ 198s] configure: exit 1 [ 198s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/i386-linux-gnu --libexecdir=${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 198s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 198s] make[1]: *** [override_dh_auto_configure] Error 2 [ 198s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 198s] debian/rules:45: recipe for target 'build' failed [ 198s] make: *** [build] Error 2 [ 198s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 198s] ### VM INTERACTION START ### [ 201s] [ 186.002460] sysrq: SysRq : Power Off [ 201s] [ 186.005971] reboot: Power down [ 201s] ### VM INTERACTION END ### [ 201s] [ 201s] cloud117 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:51:00 UTC 2020. [ 201s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:51:49 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:51:49 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5ea35f9534664_248e2ab4e597c600272124@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/xUbuntu_18.10/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 240s] #define PACKAGE "osmo-uecups" [ 240s] #define VERSION "0.1" [ 240s] #define STDC_HEADERS 1 [ 240s] #define HAVE_SYS_TYPES_H 1 [ 240s] #define HAVE_SYS_STAT_H 1 [ 240s] #define HAVE_STDLIB_H 1 [ 240s] #define HAVE_STRING_H 1 [ 240s] #define HAVE_MEMORY_H 1 [ 240s] #define HAVE_STRINGS_H 1 [ 240s] #define HAVE_INTTYPES_H 1 [ 240s] #define HAVE_STDINT_H 1 [ 240s] #define HAVE_UNISTD_H 1 [ 240s] #define HAVE_DLFCN_H 1 [ 240s] #define LT_OBJDIR ".libs/" [ 240s] [ 240s] configure: exit 1 [ 240s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64[ 228.960136] serial8250: too much work for irq4 [ 241s] -linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 241s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 2 [ 241s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 241s] make: *** [debian/rules:45: build] Error 2 [ 241s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 241s] ### VM INTERACTION START ### [ 244s] [ 232.108536] sysrq: SysRq : Power Off [ 244s] [ 232.115971] reboot: Power down [ 244s] ### VM INTERACTION END ### [ 244s] [ 244s] lamb04 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:51:40 UTC 2020. [ 244s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:51:49 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:51:49 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5ea35f9581637_248e2ab4e597c6002722c7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/xUbuntu_18.04/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 243s] #define VERSION "0.1" [ 243s] #define STDC_HEADERS 1 [ 243s] #define HAVE_SYS_TYPES_H 1 [ 243s] #define HAVE_SYS_STAT_H 1 [ 243s] #define HAVE_STDLIB_H 1 [ 243s] #define HAVE_STRING_H 1 [ 243s] #define HAVE_MEMORY_H 1 [ 243s] #define HAVE_STRINGS_H 1 [ 243s] #define HAVE_INTTYPES_H 1 [ 243s] #define HAVE_STDINT_H 1 [ 243s] #define HAVE_UNISTD_H 1 [ 243s] #define HAVE_DLFCN_H 1 [ 243s] #define LT_OBJDIR ".libs/" [ 243s] [ 243s] configure: exit 1 [ 243s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 243s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 243s] make[1]: *** [override_dh_auto_configure] Error 2 [ 243s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 243s] debian/rules:45: recipe for target 'build' failed [ 243s] make: *** [build] Error 2 [ 243s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 243s] ### VM INTERACTION START ### [ 246s] [ 228.641907] sysrq: SysRq : Power Off [ 246s] [ 228.645528] reboot: Power down [ 246s] ### VM INTERACTION END ### [ 246s] [ 246s] cloud122 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:51:44 UTC 2020. [ 246s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:51:49 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:51:49 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5ea35f95d2665_248e2ab4e597c6002723a3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/xUbuntu_18.04/i586 Package network:osmocom:latest/osmo-uecups failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 250s] #define VERSION "0.1" [ 250s] #define STDC_HEADERS 1 [ 250s] #define HAVE_SYS_TYPES_H 1 [ 250s] #define HAVE_SYS_STAT_H 1 [ 250s] #define HAVE_STDLIB_H 1 [ 250s] #define HAVE_STRING_H 1 [ 250s] #define HAVE_MEMORY_H 1 [ 250s] #define HAVE_STRINGS_H 1 [ 250s] #define HAVE_INTTYPES_H 1 [ 250s] #define HAVE_STDINT_H 1 [ 250s] #define HAVE_UNISTD_H 1 [ 250s] #define HAVE_DLFCN_H 1 [ 250s] #define LT_OBJDIR ".libs/" [ 250s] [ 250s] configure: exit 1 [ 250s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 250s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 250s] make[1]: *** [override_dh_auto_configure] Error 2 [ 250s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 250s] debian/rules:45: recipe for target 'build' failed [ 250s] make: *** [build] Error 2 [ 250s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 250s] ### VM INTERACTION START ### [ 253s] [ 242.913580] sysrq: SysRq : Power Off [ 253s] [ 242.919876] reboot: Power down [ 254s] ### VM INTERACTION END ### [ 254s] [ 254s] lamb11 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:51:47 UTC 2020. [ 254s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:52:06 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:52:06 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5ea35f9e31fbc_248e2ab4e597c600273673@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/xUbuntu_19.10/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 271s] #define PACKAGE_URL "" [ 271s] #define PACKAGE "osmo-uecups" [ 271s] #define VERSION "0.1" [ 271s] #define STDC_HEADERS 1 [ 271s] #define HAVE_SYS_TYPES_H 1 [ 271s] #define HAVE_SYS_STAT_H 1 [ 271s] #define HAVE_STDLIB_H 1 [ 271s] #define HAVE_STRING_H 1 [ 271s] #define HAVE_MEMORY_H 1 [ 271s] #define HAVE_STRINGS_H 1 [ 271s] #define HAVE_INTTYPES_H 1 [ 271s] #define HAVE_STDINT_H 1 [ 271s] #define HAVE_UNISTD_H 1 [ 271s] #define HAVE_DLFCN_H 1 [ 271s] #define LT_OBJDIR ".libs/" [ 271s] [ 271s] configure: exit 1 [ 271s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 271s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 255 [ 271s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 271s] make: *** [debian/rules:45: build] Error 2 [ 271s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 271s] ### VM INTERACTION START ### [ 274s] [ 262.241517] sysrq: SysRq : Power Off [ 274s] [ 262.249032] reboot: Power down [ 274s] ### VM INTERACTION END ### [ 274s] [ 274s] lamb16 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:52:05 UTC 2020. [ 274s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:52:06 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:52:06 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5ea35f9e73d06_248e2ab4e597c6002737a0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/xUbuntu_19.04/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 249s] #define PACKAGE_URL "" [ 249s] #define PACKAGE "osmo-uecups" [ 249s] #define VERSION "0.1" [ 249s] #define STDC_HEADERS 1 [ 249s] #define HAVE_SYS_TYPES_H 1 [ 249s] #define HAVE_SYS_STAT_H 1 [ 249s] #define HAVE_STDLIB_H 1 [ 249s] #define HAVE_STRING_H 1 [ 249s] #define HAVE_MEMORY_H 1 [ 249s] #define HAVE_STRINGS_H 1 [ 249s] #define HAVE_INTTYPES_H 1 [ 249s] #define HAVE_STDINT_H 1 [ 249s] #define HAVE_UNISTD_H 1 [ 249s] #define HAVE_DLFCN_H 1 [ 249s] #define LT_OBJDIR ".libs/" [ 249s] [ 249s] configure: exit 1 [ 249s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 249s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 2 [ 249s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 249s] make: *** [debian/rules:45: build] Error 2 [ 249s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 249s] ### VM INTERACTION START ### [ 252s] [ 240.696771] sysrq: SysRq : Power Off [ 252s] [ 240.701884] reboot: Power down [ 252s] ### VM INTERACTION END ### [ 252s] [ 252s] lamb54 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:51:53 UTC 2020. [ 252s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:52:23 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:52:23 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5ea35faf96294_248e2ab4e597c6002756e3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_10/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 267s] #define PACKAGE_URL "" [ 267s] #define PACKAGE "osmo-uecups" [ 267s] #define VERSION "0.1" [ 267s] #define STDC_HEADERS 1 [ 267s] #define HAVE_SYS_TYPES_H 1 [ 267s] #define HAVE_SYS_STAT_H 1 [ 267s] #define HAVE_STDLIB_H 1 [ 267s] #define HAVE_STRING_H 1 [ 267s] #define HAVE_MEMORY_H 1 [ 267s] #define HAVE_STRINGS_H 1 [ 267s] #define HAVE_INTTYPES_H 1 [ 267s] #define HAVE_STDINT_H 1 [ 267s] #define HAVE_UNISTD_H 1 [ 267s] #define HAVE_DLFCN_H 1 [ 267s] #define LT_OBJDIR ".libs/" [ 267s] [ 267s] configure: exit 1 [ 267s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 267s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 2 [ 267s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 267s] make: *** [debian/rules:45: build] Error 2 [ 267s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 267s] ### VM INTERACTION START ### [ 270s] [ 257.532289] sysrq: SysRq : Power Off [ 270s] [ 257.538561] reboot: Power down [ 270s] ### VM INTERACTION END ### [ 270s] [ 270s] lamb52 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:52:20 UTC 2020. [ 270s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:52:41 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:52:41 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5ea35fc814ec9_248e2ab4e597c6002779a3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/xUbuntu_18.10/i586 Package network:osmocom:latest/osmo-uecups failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 283s] #define PACKAGE_URL "" [ 283s] #define PACKAGE "osmo-uecups" [ 283s] #define VERSION "0.1" [ 283s] #define STDC_HEADERS 1 [ 283s] #define HAVE_SYS_TYPES_H 1 [ 283s] #define HAVE_SYS_STAT_H 1 [ 283s] #define HAVE_STDLIB_H 1 [ 283s] #define HAVE_STRING_H 1 [ 283s] #define HAVE_MEMORY_H 1 [ 283s] #define HAVE_STRINGS_H 1 [ 283s] #define HAVE_INTTYPES_H 1 [ 283s] #define HAVE_STDINT_H 1 [ 283s] #define HAVE_UNISTD_H 1 [ 283s] #define HAVE_DLFCN_H 1 [ 283s] #define LT_OBJDIR ".libs/" [ 283s] [ 283s] configure: exit 1 [ 283s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 283s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 2 [ 283s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 283s] make: *** [debian/rules:45: build] Error 2 [ 283s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 283s] ### VM INTERACTION START ### [ 286s] [ 275.150411] sysrq: SysRq : Power Off [ 286s] [ 275.156967] reboot: Power down [ 286s] ### VM INTERACTION END ### [ 286s] [ 286s] lamb28 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:52:24 UTC 2020. [ 286s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:52:41 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:52:41 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in xUbuntu_19.04/i586 In-Reply-To: References: Message-ID: <5ea35fc8953fc_248e2ab4e597c600278018@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/xUbuntu_19.04/i586 Package network:osmocom:latest/osmo-uecups failed to build in xUbuntu_19.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 273s] #define PACKAGE_URL "" [ 273s] #define PACKAGE "osmo-uecups" [ 273s] #define VERSION "0.1" [ 273s] #define STDC_HEADERS 1 [ 273s] #define HAVE_SYS_TYPES_H 1 [ 273s] #define HAVE_SYS_STAT_H 1 [ 273s] #define HAVE_STDLIB_H 1 [ 273s] #define HAVE_STRING_H 1 [ 273s] #define HAVE_MEMORY_H 1 [ 273s] #define HAVE_STRINGS_H 1 [ 273s] #define HAVE_INTTYPES_H 1 [ 273s] #define HAVE_STDINT_H 1 [ 273s] #define HAVE_UNISTD_H 1 [ 273s] #define HAVE_DLFCN_H 1 [ 273s] #define LT_OBJDIR ".libs/" [ 273s] [ 273s] configure: exit 1 [ 273s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 273s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 2 [ 273s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 273s] make: *** [debian/rules:45: build] Error 2 [ 273s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 273s] ### VM INTERACTION START ### [ 275s] [ 263.907005] sysrq: SysRq : Power Off [ 275s] [ 263.918573] reboot: Power down [ 275s] ### VM INTERACTION END ### [ 275s] [ 275s] lamb22 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:52:39 UTC 2020. [ 275s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:52:58 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:52:58 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_10/i586 In-Reply-To: References: Message-ID: <5ea35fd6136a3_248e2ab4e597c60027999e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_10/i586 Package network:osmocom:latest/osmo-uecups failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 264s] #define PACKAGE_URL "" [ 264s] #define PACKAGE "osmo-uecups" [ 264s] #define VERSION "0.1" [ 264s] #define STDC_HEADERS 1 [ 264s] #define HAVE_SYS_TYPES_H 1 [ 264s] #define HAVE_SYS_STAT_H 1 [ 264s] #define HAVE_STDLIB_H 1 [ 264s] #define HAVE_STRING_H 1 [ 264s] #define HAVE_MEMORY_H 1 [ 264s] #define HAVE_STRINGS_H 1 [ 264s] #define HAVE_INTTYPES_H 1 [ 264s] #define HAVE_STDINT_H 1 [ 264s] #define HAVE_UNISTD_H 1 [ 264s] #define HAVE_DLFCN_H 1 [ 264s] #define LT_OBJDIR ".libs/" [ 264s] [ 264s] configure: exit 1 [ 264s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 264s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 2 [ 264s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 264s] make: *** [debian/rules:45: build] Error 2 [ 264s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 264s] ### VM INTERACTION START ### [ 267s] [ 254.525289] sysrq: SysRq : Power Off [ 267s] [ 254.530118] reboot: Power down [ 267s] ### VM INTERACTION END ### [ 267s] [ 267s] lamb18 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:52:56 UTC 2020. [ 267s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:53:32 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:53:32 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ea35ff1bbd2e_248e2ab4e597c60028302c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 320s] #define PACKAGE_URL "" [ 320s] #define PACKAGE "osmo-uecups" [ 320s] #define VERSION "0.1" [ 320s] #define STDC_HEADERS 1 [ 320s] #define HAVE_SYS_TYPES_H 1 [ 320s] #define HAVE_SYS_STAT_H 1 [ 320s] #define HAVE_STDLIB_H 1 [ 320s] #define HAVE_STRING_H 1 [ 320s] #define HAVE_MEMORY_H 1 [ 320s] #define HAVE_STRINGS_H 1 [ 320s] #define HAVE_INTTYPES_H 1 [ 320s] #define HAVE_STDINT_H 1 [ 320s] #define HAVE_UNISTD_H 1 [ 320s] #define HAVE_DLFCN_H 1 [ 320s] #define LT_OBJDIR ".libs/" [ 320s] [ 320s] configure: exit 1 [ 320s] dh_auto_configure: error: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 320s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 25 [ 320s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 320s] make: *** [debian/rules:45: build] Error 2 [ 320s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 320s] ### VM INTERACTION START ### [ 323s] [ 310.231669] sysrq: SysRq : Power Off [ 323s] [ 310.239481] reboot: Power down [ 323s] ### VM INTERACTION END ### [ 323s] [ 323s] lamb70 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:53:15 UTC 2020. [ 323s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Apr 24 21:54:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 24 Apr 2020 21:54:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong_with_ul_racap In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 to look at the new patch set (#4). Change subject: pcu: Introduce test TC_mo_ping_pong_with_ul_racap ...................................................................... pcu: Introduce test TC_mo_ping_pong_with_ul_racap Test sending MS RA capabilities through Packet Resource Request to update GPRS multislot class. EGPRS multislot will come in a later commit. Change-Id: I5026d8b78a3fb82093956b65989d18fa6f6d5424 --- M bsc-nat/gen_links.sh M library/L3_Templates.ttcn M library/RLCMAC_CSN1_Types.ttcn M library/RLCMAC_Types.ttcn M mme/gen_links.sh M msc/gen_links.sh M pcu/PCU_Tests_RAW.ttcn 7 files changed, 166 insertions(+), 41 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/35/17935/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 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: I5026d8b78a3fb82093956b65989d18fa6f6d5424 Gerrit-Change-Number: 17935 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Apr 24 21:54:41 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:54:41 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5ea36036ef9fc_248e2ab4e597c600289412@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 367s] #define PACKAGE "osmo-uecups" [ 367s] #define VERSION "0.1" [ 367s] #define STDC_HEADERS 1 [ 367s] #define HAVE_SYS_TYPES_H 1 [ 367s] #define HAVE_SYS_STAT_H 1 [ 367s] #define HAVE_STDLIB_H 1 [ 367s] #define HAVE_STRING_H 1 [ 367s] #define HAVE_MEMORY_H 1 [ 367s] #define HAVE_STRINGS_H 1 [ 367s] #define HAVE_INTTYPES_H 1 [ 367s] #define HAVE_STDINT_H 1 [ 367s] #define HAVE_UNISTD_H 1 [ 367s] #define HAVE_DLFCN_H 1 [ 367s] #define LT_OBJDIR ".libs/" [ 367s] [ 367s] configure: exit 1 [ 367s] dh_auto_configure: error: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 367s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 25 [ 367s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 367s] make: *** [debian/rules:45: bui[ 351.020162] serial8250: too much work for irq4 [ 367s] ld] Error 2 [ 367s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 367s] ### VM INTERACTION START ### [ 370s] [ 354.259421] sysrq: SysRq : Power Off [ 370s] [ 354.264640] reboot: Power down [ 370s] ### VM INTERACTION END ### [ 370s] [ 370s] lamb61 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:54:34 UTC 2020. [ 370s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:56:06 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:56:06 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea360afbebb4_248e2ab4e597c600298372@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:latest/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 506s] #define VERSION "0.1" [ 506s] #define STDC_HEADERS 1 [ 506s] #define HAVE_SYS_TYPES_H 1 [ 506s] #define HAVE_SYS_STAT_H 1 [ 506s] #define HAVE_STDLIB_H 1 [ 506s] #define HAVE_STRING_H 1 [ 506s] #define HAVE_MEMORY_H 1 [ 506s] #define HAVE_STRINGS_H 1 [ 506s] #define HAVE_INTTYPES_H 1 [ 506s] #define HAVE_STDINT_H 1 [ 506s] #define HAVE_UNISTD_H 1 [ 506s] #define HAVE_DLFCN_H 1 [ 506s] #define LT_OBJDIR ".libs/" [ 506s] [ 506s] configure: exit 1 [ 506s] dh_auto_configure: ./configure --build=arm-linux-gnueabihf --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/arm-linux-gnueabihf --libexecdir=${prefix}/lib/arm-linux-gnueabihf --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 506s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 506s] make[1]: *** [override_dh_auto_configure] Error 2 [ 506s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 506s] debian/rules:45: recipe for target 'build' failed [ 506s] make: *** [build] Error 2 [ 506s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 506s] ### VM INTERACTION START ### [ 509s] [ 482.706242] sysrq: SysRq : Power Off [ 509s] [ 482.711436] reboot: Power down [ 509s] ### VM INTERACTION END ### [ 509s] [ 509s] obs-arm-6 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:56:00 UTC 2020. [ 509s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:56:23 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:56:23 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5ea360b9dcb5d_248e2ab4e597c600299432@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_10/aarch64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 518s] configure:7616: result: yes [ 518s] configure:7616: checking for stdint.h [ 518s] configure:7616: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 518s] configure:7616: $? = 0 [ 518s] configure:7616: result: yes [ 518s] configure:7616: checking for unistd.h [ 518s] configure:7616: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 518s] configure:7616: $? = 0 [ 518s] configure:7616: result: yes [ 518s] configure:7630: checking for dlfcn.h [ 518s] configure:7630: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 518s] configure:7630: $? = 0 [ 518s] configure:7630: result: yes [ 518s] configure:7886: checking for objdir [ 518s] configure:7901: result: .libs [ 518s] configure:8165: checking if gcc supports -fno-rtti -fno-exceptions [ 518s] configure:8183: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fno-rtti -fno-exceptions conftest.c >&5 [ 518s] cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C [ 518s] configure:8187: $? = 0 [ 518s] configure:8200: result: no [ 518s] configure:8558: checking for gcc option to produce PIC [ 518s] configure:8565: result: -fPIC -DPIC [ 518s] configure:8573: checking if gcc PIC flag -fPIC -DPIC works [ 520s] configure:8591: gcc -c -g -O2[ 491.319909] sysrq: Power Off [ 520s] [ 491.325214] reboot: Power down [ 520s] ### VM INTERACTION END ### [ 520s] [ 520s] obs-arm-1 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:56:20 UTC 2020. [ 520s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:57:15 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:57:15 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea360c5d30b3_248e2ab4e597c6002995d6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Raspbian_9.0/armv7l Package network:osmocom:latest/osmo-uecups failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 536s] #define VERSION "0.1" [ 536s] #define STDC_HEADERS 1 [ 536s] #define HAVE_SYS_TYPES_H 1 [ 536s] #define HAVE_SYS_STAT_H 1 [ 536s] #define HAVE_STDLIB_H 1 [ 536s] #define HAVE_STRING_H 1 [ 536s] #define HAVE_MEMORY_H 1 [ 536s] #define HAVE_STRINGS_H 1 [ 536s] #define HAVE_INTTYPES_H 1 [ 536s] #define HAVE_STDINT_H 1 [ 536s] #define HAVE_UNISTD_H 1 [ 536s] #define HAVE_DLFCN_H 1 [ 536s] #define LT_OBJDIR ".libs/" [ 536s] [ 536s] configure: exit 1 [ 536s] dh_auto_configure: ./configure --build=arm-linux-gnueabihf --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/arm-linux-gnueabihf --libexecdir=${prefix}/lib/arm-linux-gnueabihf --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 536s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 536s] make[1]: *** [override_dh_auto_configure] Error 2 [ 536s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 536s] debian/rules:45: recipe for target 'build' failed [ 536s] make: *** [build] Error 2 [ 536s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 536s] ### VM INTERACTION START ### [ 538s] [ 500.933938] sysrq: SysRq : Power Off [ 538s] [ 500.936086] reboot: Power down [ 538s] ### VM INTERACTION END ### [ 538s] [ 538s] armbuild15 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:57:07 UTC 2020. [ 538s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 21:59:49 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 21:59:49 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5ea3616f2b05d_248e2ab4e597c6002996de@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Raspbian_10/armv7l Package network:osmocom:latest/osmo-uecups failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 706s] #define PACKAGE_URL "" [ 706s] #define PACKAGE "osmo-uecups" [ 706s] #define VERSION "0.1" [ 706s] #define STDC_HEADERS 1 [ 706s] #define HAVE_SYS_TYPES_H 1 [ 706s] #define HAVE_SYS_STAT_H 1 [ 706s] #define HAVE_STDLIB_H 1 [ 706s] #define HAVE_STRING_H 1 [ 706s] #define HAVE_MEMORY_H 1 [ 706s] #define HAVE_STRINGS_H 1 [ 706s] #define HAVE_INTTYPES_H 1 [ 706s] #define HAVE_STDINT_H 1 [ 706s] #define HAVE_UNISTD_H 1 [ 706s] #define HAVE_DLFCN_H 1 [ 706s] #define LT_OBJDIR ".libs/" [ 706s] [ 706s] configure: exit 1 [ 706s] dh_auto_configure: ./configure --build=arm-linux-gnueabihf --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/arm-linux-gnueabihf --libexecdir=\${prefix}/lib/arm-linux-gnueabihf --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 706s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 2 [ 706s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 706s] make: *** [debian/rules:45: build] Error 2 [ 706s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 706s] ### VM INTERACTION START ### [ 709s] [ 673.201268] sysrq: SysRq : Power Off [ 709s] [ 673.217127] reboot: Power down [ 710s] ### VM INTERACTION END ### [ 710s] [ 710s] obs-arm-6 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 21:59:39 UTC 2020. [ 710s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 22:00:41 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 22:00:41 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea361a7add23_248e2ab4e597c600299736@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 729s] | CONFIG_LINKS = [ 729s] | CONFIG_COMMANDS = [ 729s] | $ ./config.status Doxyfile.core [ 729s] | [ 729s] | on obs-arm-6 [ 729s] | [ 729s] | config.status:1341: creating Doxyfile.core [ 729s] [ 729s] # -*- compilation -*- [ 729s] 59. testsuite.at:372: testing exec ... [ 729s] ./testsuite.at:376: $abs_top_builddir/tests/exec/exec_test [ 729s] --- experr 2020-04-24 22:00:22.980000000 +0000 [ 729s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/59/stderr 2020-04-24 22:00:22.980000000 +0000 [ 729s] @@ -1 +0,0 @@ [ 729s] -MAHLZEIT=spaet [ 729s] 59. testsuite.at:372: 59. exec (testsuite.at:372): FAILED (testsuite.at:376) [ 729s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 729s] make[1]: *** [override_dh_auto_test] Error 1 [ 729s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 729s] debian/rules:15: recipe for target 'build' failed [ 729s] make: *** [build] Error 2 [ 729s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 729s] ### VM INTERACTION START ### [ 731s] [ 710.808132] sysrq: SysRq : Power Off [ 731s] [ 710.809965] reboot: Power down [ 732s] ### VM INTERACTION END ### [ 732s] [ 732s] obs-arm-6 failed "build libosmocore_1.3.0.71.1f48b.dsc" at Fri Apr 24 22:00:28 UTC 2020. [ 732s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Apr 24 22:02:58 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 22:02:58 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_10/armv7l In-Reply-To: References: Message-ID: <5ea362228e7fa_248e2ab4e597c600299883@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_10/armv7l Package network:osmocom:latest/osmo-uecups failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 918s] docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' [ 918s] dvidir='${docdir}' [ 918s] exec_prefix='NONE' [ 918s] host='arm-unknown-linux-gnueabihf' [ 918s] host_alias='' [ 918s] host_cpu='arm' [ 918s] host_os='linux-gnueabihf' [ 918s] host_vendor='unknown' [ 918s] htmldir='${docdir}' [ 918s] includedir='${prefix}/include' [ 918s] infodir='${prefix}/share/info' [ 918s] install_sh='${SHELL} /usr/src/packages/BUILD/install-sh' [ 918s] libdir='${prefix}/lib/arm-linux-gnueabihf' [ 918s] libexecdir='${prefix}/lib/arm-linux-gnueabihf' [ 918s] localedir='${datarootdir}/locale' [ 918s] localstatedir='/var' [ 918s] mandir='${prefix}/share/man' [ 918s] mkdir_p='$(MKDIR_P)' [ 918s] oldincludedir='/usr/include' [ 918s] pdfdir='${docdir}' [ 918s] prefix='/usr' [ 918s] program_transform_name='s,x,x,' [ 918s] psdir='${docdir}' [ 920s] runstatedir='${localstate[ 870.166053] sysrq: SysRq : Power Off [ 920s] [ 870.182145] reboot: Power down [ 920s] ### VM INTERACTION END ### [ 920s] [ 920s] armbuild02 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 22:02:52 UTC 2020. [ 920s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Apr 24 22:04:09 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 24 Apr 2020 22:04:09 +0000 Subject: Change in osmo-bts[master]: lc15: Fix returning values on void function In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17936 ) Change subject: lc15: Fix returning values on void function ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17936 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7a944c0636933c0389db9aabd8b5e6c173052f12 Gerrit-Change-Number: 17936 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: rafael2k Gerrit-Comment-Date: Fri, 24 Apr 2020 22: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 Fri Apr 24 22:12:50 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 24 Apr 2020 22:12:50 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 6 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-Comment-Date: Fri, 24 Apr 2020 22:12:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Apr 24 22:40:23 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 24 Apr 2020 22:40:23 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5ea36aebe42c9_248e2ab4e597c6003570c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_9.0/aarch64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 207s] #define VERSION "0.1" [ 207s] #define STDC_HEADERS 1 [ 207s] #define HAVE_SYS_TYPES_H 1 [ 207s] #define HAVE_SYS_STAT_H 1 [ 207s] #define HAVE_STDLIB_H 1 [ 207s] #define HAVE_STRING_H 1 [ 207s] #define HAVE_MEMORY_H 1 [ 207s] #define HAVE_STRINGS_H 1 [ 207s] #define HAVE_INTTYPES_H 1 [ 207s] #define HAVE_STDINT_H 1 [ 207s] #define HAVE_UNISTD_H 1 [ 207s] #define HAVE_DLFCN_H 1 [ 207s] #define LT_OBJDIR ".libs/" [ 207s] [ 207s] configure: exit 1 [ 207s] dh_auto_configure: ./configure --build=aarch64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/aarch64-linux-gnu --libexecdir=${prefix}/lib/aarch64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 207s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 207s] make[1]: *** [override_dh_auto_configure] Error 2 [ 207s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 207s] debian/rules:45: recipe for target 'build' failed [ 207s] make: *** [build] Error 2 [ 207s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 207s] ### VM INTERACTION START ### [ 210s] [ 198.558951] sysrq: Power Off [ 210s] [ 198.571515] reboot: Power down [ 210s] ### VM INTERACTION END ### [ 210s] [ 210s] obs-arm-8 failed "build osmo-uecups_0.1.0.dsc" at Fri Apr 24 22:40:05 UTC 2020. [ 210s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Apr 25 01:44:44 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 25 Apr 2020 01:44:44 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea39620303e2_248e2ab4e597c600365668@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 660s] | ## Running config.status. ## [ 660s] | ## ---------------------- ## [ 660s] | [ 660s] | This file was extended by libosmocore config.status 1.3.0.71-1f48b, which was [ 660s] | generated by GNU Autoconf 2.69. Invocation command line was [ 660s] | [ 660s] | CONFIG_FILES = [ 660s] | CONFIG_HEADERS = [ 660s] | CONFIG_LINKS = [ 660s] | CONFIG_COMMANDS = [ 660s] | $ ./config.status Doxyfile.core [ 660s] | [ 660s] | on armbuild24 [ 660s] | [ 660s] | config.status:1341: creating Doxyfile.core [ 660s] [ 660s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 660s] make[1]: *** [override_dh_auto_test] Error 1 [ 660s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 660s] debian/rules:15: recipe for target 'build' failed [ 660s] make: *** [build] Error 2 [ 660s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 660s] ### VM INTERACTION START ### [ 662s] [ 647.401671] sysrq: SysRq : Power Off [ 662s] [ 647.434327] reboot: Power down [ 663s] ### VM INTERACTION END ### [ 663s] [ 663s] armbuild24 failed "build libosmocore_1.3.0.71.1f48b.dsc" at Sat Apr 25 01:44:41 UTC 2020. [ 663s] -- 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 Apr 25 03:44:27 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 25 Apr 2020 03:44:27 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 ) Change subject: Add default APN for each EUA Type ...................................................................... Add default APN for each EUA Type MS may request an unknown APN. In this case we will use the APN configured in the vty as default-apn but if the type support does not match the request we will fail. The commit adds two more vty commands to configure a default vpn for v6 and for v4v6 Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Fixes: OS#4511 --- M ggsn/ggsn.c M ggsn/ggsn.h M ggsn/ggsn_vty.c 3 files changed, 80 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/41/17941/1 diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c index 159362f..816a496 100644 --- a/ggsn/ggsn.c +++ b/ggsn/ggsn.c @@ -452,10 +452,22 @@ /* ignore if the APN has not been started */ if (apn && !apn->started) apn = NULL; - /* then try default (if any) */ - if (!apn) - apn = ggsn->cfg.default_apn; + if (!apn) { + switch (pdp->eua.v[1]) { + case PDP_EUA_TYPE_v6: + if (ggsn->cfg.default_apnv6) + apn = ggsn->cfg.default_apnv6; + break; + case PDP_EUA_TYPE_v4v6: + if (ggsn->cfg.default_apnv4v6) + apn = ggsn->cfg.default_apnv4v6; + break; + default: + apn = ggsn->cfg.default_apn; + break; + } + } /* ignore if the APN has not been started */ if (apn && !apn->started) apn = NULL; diff --git a/ggsn/ggsn.h b/ggsn/ggsn.h index 82984a0..887c743 100644 --- a/ggsn/ggsn.h +++ b/ggsn/ggsn.h @@ -115,8 +115,10 @@ char *name; /* Description string */ char *description; - /* an APN that shall be used as default for any non-matching APN */ + /* APNs that shall be used as default for any non-matching APN */ struct apn_ctx *default_apn; + struct apn_ctx *default_apnv6; + struct apn_ctx *default_apnv4v6; /* ADdress to which we listen for GTP */ struct in46_addr listen_addr; /* Local GTP-C address advertised in GTP */ diff --git a/ggsn/ggsn_vty.c b/ggsn/ggsn_vty.c index cb92a8a..9e643f0 100644 --- a/ggsn/ggsn_vty.c +++ b/ggsn/ggsn_vty.c @@ -296,6 +296,60 @@ return CMD_SUCCESS; } +DEFUN(cfg_ggsn_default_apnv6, cfg_ggsn_default_apnv6_cmd, + "default-apnv6 NAME", + "Set a default-APN to be used if no other APN v6 matches\n" + "APN Name\n") +{ + struct ggsn_ctx *ggsn = (struct ggsn_ctx *) vty->index; + struct apn_ctx *apn; + + apn = ggsn_find_apn(ggsn, argv[0]); + if (!apn) { + vty_out(vty, "%% No APN of name '%s' found%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + ggsn->cfg.default_apnv6 = apn; + return CMD_SUCCESS; +} + +DEFUN(cfg_ggsn_no_default_apnv6, cfg_ggsn_no_default_apnv6_cmd, + "no default-apnv6", + NO_STR "Remove default-APN to be used if no other APN matches\n") +{ + struct ggsn_ctx *ggsn = (struct ggsn_ctx *) vty->index; + ggsn->cfg.default_apnv6 = NULL; + return CMD_SUCCESS; +} + +DEFUN(cfg_ggsn_default_apnv4v6, cfg_ggsn_default_apnv4v6_cmd, + "default-apnv4v6 NAME", + "Set a default-APN to be used if no other APN v4v6 matches\n" + "APN Name\n") +{ + struct ggsn_ctx *ggsn = (struct ggsn_ctx *) vty->index; + struct apn_ctx *apn; + + apn = ggsn_find_apn(ggsn, argv[0]); + if (!apn) { + vty_out(vty, "%% No APN of name '%s' found%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + ggsn->cfg.default_apnv4v6 = apn; + return CMD_SUCCESS; +} + +DEFUN(cfg_ggsn_no_default_apnv4v6, cfg_ggsn_no_default_apnv4v6_cmd, + "no default-apnv4v6", + NO_STR "Remove default-APN to be used if no other APN v4v6 matches\n") +{ + struct ggsn_ctx *ggsn = (struct ggsn_ctx *) vty->index; + ggsn->cfg.default_apn = NULL; + return CMD_SUCCESS; +} + DEFUN(cfg_ggsn_shutdown, cfg_ggsn_shutdown_cmd, "shutdown ggsn", "Put the GGSN in administrative shut-down\n" GGSN_STR) @@ -792,6 +846,10 @@ config_write_apn(vty, apn); if (ggsn->cfg.default_apn) vty_out(vty, " default-apn %s%s", ggsn->cfg.default_apn->cfg.name, VTY_NEWLINE); + if (ggsn->cfg.default_apnv6) + vty_out(vty, " default-apnv6 %s%s", ggsn->cfg.default_apnv6->cfg.name, VTY_NEWLINE); + if (ggsn->cfg.default_apnv4v6) + vty_out(vty, " default-apnv4v6 %s%s", ggsn->cfg.default_apnv4v6->cfg.name, VTY_NEWLINE); if (ggsn->cfg.echo_interval) vty_out(vty, " echo-interval %u%s", ggsn->cfg.echo_interval, VTY_NEWLINE); /* must be last */ @@ -1097,6 +1155,10 @@ install_element(GGSN_NODE, &cfg_ggsn_no_apn_cmd); install_element(GGSN_NODE, &cfg_ggsn_default_apn_cmd); install_element(GGSN_NODE, &cfg_ggsn_no_default_apn_cmd); + install_element(GGSN_NODE, &cfg_ggsn_default_apnv6_cmd); + install_element(GGSN_NODE, &cfg_ggsn_no_default_apnv6_cmd); + install_element(GGSN_NODE, &cfg_ggsn_default_apnv4v6_cmd); + install_element(GGSN_NODE, &cfg_ggsn_no_default_apnv4v6_cmd); install_element(GGSN_NODE, &cfg_ggsn_show_sgsn_cmd); install_element(GGSN_NODE, &cfg_ggsn_echo_interval_cmd); install_element(GGSN_NODE, &cfg_ggsn_no_echo_interval_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 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 Sat Apr 25 03:55:35 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 25 Apr 2020 03:55:35 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type 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/+/17941 to look at the new patch set (#2). Change subject: Add default APN for each EUA Type ...................................................................... Add default APN for each EUA Type MS may request an unknown APN. In this case we will use the APN configured in the vty as default-apn but if the type support does not match the request we will fail. The commit adds two more vty commands to configure a default vpn for v6 and for v4v6 Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Fixes: OS#4511 --- M ggsn/ggsn.c M ggsn/ggsn.h M ggsn/ggsn_vty.c 3 files changed, 84 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/41/17941/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Apr 25 03:58:32 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 25 Apr 2020 03:58:32 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ea3b5889befb_248e2ab4e597c6003752df@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 321s] #define PACKAGE_URL "" [ 321s] #define PACKAGE "osmo-uecups" [ 321s] #define VERSION "0.1" [ 321s] #define STDC_HEADERS 1 [ 321s] #define HAVE_SYS_TYPES_H 1 [ 321s] #define HAVE_SYS_STAT_H 1 [ 321s] #define HAVE_STDLIB_H 1 [ 321s] #define HAVE_STRING_H 1 [ 321s] #define HAVE_MEMORY_H 1 [ 321s] #define HAVE_STRINGS_H 1 [ 321s] #define HAVE_INTTYPES_H 1 [ 321s] #define HAVE_STDINT_H 1 [ 321s] #define HAVE_UNISTD_H 1 [ 321s] #define HAVE_DLFCN_H 1 [ 321s] #define LT_OBJDIR ".libs/" [ 321s] [ 321s] configure: exit 1 [ 321s] dh_auto_configure: error: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 321s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 25 [ 321s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 321s] make: *** [debian/rules:45: build] Error 2 [ 321s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 321s] ### VM INTERACTION START ### [ 324s] [ 311.547307] sysrq: SysRq : Power Off [ 324s] [ 311.553861] reboot: Power down [ 324s] ### VM INTERACTION END ### [ 324s] [ 324s] lamb62 failed "build osmo-uecups_0.1.0.dsc" at Sat Apr 25 03:58:27 UTC 2020. [ 324s] -- 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 Apr 25 04:00:48 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 25 Apr 2020 04:00:48 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type 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/+/17941 to look at the new patch set (#3). Change subject: Add default APN for each EUA Type ...................................................................... Add default APN for each EUA Type MS may request an unknown APN. In this case we will use the APN configured in the vty as default-apn but if the type support does not match the request we will fail. The commit adds two more vty commands to configure a default vpn for v6 and for v4v6 Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Fixes: OS#4511 --- M ggsn/ggsn.c M ggsn/ggsn.h M ggsn/ggsn_vty.c 3 files changed, 82 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/41/17941/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 Gerrit-PatchSet: 3 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 Sat Apr 25 04:02:30 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 25 Apr 2020 04:02:30 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type 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/+/17941 to look at the new patch set (#4). Change subject: Add default APN for each EUA Type ...................................................................... Add default APN for each EUA Type MS may request an unknown APN. In this case we will use the APN configured in the vty as default-apn but if the type support does not match the request we will fail. The commit adds two more vty commands to configure a default vpn for v6 and for v4v6 Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Fixes: OS#4511 --- M ggsn/ggsn.c M ggsn/ggsn.h M ggsn/ggsn_vty.c 3 files changed, 82 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/41/17941/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 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 Sat Apr 25 04:11:21 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 25 Apr 2020 04:11:21 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 ) Change subject: Add default APN for each EUA Type ...................................................................... Patch Set 4: (3 comments) https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/4/ggsn/ggsn.c File ggsn/ggsn.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/4/ggsn/ggsn.c at 458 PS4, Line 458: if (pdp->eua.l < 2 || pdp->eua.v[0] != 0xf1) taken from lib/in46_addr.c Lines 322-326 https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/4/ggsn/ggsn.c at 473 PS4, Line 473: default_apn_done: as you can see I tried a few options here. If you don't like the goto, dear code reviewer, please point to the right way. :) https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/4/ggsn/ggsn_vty.c File ggsn/ggsn_vty.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/4/ggsn/ggsn_vty.c at 300 PS4, Line 300: "default-apnv6 NAME", come to think of it now, one might prefer here default-apn-v6 Let's see if the concept is accepted first.. Then I can change that. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 Gerrit-PatchSet: 4 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Comment-Date: Sat, 25 Apr 2020 04:11:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Apr 25 09:31:57 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 25 Apr 2020 09:31:57 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5ea403929b06a_248e2ab4e597c6004115aa@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 354s] #define PACKAGE_URL "" [ 354s] #define PACKAGE "osmo-uecups" [ 354s] #define VERSION "0.1" [ 354s] #define STDC_HEADERS 1 [ 354s] #define HAVE_SYS_TYPES_H 1 [ 354s] #define HAVE_SYS_STAT_H 1 [ 354s] #define HAVE_STDLIB_H 1 [ 354s] #define HAVE_STRING_H 1 [ 354s] #define HAVE_MEMORY_H 1 [ 354s] #define HAVE_STRINGS_H 1 [ 354s] #define HAVE_INTTYPES_H 1 [ 354s] #define HAVE_STDINT_H 1 [ 354s] #define HAVE_UNISTD_H 1 [ 354s] #define HAVE_DLFCN_H 1 [ 354s] #define LT_OBJDIR ".libs/" [ 354s] [ 354s] configure: exit 1 [ 354s] dh_auto_configure: error: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 354s] make[1]: *** [debian/rules:50: override_dh_auto_configure] Error 25 [ 354s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 354s] make: *** [debian/rules:45: build] Error 2 [ 354s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 354s] ### VM INTERACTION START ### [ 357s] [ 342.144312] sysrq: SysRq : Power Off [ 357s] [ 342.151278] reboot: Power down [ 357s] ### VM INTERACTION END ### [ 357s] [ 357s] lamb57 failed "build osmo-uecups_0.1.0.dsc" at Sat Apr 25 09:31:45 UTC 2020. [ 357s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Apr 25 10:40:49 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 25 Apr 2020 10:40:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea413c0a0ec3_248e2ab4e597c60041744b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 426s] ^~~~~~~~~~~~~~~~~~~ [ 426s] main.c: In function 'main': [ 426s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 426s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 426s] ^~~~~~~~~~~~~~~~~~~ [ 426s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 426s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 426s] ^ [ 426s] cc1: some warnings being treated as errors [ 426s] Makefile:469: recipe for target 'main.o' failed [ 426s] make[3]: *** [main.o] Error 1 [ 426s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 426s] Makefile:402: recipe for target 'all-recursive' failed [ 426s] make[2]: *** [all-recursive] Error 1 [ 426s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 426s] Makefile:349: recipe for target 'all' failed [ 426s] make[1]: *** [all] Error 2 [ 426s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 426s] dh_auto_build: make -j1 returned exit code 2 [ 426s] debian/rules:45: recipe for target 'build' failed [ 426s] make: *** [build] Error 2 [ 426s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 426s] ### VM INTERACTION START ### [ 429s] [ 407.977162] sysrq: SysRq : Power Off [ 429s] [ 408.023163] reboot: Power down [ 429s] ### VM INTERACTION END ### [ 429s] [ 429s] obs-arm-5 failed "build osmo-uecups_0.1.3.f9bb.dsc" at Sat Apr 25 10:40:45 UTC 2020. [ 429s] -- 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 Apr 25 13:50:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 13:50:31 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 6 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-Comment-Date: Sat, 25 Apr 2020 13:50: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 Sat Apr 25 13:50:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 13:50:44 +0000 Subject: Change in osmo-bts[master]: lc15: Fix returning values on void function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17936 ) Change subject: lc15: Fix returning values on void function ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17936 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7a944c0636933c0389db9aabd8b5e6c173052f12 Gerrit-Change-Number: 17936 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: rafael2k Gerrit-Comment-Date: Sat, 25 Apr 2020 13:50: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 Apr 25 13:50:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 13:50:52 +0000 Subject: Change in osmo-bts[master]: lc15: Fix mismatching signature in callback provided In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17937 ) Change subject: lc15: Fix mismatching signature in callback provided ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17937 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id80d5a52cbccce54456205dec230a0b546b8b310 Gerrit-Change-Number: 17937 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: rafael2k Gerrit-Comment-Date: Sat, 25 Apr 2020 13:50: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 Sat Apr 25 13:51:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 13:51:07 +0000 Subject: Change in osmo-bts[master]: oc2g: Fix returning values on void function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17938 ) Change subject: oc2g: Fix returning values on void function ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17938 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6f5e976969af994011bc9282ede115606f0f0d20 Gerrit-Change-Number: 17938 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 13: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 Sat Apr 25 13:51:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 13:51:13 +0000 Subject: Change in osmo-bts[master]: oc2g: Fix mismatching signature in callback provided In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17939 ) Change subject: oc2g: Fix mismatching signature in callback provided ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17939 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I06747d5992d09a506d26089391ef130418506333 Gerrit-Change-Number: 17939 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 13:51: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 Sat Apr 25 13:51:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 13:51:17 +0000 Subject: Change in osmo-bts[master]: osmo-bts-litecell15: Implement missing features. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17855 ) Change subject: osmo-bts-litecell15: Implement missing features. ...................................................................... osmo-bts-litecell15: Implement missing features. Many hardware parameters of the LC 1.5 were not exposed to the user. This change introduces most of the features, being very similar to osmo-bts-oc2g code. Mostly based on commit 653e974fec00414ba85baf258ccc46ea778a53bd from NuRAN's osmo-bts fork at: https://gitlab.com/nrw_noa/osmo-bts Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d --- M include/osmo-bts/phy_link.h M src/osmo-bts-litecell15/l1_if.c M src/osmo-bts-litecell15/l1_if.h M src/osmo-bts-litecell15/lc15bts.c M src/osmo-bts-litecell15/lc15bts.h M src/osmo-bts-litecell15/lc15bts_vty.c M src/osmo-bts-litecell15/main.c M src/osmo-bts-litecell15/oml.c 8 files changed, 569 insertions(+), 13 deletions(-) Approvals: laforge: Looks good to me, approved keith: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve rafael2k: 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 116297b..cf877bd 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -135,6 +135,7 @@ uint8_t dsp_alive_period; /* DSP alive timer period */ uint8_t tx_pwr_adj_mode; /* 0: no auto adjust power, 1: auto adjust power using RMS detector */ uint8_t tx_pwr_red_8psk; /* 8-PSK maximum Tx power reduction level in dB */ + uint8_t tx_c0_idle_pwr_red; /* C0 idle slot Tx power reduction level in dB */ } lc15; struct { /* configuration */ diff --git a/src/osmo-bts-litecell15/l1_if.c b/src/osmo-bts-litecell15/l1_if.c index abf48bc..6dead92 100644 --- a/src/osmo-bts-litecell15/l1_if.c +++ b/src/osmo-bts-litecell15/l1_if.c @@ -1257,14 +1257,17 @@ LOGP(DL1C, LOGL_INFO, "Rx RF-%sACT.conf (status=%s)\n", on ? "" : "DE", get_value_string(lc15bts_l1status_names, status)); + struct bts_lc15_priv *bts_lc15 = trx->bts->model_priv; if (on) { if (status != GsmL1_Status_Success) { LOGP(DL1C, LOGL_FATAL, "RF-ACT.conf with status %s\n", get_value_string(lc15bts_l1status_names, status)); bts_shutdown(trx->bts, "RF-ACT failure"); - } else - bts_update_status(BTS_STATUS_RF_ACTIVE, 1); + } else { + if (bts_lc15->led_ctrl_mode == LC15_LED_CONTROL_BTS) + bts_update_status(BTS_STATUS_RF_ACTIVE, 1); + } /* signal availability */ oml_mo_state_chg(&trx->mo, NM_OPSTATE_DISABLED, NM_AVSTATE_OK); @@ -1275,7 +1278,8 @@ for (i = 0; i < ARRAY_SIZE(trx->ts); i++) oml_mo_state_chg(&trx->ts[i].mo, NM_OPSTATE_DISABLED, NM_AVSTATE_DEPENDENCY); } else { - bts_update_status(BTS_STATUS_RF_ACTIVE, 0); + if (bts_lc15->led_ctrl_mode == LC15_LED_CONTROL_BTS) + bts_update_status(BTS_STATUS_RF_ACTIVE, 0); oml_mo_state_chg(&trx->mo, NM_OPSTATE_DISABLED, NM_AVSTATE_OFF_LINE); oml_mo_state_chg(&trx->bb_transc.mo, NM_OPSTATE_DISABLED, NM_AVSTATE_OFF_LINE); } @@ -1290,17 +1294,28 @@ { struct msgb *msg = sysp_msgb_alloc(); Litecell15_Prim_t *sysp = msgb_sysprim(msg); + struct phy_instance *pinst = hdl->phy_inst; if (on) { sysp->id = Litecell15_PrimId_ActivateRfReq; sysp->u.activateRfReq.msgq.u8UseTchMsgq = 0; sysp->u.activateRfReq.msgq.u8UsePdtchMsgq = pcu_direct; - sysp->u.activateRfReq.u8UnusedTsMode = 0; + sysp->u.activateRfReq.u8UnusedTsMode = pinst->u.lc15.pedestal_mode; + sysp->u.activateRfReq.u8McCorrMode = 0; + /* diversity mode: 0: SISO-A, 1: SISO-B, 2: MRC */ + sysp->u.activateRfReq.u8DiversityMode = pinst->u.lc15.diversity_mode; + /* maximum cell size in quarter-bits, 90 == 12.456 km */ - sysp->u.activateRfReq.u8MaxCellSize = 90; + sysp->u.activateRfReq.u8MaxCellSize = pinst->u.lc15.max_cell_size; + +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + /* auto tx power adjustment mode 0:none, 1: automatic*/ + sysp->u.activateRfReq.u8EnAutoPowerAdjust = pinst->u.lc15.tx_pwr_adj_mode; +#endif + } else { sysp->id = Litecell15_PrimId_DeactivateRfReq; } @@ -1589,6 +1604,56 @@ return 0; } +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) +static void dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) +{ + Litecell15_Prim_t *sysp = msgb_sysprim(resp); + Litecell15_IsAliveCnf_t *sac = &sysp->u.isAliveCnf; + struct lc15l1_hdl *fl1h = trx_lc15l1_hdl(trx); + + fl1h->hw_alive.dsp_alive_cnt++; + LOGP(DL1C, LOGL_DEBUG, "Rx SYS prim %s, status=%d (%d)\n", + get_value_string(lc15bts_sysprim_names, sysp->id), sac->status, trx->nr); + + msgb_free(resp); +} + +static int dsp_alive_timer_cb(void *data) +{ + struct lc15l1_hdl *fl1h = data; + struct gsm_bts_trx *trx = fl1h->phy_inst->trx; + struct msgb *msg = sysp_msgb_alloc(); + int rc; + + Litecell15_Prim_t *sys_prim = msgb_sysprim(msg); + sys_prim->id = Litecell15_PrimId_IsAliveReq; + + if (fl1h->hw_alive.dsp_alive_cnt == 0) { + LOGP(DL1C, LOGL_ERROR, "Timeout waiting for SYS prim %s primitive (%d)\n", + get_value_string(lc15bts_sysprim_names, sys_prim->id + 1), trx->nr); + + if( fl1h->phy_inst->trx ){ + fl1h->phy_inst->trx->mo.obj_inst.trx_nr = fl1h->phy_inst->trx->nr; + } + } + + LOGP(DL1C, LOGL_DEBUG, "Tx SYS prim %s (%d)\n", + get_value_string(lc15bts_sysprim_names, sys_prim->id), trx->nr); + + rc = l1if_req_compl(fl1h, msg, dsp_alive_compl_cb, NULL); + if (rc < 0) { + LOGP(DL1C, LOGL_FATAL, "Failed to send %s primitive\n", get_value_string(lc15bts_sysprim_names, sys_prim->id)); + return -EIO; + } + + /* restart timer */ + fl1h->hw_alive.dsp_alive_cnt = 0; + osmo_timer_schedule(&fl1h->hw_alive.dsp_alive_timer, fl1h->hw_alive.dsp_alive_period, 0); + + return 0; +} +#endif + int bts_model_phy_link_open(struct phy_link *plink) { struct phy_instance *pinst = phy_instance_by_num(plink, 0); @@ -1608,6 +1673,29 @@ return -EIO; } + /* Set default PHY parameters */ + if (!pinst->u.lc15.max_cell_size) + pinst->u.lc15.max_cell_size = LC15_BTS_MAX_CELL_SIZE_DEFAULT; + + if (!pinst->u.lc15.diversity_mode) + pinst->u.lc15.diversity_mode = LC15_BTS_DIVERSITY_MODE_DEFAULT; + + if (!pinst->u.lc15.pedestal_mode) + pinst->u.lc15.pedestal_mode = LC15_BTS_PEDESTAL_MODE_DEFAULT; + +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + if (!pinst->u.lc15.dsp_alive_period) + pinst->u.lc15.dsp_alive_period = LC15_BTS_DSP_ALIVE_TMR_DEFAULT; + + if (!pinst->u.lc15.tx_pwr_adj_mode) + pinst->u.lc15.tx_pwr_adj_mode = LC15_BTS_TX_PWR_ADJ_DEFAULT; + + if (!pinst->u.lc15.tx_pwr_red_8psk) + pinst->u.lc15.tx_pwr_red_8psk = LC15_BTS_TX_RED_PWR_8PSK_DEFAULT; + + if (!pinst->u.lc15.tx_c0_idle_pwr_red) + pinst->u.lc15.tx_c0_idle_pwr_red = LC15_BTS_TX_C0_IDLE_RED_PWR_DEFAULT; +#endif struct lc15l1_hdl *fl1h = pinst->u.lc15.hdl; fl1h->dsp_trace_f = dsp_trace; @@ -1616,5 +1704,27 @@ phy_link_state_set(plink, PHY_LINK_CONNECTED); +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + /* Send first IS_ALIVE primitive */ + struct msgb *msg = sysp_msgb_alloc(); + int rc; + + Litecell15_Prim_t *sys_prim = msgb_sysprim(msg); + sys_prim->id = Litecell15_PrimId_IsAliveReq; + + rc = l1if_req_compl(fl1h, msg, dsp_alive_compl_cb, NULL); + if (rc < 0) { + LOGP(DL1C, LOGL_FATAL, "Failed to send %s primitive\n", get_value_string(lc15bts_sysprim_names, sys_prim->id)); + return -EIO; + } + + /* initialize DSP heart beat alive timer */ + fl1h->hw_alive.dsp_alive_timer.cb = dsp_alive_timer_cb; + fl1h->hw_alive.dsp_alive_timer.data = fl1h; + fl1h->hw_alive.dsp_alive_cnt = 0; + fl1h->hw_alive.dsp_alive_period = pinst->u.lc15.dsp_alive_period; + osmo_timer_schedule(&fl1h->hw_alive.dsp_alive_timer, fl1h->hw_alive.dsp_alive_period, 0); +#endif + return 0; } diff --git a/src/osmo-bts-litecell15/l1_if.h b/src/osmo-bts-litecell15/l1_if.h index aac2607..f5efa91 100644 --- a/src/osmo-bts-litecell15/l1_if.h +++ b/src/osmo-bts-litecell15/l1_if.h @@ -30,6 +30,12 @@ _NUM_MQ_WRITE }; +/* gsm_bts->model_priv, specific to Litecell 1.5 BTS */ +struct bts_lc15_priv { + uint8_t led_ctrl_mode; /* 0: control by BTS, 1: not control by BTS */ + unsigned int rtp_drift_thres_ms; /* RTP timestamp drift detection threshold */ +}; + struct calib_send_state { FILE *fp; const char *path; @@ -62,6 +68,15 @@ struct calib_send_state st; uint8_t last_rf_mute[8]; + +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + struct { + struct osmo_timer_list dsp_alive_timer; + unsigned int dsp_alive_cnt; + uint8_t dsp_alive_period; + } hw_alive; +#endif + }; #define msgb_l1prim(msg) ((GsmL1_Prim_t *)(msg)->l1h) diff --git a/src/osmo-bts-litecell15/lc15bts.c b/src/osmo-bts-litecell15/lc15bts.c index 172a7e4..0ba89a1 100644 --- a/src/osmo-bts-litecell15/lc15bts.c +++ b/src/osmo-bts-litecell15/lc15bts.c @@ -121,6 +121,14 @@ case Litecell15_PrimId_MuteRfCnf: return L1P_T_CONF; case Litecell15_PrimId_SetRxAttenReq: return L1P_T_REQ; case Litecell15_PrimId_SetRxAttenCnf: return L1P_T_CONF; +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + case Litecell15_PrimId_IsAliveReq: return L1P_T_REQ; + case Litecell15_PrimId_IsAliveCnf: return L1P_T_CONF; + case Litecell15_PrimId_SetMaxCellSizeReq: return L1P_T_REQ; + case Litecell15_PrimId_SetMaxCellSizeCnf: return L1P_T_CONF; + case Litecell15_PrimId_SetC0IdleSlotPowerReductionReq: return L1P_T_REQ; + case Litecell15_PrimId_SetC0IdleSlotPowerReductionCnf: return L1P_T_CONF; +#endif default: return L1P_T_INVALID; } } @@ -142,6 +150,14 @@ { Litecell15_PrimId_MuteRfCnf, "MUTE-RF.cnf" }, { Litecell15_PrimId_SetRxAttenReq, "SET-RX-ATTEN.req" }, { Litecell15_PrimId_SetRxAttenCnf, "SET-RX-ATTEN-CNF.cnf" }, +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + { Litecell15_PrimId_IsAliveReq, "IS-ALIVE.req" }, + { Litecell15_PrimId_IsAliveCnf, "IS-ALIVE-CNF.cnf" }, + { Litecell15_PrimId_SetMaxCellSizeReq, "SET-MAX-CELL-SIZE.req" }, + { Litecell15_PrimId_SetMaxCellSizeCnf, "SET-MAX-CELL-SIZE.cnf" }, + { Litecell15_PrimId_SetC0IdleSlotPowerReductionReq, "SET-C0-IDLE-PWR-RED.req" }, + { Litecell15_PrimId_SetC0IdleSlotPowerReductionCnf, "SET-C0-IDLE-PWR-RED.cnf" }, +#endif { 0, NULL } }; @@ -155,6 +171,11 @@ case Litecell15_PrimId_SetCalibTblReq: return Litecell15_PrimId_SetCalibTblCnf; case Litecell15_PrimId_MuteRfReq: return Litecell15_PrimId_MuteRfCnf; case Litecell15_PrimId_SetRxAttenReq: return Litecell15_PrimId_SetRxAttenCnf; +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + case Litecell15_PrimId_IsAliveReq: return Litecell15_PrimId_IsAliveCnf; + case Litecell15_PrimId_SetMaxCellSizeReq: return Litecell15_PrimId_SetMaxCellSizeCnf; + case Litecell15_PrimId_SetC0IdleSlotPowerReductionReq: return Litecell15_PrimId_SetC0IdleSlotPowerReductionCnf; +#endif default: return -1; // Weak } } diff --git a/src/osmo-bts-litecell15/lc15bts.h b/src/osmo-bts-litecell15/lc15bts.h index 31ca923..ecfeb3d 100644 --- a/src/osmo-bts-litecell15/lc15bts.h +++ b/src/osmo-bts-litecell15/lc15bts.h @@ -22,6 +22,30 @@ L1P_T_IND, }; + +enum lc15_diversity_mode{ + LC15_DIVERSITY_SISO_A = 0, + LC15_DIVERSITY_SISO_B, + LC15_DIVERSITY_MRC, +}; + +enum lc15_pedestal_mode{ + LC15_PEDESTAL_OFF = 0, + LC15_PEDESTAL_ON, +}; + +enum lc15_led_control_mode{ + LC15_LED_CONTROL_BTS = 0, + LC15_LED_CONTROL_EXT, +}; + +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) +enum lc15_auto_pwr_adjust_mode{ + LC15_TX_PWR_ADJ_NONE = 0, + LC15_TX_PWR_ADJ_AUTO, +}; +#endif + enum l1prim_type lc15bts_get_l1prim_type(GsmL1_PrimId_t id); extern const struct value_string lc15bts_l1prim_names[GsmL1_PrimId_NUM+1]; GsmL1_PrimId_t lc15bts_get_l1prim_conf(GsmL1_PrimId_t id); @@ -61,4 +85,17 @@ extern const uint8_t pdch_msu_size[_NUM_PDCH_CS]; +/* LC15 default parameters */ +#define LC15_BTS_MAX_CELL_SIZE_DEFAULT 166 /* 166 qbits is default value */ +#define LC15_BTS_DIVERSITY_MODE_DEFAULT 0 /* SISO-A is default mode */ +#define LC15_BTS_PEDESTAL_MODE_DEFAULT 0 /* Unused TS is off by default */ +#define LC15_BTS_LED_CTRL_MODE_DEFAULT 0 /* LED is controlled by BTS by default */ +#define LC15_BTS_RTP_DRIFT_THRES_DEFAULT 0 /* Default RTP drift threshold is 0 ms (disabled) */ +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) +#define LC15_BTS_DSP_ALIVE_TMR_DEFAULT 5 /* Default DSP alive timer is 5 seconds */ +#define LC15_BTS_TX_PWR_ADJ_DEFAULT 0 /* Default Tx power auto adjustment is none */ +#define LC15_BTS_TX_RED_PWR_8PSK_DEFAULT 0 /* Default 8-PSK maximum power level is 0 dB */ +#define LC15_BTS_TX_C0_IDLE_RED_PWR_DEFAULT 0 /* Default C0 idle slot reduction power level is 0 dB */ +#endif + #endif /* LC15BTS_H */ diff --git a/src/osmo-bts-litecell15/lc15bts_vty.c b/src/osmo-bts-litecell15/lc15bts_vty.c index d27ec28..944cfd5 100644 --- a/src/osmo-bts-litecell15/lc15bts_vty.c +++ b/src/osmo-bts-litecell15/lc15bts_vty.c @@ -43,6 +43,11 @@ #include #include +#include +#include +#include +#include + #include #include #include @@ -55,6 +60,7 @@ #include "utils.h" extern int lchan_activate(struct gsm_lchan *lchan); +extern int rsl_tx_preproc_meas_res(struct gsm_lchan *lchan); #define TRX_STR "Transceiver related commands\n" "TRX number\n" @@ -65,6 +71,33 @@ static struct gsm_bts *vty_bts; +static const struct value_string lc15_diversity_mode_strs[] = { + { LC15_DIVERSITY_SISO_A, "siso-a" }, + { LC15_DIVERSITY_SISO_B, "siso-b" }, + { LC15_DIVERSITY_MRC, "mrc" }, + { 0, NULL } +}; + +static const struct value_string lc15_pedestal_mode_strs[] = { + { LC15_PEDESTAL_OFF, "off" }, + { LC15_PEDESTAL_ON, "on" }, + { 0, NULL } +}; + +static const struct value_string lc15_led_mode_strs[] = { + { LC15_LED_CONTROL_BTS, "bts" }, + { LC15_LED_CONTROL_EXT, "external" }, + { 0, NULL } +}; + +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) +static const struct value_string lc15_auto_adj_pwr_strs[] = { + { LC15_TX_PWR_ADJ_NONE, "none" }, + { LC15_TX_PWR_ADJ_AUTO, "auto" }, + { 0, NULL } +}; +#endif + /* configuration */ DEFUN(cfg_phy_cal_path, cfg_phy_cal_path_cmd, @@ -302,9 +335,9 @@ } DEFUN(cfg_trx_nominal_power, cfg_trx_nominal_power_cmd, - "nominal-tx-power <0-40>", - "Set the nominal transmit output power in dBm\n" - "Nominal transmit output power level in dBm\n") + "nominal-tx-power <0-40>", + "Set the nominal transmit output power in dBm\n" + "Nominal transmit output power level in dBm\n") { int nominal_power = atoi(argv[0]); struct gsm_bts_trx *trx = vty->index; @@ -321,8 +354,166 @@ return CMD_SUCCESS; } +DEFUN(cfg_phy_max_cell_size, cfg_phy_max_cell_size_cmd, + "max-cell-size <0-166>", + "Set the maximum cell size in qbits\n") +{ + 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; +} + +DEFUN(cfg_phy_diversity_mode, cfg_phy_diversity_mode_cmd, + "diversity-mode (siso-a|siso-b|mrc)", + "Set reception diversity mode \n" + "Reception diversity mode can be (siso-a, siso-b, mrc)\n") +{ + 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; + } + + pinst->u.lc15.diversity_mode = (uint8_t)val; + return CMD_SUCCESS; +} + +DEFUN(cfg_phy_pedestal_mode, cfg_phy_pedestal_mode_cmd, + "pedestal-mode (on|off)", + "Set unused time-slot transmission in pedestal mode\n" + "Transmission pedestal mode can be (off, on)\n") +{ + 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; + } + + pinst->u.lc15.pedestal_mode = (uint8_t)val; + return CMD_SUCCESS; +} + +DEFUN(cfg_bts_led_mode, cfg_bts_led_mode_cmd, + "led-control-mode (bts|external)", + "Set LED controlled by BTS or external software\n" + "LED can be controlled by (bts, external)\n") +{ + 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; + } + + struct bts_lc15_priv *bts_lc15 = bts->model_priv; + bts_lc15->led_ctrl_mode = (uint8_t)val; + return CMD_SUCCESS; +} + +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) +DEFUN(cfg_phy_dsp_alive_timer, cfg_phy_dsp_alive_timer_cmd, + "dsp-alive-period <0-60>", + "Set DSP alive timer period in second\n") +{ + 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; +} + +DEFUN(cfg_phy_auto_tx_pwr_adj, cfg_phy_auto_tx_pwr_adj_cmd, + "pwr-adj-mode (none|auto)", + "Set output power adjustment mode\n") +{ + 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; + } + + pinst->u.lc15.tx_pwr_adj_mode = (uint8_t)val; + return CMD_SUCCESS; +} + +DEFUN(cfg_phy_tx_red_pwr_8psk, cfg_phy_tx_red_pwr_8psk_cmd, + "tx-red-pwr-8psk <0-40>", + "Set reduction output power for 8-PSK scheme in dB unit\n") +{ + 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; +} + +DEFUN(cfg_phy_c0_idle_red_pwr, cfg_phy_c0_idle_red_pwr_cmd, + "c0-idle-red-pwr <0-40>", + "Set reduction output power for C0 idle slot in dB unit\n") +{ + 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; +} +#endif + +DEFUN(cfg_bts_rtp_drift_threshold, cfg_bts_rtp_drift_threshold_cmd, + "rtp-drift-threshold <0-10000>", + "RTP parameters\n" + "RTP timestamp drift threshold in ms\n") +{ + struct gsm_bts *bts = vty->index; + + struct bts_lc15_priv *bts_lc15 = bts->model_priv; + bts_lc15->rtp_drift_thres_ms = (unsigned int) atoi(argv[0]); + + return CMD_SUCCESS; +} + void bts_model_config_write_bts(struct vty *vty, struct gsm_bts *bts) { + struct bts_lc15_priv *bts_lc15 = bts->model_priv; + vty_out(vty, " led-control-mode %s%s", + get_value_string(lc15_led_mode_strs, bts_lc15->led_ctrl_mode), VTY_NEWLINE); + + vty_out(vty, " rtp-drift-threshold %d%s", + bts_lc15->rtp_drift_thres_ms, VTY_NEWLINE); + } void bts_model_config_write_trx(struct vty *vty, struct gsm_bts_trx *trx) @@ -349,6 +540,29 @@ if (pinst->u.lc15.calib_path) vty_out(vty, " trx-calibration-path %s%s", pinst->u.lc15.calib_path, VTY_NEWLINE); + + vty_out(vty, " max-cell-size %d%s", + pinst->u.lc15.max_cell_size, VTY_NEWLINE); + + vty_out(vty, " diversity-mode %s%s", + get_value_string(lc15_diversity_mode_strs, pinst->u.lc15.diversity_mode), VTY_NEWLINE); + + vty_out(vty, " pedestal-mode %s%s", + get_value_string(lc15_pedestal_mode_strs, pinst->u.lc15.pedestal_mode) , VTY_NEWLINE); + +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + vty_out(vty, " dsp-alive-period %d%s", + pinst->u.lc15.dsp_alive_period, VTY_NEWLINE); + + vty_out(vty, " pwr-adj-mode %s%s", + get_value_string(lc15_auto_adj_pwr_strs, pinst->u.lc15.tx_pwr_adj_mode), VTY_NEWLINE); + + vty_out(vty, " tx-red-pwr-8psk %d%s", + pinst->u.lc15.tx_pwr_red_8psk, VTY_NEWLINE); + + vty_out(vty, " c0-idle-red-pwr %d%s", + pinst->u.lc15.tx_c0_idle_pwr_red, VTY_NEWLINE); +#endif } int bts_model_vty_init(struct gsm_bts *bts) @@ -401,6 +615,8 @@ install_element(BTS_NODE, &cfg_bts_auto_band_cmd); install_element(BTS_NODE, &cfg_bts_no_auto_band_cmd); + install_element(BTS_NODE, &cfg_bts_led_mode_cmd); + install_element(BTS_NODE, &cfg_bts_rtp_drift_threshold_cmd); install_element(TRX_NODE, &cfg_trx_nominal_power_cmd); @@ -408,6 +624,15 @@ install_element(PHY_INST_NODE, &cfg_phy_no_dsp_trace_f_cmd); install_element(PHY_INST_NODE, &cfg_phy_cal_path_cmd); + install_element(PHY_INST_NODE, &cfg_phy_diversity_mode_cmd); + install_element(PHY_INST_NODE, &cfg_phy_pedestal_mode_cmd); + install_element(PHY_INST_NODE, &cfg_phy_max_cell_size_cmd); +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + install_element(PHY_INST_NODE, &cfg_phy_dsp_alive_timer_cmd); + install_element(PHY_INST_NODE, &cfg_phy_auto_tx_pwr_adj_cmd); + install_element(PHY_INST_NODE, &cfg_phy_tx_red_pwr_8psk_cmd); + install_element(PHY_INST_NODE, &cfg_phy_c0_idle_red_pwr_cmd); +#endif return 0; } diff --git a/src/osmo-bts-litecell15/main.c b/src/osmo-bts-litecell15/main.c index 6f3fc00..ef02135 100644 --- a/src/osmo-bts-litecell15/main.c +++ b/src/osmo-bts-litecell15/main.c @@ -83,14 +83,21 @@ int bts_model_init(struct gsm_bts *bts) { - struct gsm_bts_trx *trx; struct stat st; static struct osmo_fd accept_fd, read_fd; int rc; + struct bts_lc15_priv *bts_lc15 = talloc(bts, struct bts_lc15_priv); + + bts->model_priv = bts_lc15; bts->variant = BTS_OSMO_LITECELL15; bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3); + /* specific default values for LC15 platform */ + bts_lc15->led_ctrl_mode = LC15_BTS_LED_CTRL_MODE_DEFAULT; + /* RTP drift threshold default */ + bts_lc15->rtp_drift_thres_ms = LC15_BTS_RTP_DRIFT_THRES_DEFAULT; + rc = oml_router_init(bts, OML_ROUTER_PATH, &accept_fd, &read_fd); if (rc < 0) { fprintf(stderr, "Error creating the OML router: %s rc=%d\n", diff --git a/src/osmo-bts-litecell15/oml.c b/src/osmo-bts-litecell15/oml.c index edc49ec..4efa54d 100644 --- a/src/osmo-bts-litecell15/oml.c +++ b/src/osmo-bts-litecell15/oml.c @@ -384,7 +384,7 @@ struct msgb *msg; GsmL1_MphInitReq_t *mi_req; GsmL1_DeviceParam_t *dev_par; - int lc15_band; + int rc, lc15_band; if (!gsm_abis_mo_check_attr(&trx->mo, trx_rqd_attr, ARRAY_SIZE(trx_rqd_attr))) { @@ -394,6 +394,15 @@ //return oml_mo_opstart_nack(&trx->mo, NM_NACK_CANT_PERFORM); } + /* Update TRX band */ + rc = gsm_arfcn2band_rc(trx->arfcn, &trx->bts->band); + if (rc) { + /* FIXME: abort initialization? */ + LOGP(DL1C, LOGL_ERROR, "Could not pick GSM band " + "for ARFCN %u\n", trx->arfcn); + trx->bts->band = 0x00; + } + lc15_band = lc15bts_select_lc15_band(trx, trx->arfcn); if (lc15_band < 0) { LOGP(DL1C, LOGL_ERROR, "Unsupported GSM band %s\n", @@ -1170,6 +1179,9 @@ { GsmL1_ConfigParamId_SetTxPowerLevel, "Set Tx power level" }, { GsmL1_ConfigParamId_SetLogChParams, "Set logical channel params" }, { GsmL1_ConfigParamId_SetCipheringParams,"Configure ciphering params" }, +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + { GsmL1_ConfigParamId_Set8pskPowerReduction, "Set 8PSK Tx power reduction" }, +#endif { 0, NULL } }; @@ -1227,6 +1239,58 @@ return 0; } +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) +static int chmod_txpower_backoff_8psk_compl_cb(struct gsm_bts_trx *trx, struct msgb *l1_msg, + void *data) +{ + GsmL1_Prim_t *l1p = msgb_l1prim(l1_msg); + GsmL1_MphConfigCnf_t *cc = &l1p->u.mphConfigCnf; + + LOGP(DL1C, LOGL_INFO, "%s MPH-CONFIG.conf (%s) ", + gsm_trx_name(trx), + get_value_string(lc15bts_l1cfgt_names, cc->cfgParamId)); + + LOGPC(DL1C, LOGL_INFO, "Backoff %u dB\n", + cc->cfgParams.set8pskPowerReduction.u8PowerReduction); + + msgb_free(l1_msg); + + return 0; +} + +static int chmod_max_cell_size_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, + void *data) +{ + Litecell15_Prim_t *sysp = msgb_sysprim(resp); + Litecell15_SetMaxCellSizeCnf_t *sac = &sysp->u.setMaxCellSizeCnf; + + LOGP(DL1C, LOGL_INFO, "%s Rx SYS prim %s -> %s\n", + gsm_trx_name(trx), + get_value_string(lc15bts_sysprim_names, sysp->id), + get_value_string(lc15bts_l1status_names, sac->status)); + + msgb_free(resp); + + return 0; +} + +static int chmod_c0_idle_pwr_red_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, + void *data) +{ + Litecell15_Prim_t *sysp = msgb_sysprim(resp); + Litecell15_SetC0IdleSlotPowerReductionCnf_t *sac = &sysp->u.setC0IdleSlotPowerReductionCnf; + + LOGP(DL1C, LOGL_INFO, "%s Rx SYS prim %s -> %s\n", + gsm_trx_name(trx), + get_value_string(lc15bts_sysprim_names, sysp->id), + get_value_string(lc15bts_l1status_names, sac->status)); + + msgb_free(resp); + + return 0; +} +#endif + static int chmod_modif_compl_cb(struct gsm_bts_trx *trx, struct msgb *l1_msg, void *data) { @@ -1368,6 +1432,49 @@ return l1if_gsm_req_compl(fl1h, msg, chmod_txpower_compl_cb, NULL); } +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) +int l1if_set_txpower_backoff_8psk(struct lc15l1_hdl *fl1h, uint8_t backoff) +{ + struct msgb *msg = l1p_msgb_alloc(); + GsmL1_MphConfigReq_t *conf_req; + + conf_req = prim_init(msgb_l1prim(msg), GsmL1_PrimId_MphConfigReq, fl1h, 0); + conf_req->cfgParamId = GsmL1_ConfigParamId_Set8pskPowerReduction; + conf_req->cfgParams.set8pskPowerReduction.u8PowerReduction = backoff; + + return l1if_gsm_req_compl(fl1h, msg, chmod_txpower_backoff_8psk_compl_cb, NULL); +} + +int l1if_set_max_cell_size(struct lc15l1_hdl *fl1h, uint8_t cell_size) +{ + struct msgb *msg = sysp_msgb_alloc(); + Litecell15_Prim_t *sys_prim = msgb_sysprim(msg); + sys_prim->id = Litecell15_PrimId_SetMaxCellSizeReq; + sys_prim->u.setMaxCellSizeReq.u8MaxCellSize = cell_size; + + LOGP(DL1C, LOGL_INFO, "%s Set max cell size = %d qbits\n", + gsm_trx_name(fl1h->phy_inst->trx), + cell_size); + + return l1if_req_compl(fl1h, msg, chmod_max_cell_size_compl_cb, NULL); + +} + +int l1if_set_txpower_c0_idle_pwr_red(struct lc15l1_hdl *fl1h, uint8_t red) +{ + struct msgb *msg = sysp_msgb_alloc(); + Litecell15_Prim_t *sys_prim = msgb_sysprim(msg); + sys_prim->id = Litecell15_PrimId_SetC0IdleSlotPowerReductionReq; + sys_prim->u.setC0IdleSlotPowerReductionReq.u8PowerReduction = red; + + LOGP(DL1C, LOGL_INFO, "%s Set C0 idle slot power reduction = %d dB\n", + gsm_trx_name(fl1h->phy_inst->trx), + red); + + return l1if_req_compl(fl1h, msg, chmod_c0_idle_pwr_red_compl_cb, NULL); +} +#endif + const enum GsmL1_CipherId_t rsl2l1_ciph[] = { [0] = GsmL1_CipherId_A50, [1] = GsmL1_CipherId_A50, @@ -1700,7 +1807,8 @@ /* 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) && + 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)) { LOGP(DOML, LOGL_ERROR, "Channel TSC %u != BSIC-TSC %u\n", *TLVP_VAL(new_attr, NM_ATT_TSC), bts->bsic & 7); @@ -1718,12 +1826,40 @@ if (kind == NM_OC_RADIO_CARRIER) { struct gsm_bts_trx *trx = obj; struct lc15l1_hdl *fl1h = trx_lc15l1_hdl(trx); + /* convert max TA to max cell size in qbits */ + uint8_t cell_size = bts->max_ta << 2; + +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + /* We do not need to check for L1 handle + * because the max cell size parameter can receive before MphInit */ + if (fl1h->phy_inst->u.lc15.max_cell_size != cell_size) { + /* instruct L1 to apply max cell size */ + l1if_set_max_cell_size(fl1h, cell_size); + /* update current max cell size */ + fl1h->phy_inst->u.lc15.max_cell_size = cell_size; + } +#endif /* Did we go through MphInit yet? If yes fire and forget */ - if (fl1h->hLayer1) + if (fl1h->hLayer1) { power_ramp_start(trx, get_p_target_mdBm(trx, 0), 0); - } +#if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) + if (fl1h->phy_inst->u.lc15.tx_pwr_red_8psk != trx->max_power_backoff_8psk) { + /* update current Tx power backoff for 8-PSK */ + fl1h->phy_inst->u.lc15.tx_pwr_red_8psk = trx->max_power_backoff_8psk; + /* instruct L1 to apply Tx power backoff for 8 PSK */ + l1if_set_txpower_backoff_8psk(fl1h, fl1h->phy_inst->u.lc15.tx_pwr_red_8psk); + } + if (fl1h->phy_inst->u.lc15.tx_c0_idle_pwr_red != trx->c0_idle_power_red) { + /* update current C0 idle slot Tx power reduction */ + fl1h->phy_inst->u.lc15.tx_c0_idle_pwr_red = trx->c0_idle_power_red; + /* instruct L1 to apply C0 idle slot power reduction */ + l1if_set_txpower_c0_idle_pwr_red(fl1h, fl1h->phy_inst->u.lc15.tx_c0_idle_pwr_red); + } +#endif + } + } /* FIXME: we actually need to send a ACK or NACK for the OML message */ return oml_fom_ack_nack(msg, 0); } @@ -1893,6 +2029,8 @@ cb_ts_disconnected(ts); + msgb_free(l1_msg); + return 0; } @@ -1927,6 +2065,8 @@ cb_ts_connected(ts, 0); + msgb_free(l1_msg); + return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib16e7d423fc7030573acd86fbd356ae96697ed5d Gerrit-Change-Number: 17855 Gerrit-PatchSet: 7 Gerrit-Owner: rafael2k Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: rafael2k Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Apr 25 13:51:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 13:51:17 +0000 Subject: Change in osmo-bts[master]: lc15: Fix returning values on void function In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17936 ) Change subject: lc15: Fix returning values on void function ...................................................................... lc15: Fix returning values on void function Fixes following warnings: /osmo-bts/src/osmo-bts-litecell15/l1_if.c:1722:36: warning: assignment to ?void (*)(void *)? from incompatible pointer type ?int (*)(void *)? [-Wincompatible-pointer-types] 1722 | fl1h->hw_alive.dsp_alive_timer.cb = dsp_alive_timer_cb; | ^ Change-Id: I7a944c0636933c0389db9aabd8b5e6c173052f12 --- M src/osmo-bts-litecell15/l1_if.c 1 file changed, 4 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved keith: Looks good to me, but someone else must approve rafael2k: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bts-litecell15/l1_if.c b/src/osmo-bts-litecell15/l1_if.c index 6dead92..0e334d2 100644 --- a/src/osmo-bts-litecell15/l1_if.c +++ b/src/osmo-bts-litecell15/l1_if.c @@ -1618,7 +1618,7 @@ msgb_free(resp); } -static int dsp_alive_timer_cb(void *data) +static void dsp_alive_timer_cb(void *data) { struct lc15l1_hdl *fl1h = data; struct gsm_bts_trx *trx = fl1h->phy_inst->trx; @@ -1643,14 +1643,14 @@ rc = l1if_req_compl(fl1h, msg, dsp_alive_compl_cb, NULL); if (rc < 0) { LOGP(DL1C, LOGL_FATAL, "Failed to send %s primitive\n", get_value_string(lc15bts_sysprim_names, sys_prim->id)); - return -EIO; + return; } /* restart timer */ fl1h->hw_alive.dsp_alive_cnt = 0; osmo_timer_schedule(&fl1h->hw_alive.dsp_alive_timer, fl1h->hw_alive.dsp_alive_period, 0); - return 0; + return; } #endif @@ -1719,8 +1719,7 @@ } /* initialize DSP heart beat alive timer */ - fl1h->hw_alive.dsp_alive_timer.cb = dsp_alive_timer_cb; - fl1h->hw_alive.dsp_alive_timer.data = fl1h; + osmo_timer_setup(&fl1h->hw_alive.dsp_alive_timer, dsp_alive_timer_cb, fl1h); fl1h->hw_alive.dsp_alive_cnt = 0; fl1h->hw_alive.dsp_alive_period = pinst->u.lc15.dsp_alive_period; osmo_timer_schedule(&fl1h->hw_alive.dsp_alive_timer, fl1h->hw_alive.dsp_alive_period, 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17936 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7a944c0636933c0389db9aabd8b5e6c173052f12 Gerrit-Change-Number: 17936 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: rafael2k Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Apr 25 13:51:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 13:51:18 +0000 Subject: Change in osmo-bts[master]: lc15: Fix mismatching signature in callback provided In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17937 ) Change subject: lc15: Fix mismatching signature in callback provided ...................................................................... lc15: Fix mismatching signature in callback provided Fixes following compilation warning: /osmo-bts/src/osmo-bts-litecell15/l1_if.c: In function ?dsp_alive_timer_cb?: /osmo-bts/src/osmo-bts-litecell15/l1_if.c:1643:33: warning: passing argument 3 of ?l1if_req_compl? from incompatible pointer type [-Wincompatible-pointer-types] 1643 | rc = l1if_req_compl(fl1h, msg, dsp_alive_compl_cb, NULL); | ^~~~~~~~~~~~~~~~~~ | | | void (*)(struct gsm_bts_trx *, struct msgb *, void *) /osmo-bts/src/osmo-bts-litecell15/l1_if.c:220:21: note: expected ?int (*)(struct gsm_bts_trx *, struct msgb *, void *)? but argument is of type ?void (*)(struct gsm_bts_trx *, struct msgb *, void *)? 220 | l1if_compl_cb *cb, void *data) | ~~~~~~~~~~~~~~~^~ Change-Id: Id80d5a52cbccce54456205dec230a0b546b8b310 --- M src/osmo-bts-litecell15/l1_if.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved keith: Looks good to me, but someone else must approve rafael2k: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bts-litecell15/l1_if.c b/src/osmo-bts-litecell15/l1_if.c index 0e334d2..23f7c3d 100644 --- a/src/osmo-bts-litecell15/l1_if.c +++ b/src/osmo-bts-litecell15/l1_if.c @@ -1605,7 +1605,7 @@ } #if LITECELL15_API_VERSION >= LITECELL15_API(2,1,7) -static void dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) +static int dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) { Litecell15_Prim_t *sysp = msgb_sysprim(resp); Litecell15_IsAliveCnf_t *sac = &sysp->u.isAliveCnf; @@ -1616,6 +1616,7 @@ get_value_string(lc15bts_sysprim_names, sysp->id), sac->status, trx->nr); msgb_free(resp); + return 0; } static void dsp_alive_timer_cb(void *data) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17937 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id80d5a52cbccce54456205dec230a0b546b8b310 Gerrit-Change-Number: 17937 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: rafael2k Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Apr 25 13:51:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 13:51:18 +0000 Subject: Change in osmo-bts[master]: oc2g: Fix returning values on void function In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17938 ) Change subject: oc2g: Fix returning values on void function ...................................................................... oc2g: Fix returning values on void function Similar to what's done in I7a944c0636933c0389db9aabd8b5e6c173052f12 for lc15. Change-Id: I6f5e976969af994011bc9282ede115606f0f0d20 --- M src/osmo-bts-oc2g/l1_if.c 1 file changed, 5 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-oc2g/l1_if.c b/src/osmo-bts-oc2g/l1_if.c index b46c528..6b482b7 100644 --- a/src/osmo-bts-oc2g/l1_if.c +++ b/src/osmo-bts-oc2g/l1_if.c @@ -1671,7 +1671,7 @@ msgb_free(resp); } -static int dsp_alive_timer_cb(void *data) +static void dsp_alive_timer_cb(void *data) { struct oc2gl1_hdl *fl1h = data; struct gsm_bts_trx *trx = fl1h->phy_inst->trx; @@ -1706,7 +1706,7 @@ /* allocate new list of sent alarms */ alarm_sent = talloc_zero(fl1h, struct oml_alarm_list); if (!alarm_sent) - return -EIO; + return; alarm_sent->alarm_signal = S_NM_OML_BTS_DSP_ALIVE_ALARM; /* add alarm to sent list */ @@ -1722,14 +1722,14 @@ rc = l1if_req_compl(fl1h, msg, dsp_alive_compl_cb, NULL); if (rc < 0) { LOGP(DL1C, LOGL_FATAL, "Failed to send %s primitive\n", get_value_string(oc2gbts_sysprim_names, sys_prim->id)); - return -EIO; + return; } /* restart timer */ fl1h->hw_alive.dsp_alive_cnt = 0; osmo_timer_schedule(&fl1h->hw_alive.dsp_alive_timer, fl1h->hw_alive.dsp_alive_period, 0); - return 0; + return; } #endif @@ -1793,8 +1793,7 @@ } / * initialize DSP heart beat alive timer * / - fl1h->hw_alive.dsp_alive_timer.cb = dsp_alive_timer_cb; - fl1h->hw_alive.dsp_alive_timer.data = fl1h; + osmo_timer_setup(&fl1h->hw_alive.dsp_alive_timer, dsp_alive_timer_cb, fl1h); fl1h->hw_alive.dsp_alive_cnt = 0; fl1h->hw_alive.dsp_alive_period = pinst->u.oc2g.dsp_alive_period; osmo_timer_schedule(&fl1h->hw_alive.dsp_alive_timer, fl1h->hw_alive.dsp_alive_period, 0); */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17938 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6f5e976969af994011bc9282ede115606f0f0d20 Gerrit-Change-Number: 17938 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 Sat Apr 25 13:51:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 13:51:19 +0000 Subject: Change in osmo-bts[master]: oc2g: Fix mismatching signature in callback provided In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17939 ) Change subject: oc2g: Fix mismatching signature in callback provided ...................................................................... oc2g: Fix mismatching signature in callback provided Similar to what's done for lc15 in Id80d5a52cbccce54456205dec230a0b546b8b310. Change-Id: I06747d5992d09a506d26089391ef130418506333 --- M src/osmo-bts-oc2g/l1_if.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-oc2g/l1_if.c b/src/osmo-bts-oc2g/l1_if.c index 6b482b7..8e48674 100644 --- a/src/osmo-bts-oc2g/l1_if.c +++ b/src/osmo-bts-oc2g/l1_if.c @@ -1658,7 +1658,7 @@ /* TODO(oramadan) MERGE */ #ifdef MERGE_ME -static void dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) +static int dsp_alive_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp, void *data) { Oc2g_Prim_t *sysp = msgb_sysprim(resp); Oc2g_IsAliveCnf_t *sac = &sysp->u.isAliveCnf; @@ -1669,6 +1669,7 @@ get_value_string(oc2gbts_sysprim_names, sysp->id), sac->status, trx->nr); msgb_free(resp); + return 0; } static void dsp_alive_timer_cb(void *data) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17939 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I06747d5992d09a506d26089391ef130418506333 Gerrit-Change-Number: 17939 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 Sat Apr 25 13:56:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 13:56:20 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 ) Change subject: Add default APN for each EUA Type ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/4/ggsn/ggsn.c File ggsn/ggsn.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/4/ggsn/ggsn.c at 473 PS4, Line 473: default_apn_done: > as you can see I tried a few options here. [?] why not simply create a function "select_default_apn()" which returns the 'apn' pointer and hides all the selection logic? I guess you could also live without goto then as you can simply return early. https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/4/ggsn/ggsn_vty.c File ggsn/ggsn_vty.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/4/ggsn/ggsn_vty.c at 300 PS4, Line 300: "default-apnv6 NAME", > come to think of it now, [?] I agree the name is a bit odd, the dash would improve things. Ideally one would have "default-apn (v4|v6|v4v6) NAME" but of course that is not an option as it breaks compatibility with old configs that just state "default-apn" Maybe "default-apn NAME [(v4|v6|v4v6)]" would work. If the final argument is not specified, v4 is assumed as a default. This way it's backwards compatible. Same applies for "no default-apn [(v4|v6|v4v6)]". -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 Gerrit-PatchSet: 4 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 13:56:20 +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 Sat Apr 25 13:58:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 13:58:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong_with_ul_racap In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 ) Change subject: pcu: Introduce test TC_mo_ping_pong_with_ul_racap ...................................................................... Patch Set 4: (3 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935/4/library/RLCMAC_CSN1_Types.ttcn File library/RLCMAC_CSN1_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935/4/library/RLCMAC_CSN1_Types.ttcn at 678 PS4, Line 678: f_presece_bit_MultislotCap_GPRS f_preseNce ? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935/4/library/RLCMAC_CSN1_Types.ttcn at 684 PS4, Line 684: f_presece_bit_MultislotCap_EGPRS same here: presence? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935/4/library/RLCMAC_CSN1_Types.ttcn at 730 PS4, Line 730: f_presece_bit_MSRadioAccessCapabilityV and again... -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 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: I5026d8b78a3fb82093956b65989d18fa6f6d5424 Gerrit-Change-Number: 17935 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 13:58: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 Sat Apr 25 14:00:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:00:25 +0000 Subject: Change in pysim[master]: transport/__init.py__ add generic ATR hex read function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17934 ) Change subject: transport/__init.py__ add generic ATR hex read function ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/pysim/+/17934/1/pySim/transport/__init__.py File pySim/transport/__init__.py: https://gerrit.osmocom.org/c/pysim/+/17934/1/pySim/transport/__init__.py at 93 PS1, Line 93: p this change is not related to the ATR. It changes the output which breaks the test suite. If you want to add APDU debugging, please make it off by default and require the user to enable it explicitly by an argument or an environment variable. https://gerrit.osmocom.org/c/pysim/+/17934/1/pySim/transport/__init__.py at 108 PS1, Line 108: d so we add a new function but we don't use it anywhere? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17934 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id0e53ef50e32a8c3d2190581540b011eb89f8cc0 Gerrit-Change-Number: 17934 Gerrit-PatchSet: 1 Gerrit-Owner: guilly at gmail.com Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 14:00: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 Sat Apr 25 14:01:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:01:41 +0000 Subject: Change in osmo-bts[master]: dtx: add detection of AMR DTX frames for osmo-bts-trx In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17221 ) Change subject: dtx: add detection of AMR DTX frames for osmo-bts-trx ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5afe730fff2fa3199a5913b0de4f5c7b23a39f31 Gerrit-Change-Number: 17221 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 25 Apr 2020 14:01: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 Sat Apr 25 14:02:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:02:14 +0000 Subject: Change in osmo-bts[master]: measurement: remove unecessary is_amr_sid_update parameter In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17928 ) Change subject: measurement: remove unecessary is_amr_sid_update parameter ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17928 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I125d5ff592218a9e98130a6a7b6bbc6378ce4132 Gerrit-Change-Number: 17928 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 25 Apr 2020 14:02: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 Apr 25 14:02:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 25 Apr 2020 14:02:36 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 ) Change subject: Add default APN for each EUA Type ...................................................................... Patch Set 4: Code-Review-1 (3 comments) https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/4/ggsn/ggsn.c File ggsn/ggsn.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/4/ggsn/ggsn.c at 458 PS4, Line 458: if (pdp->eua.l < 2 || pdp->eua.v[0] != 0xf1) > taken from lib/in46_addr. [?] Don't play with eua fields directly, it's cumbersome and difficult to follow. Better move "(num_addr = in46a_from_eua(&pdp->eua, addr)" block from line 459 up here and then use that to decide the default apn. then: switch (num_addr) { case 2: ... v4v6 default ... case 1: if(in46a_is_v4(&addr[0]) ... v4 default ... else ... v6 default ... default: .... (check if in46a_from_eua can return 0 or negative and probably pdp reject here .... } https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/4/ggsn/ggsn.c at 486 PS4, Line 486: if (pdp->eua.l > 2) Also this needs to be moved up. https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/4/ggsn/ggsn_vty.c File ggsn/ggsn_vty.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/4/ggsn/ggsn_vty.c at 300 PS4, Line 300: "default-apnv6 NAME", > I agree the name is a bit odd, the dash would improve things. [?] Simply deprecated + redirect old default-apn NAME to be default-apn v4 NAME, and have the "default-apn (v4|v6|v4v6) NAME" that laforge suggested. deprecate + redirect is already supported by some macro in libosmocore and we use that in some projects. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 Gerrit-PatchSet: 4 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 14:02:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: keith Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Apr 25 14:03:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:03:06 +0000 Subject: Change in osmo-bts[master]: dtx: add detection of AMR DTX frames for osmo-bts-trx In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17221 ) Change subject: dtx: add detection of AMR DTX frames for osmo-bts-trx ...................................................................... dtx: add detection of AMR DTX frames for osmo-bts-trx Currently we do not detect any of the DTX frames (SID_FIRST, SID_UPDATE etc.) Detecting and tagging those frames as is_sub is important for measurement processing. Also the RTP marker bit must be set on each ONSET frame. - Add detection of DTX frames - Tag DTX frames as is_sub and set frame type to AMR_SID - Set RTP marker bit when ONSET frames are received Change-Id: I5afe730fff2fa3199a5913b0de4f5c7b23a39f31 Depends: libosmocore I2bbdb39ea20461ca08b2e6f1a33532cb55cd5195 Related: OS#2978 --- M include/osmo-bts/scheduler.h M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c M src/osmo-bts-trx/scheduler_trx.c 4 files changed, 107 insertions(+), 13 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/scheduler.h b/include/osmo-bts/scheduler.h index fed3f04..c026411 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -106,6 +106,7 @@ uint8_t ul_cmr; /* current uplink CMR index */ uint8_t dl_cmr; /* current downlink CMR index */ uint8_t amr_loop; /* if AMR loop is enabled */ + uint8_t amr_last_dtx; /* last received dtx frame type */ /* TCH/H */ uint8_t dl_ongoing_facch; /* FACCH/H on downlink */ diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index 201b48c..cfbe7f2 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -53,7 +53,8 @@ int _sched_compose_tch_ind(struct l1sched_trx *l1t, uint8_t tn, 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); + int16_t ta_offs_256bits, uint16_t ber10k, float rssi, + uint8_t is_sub); ubit_t *tx_idle_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, enum trx_chan_type chan, uint8_t bid, uint16_t *nbits); diff --git a/src/common/scheduler.c b/src/common/scheduler.c index fc4f11e..be3ae42 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -739,7 +739,8 @@ int _sched_compose_tch_ind(struct l1sched_trx *l1t, uint8_t tn, 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) + int16_t ta_offs_256bits, uint16_t ber10k, float rssi, + uint8_t is_sub) { struct msgb *msg; struct osmo_phsap_prim *l1sap; @@ -758,6 +759,7 @@ l1sap->u.tch.rssi = (int8_t) (rssi); l1sap->u.tch.ber10k = ber10k; l1sap->u.tch.ta_offs_256bits = ta_offs_256bits; + l1sap->u.tch.is_sub = is_sub & 1; msg->l2h = msgb_put(msg, tch_len); if (tch_len) diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index f17354a..8c3dd64 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -37,6 +37,8 @@ #include #include #include +#include + #include #include @@ -400,7 +402,7 @@ /* Note: RSSI 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, toa256, 10000, 0); + _sched_compose_tch_ind(l1t, tn, fn, chan, tch_data, len, toa256, 10000, 0, 0); } } @@ -1138,6 +1140,8 @@ get_lchan_by_chan_nr(l1t->trx, trx_chan_desc[chan].chan_nr | bi->tn); unsigned int fn_begin; uint16_t ber10k; + uint8_t is_sub = 0; + uint8_t ft; /* handle rach, if handover rach detection is turned on */ if (chan_state->ho_rach_detect == 1) @@ -1200,21 +1204,65 @@ * the first FN 4,13,21 defines that CMR is included in frame. * NOTE: A frame ends 7 FN after start. */ - rc = gsm0503_tch_afs_decode(tch_data + 2, *bursts_p, + + /* The AFS_ONSET frame itself does not result into an RTP frame + * since it only contains a recognition pattern that marks the + * end of the DTX interval. To mark the end of the DTX interval + * in the RTP stream as well, the voice frame after the + * AFS_ONSET frame is used. */ + if (chan_state->amr_last_dtx == AFS_ONSET) + lchan_set_marker(false, lchan); + + /* we store tch_data + 2 header bytes, the amr variable set to + * 2 will allow us to skip the first 2 bytes in case we did + * receive an FACCH frame instead of a voice frame (we do not + * know this before we actually decode the frame) */ + amr = 2; + rc = gsm0503_tch_afs_decode_dtx(tch_data + amr, *bursts_p, (((bi->fn + 26 - 7) % 26) >> 2) & 1, chan_state->codec, chan_state->codecs, &chan_state->ul_ft, - &chan_state->ul_cmr, &n_errors, &n_bits_total); + &chan_state->ul_cmr, &n_errors, &n_bits_total, &chan_state->amr_last_dtx); + + /* 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)); + is_sub = 1; + } + + /* The occurrence of the following frames indicates that we + * are either at the beginning or in the middle of a talk + * spurt. We update the SID status accordingly, but we do + * not want the marker to be set, since this must only + * happen when the talk spurt is over (see above) */ + switch (chan_state->amr_last_dtx) { + case AFS_SID_FIRST: + case AFS_SID_UPDATE: + case AFS_SID_UPDATE_CN: + lchan_set_marker(true, lchan); + lchan->rtp_tx_marker = false; + break; + } + if (rc) trx_loop_amr_input(l1t, trx_chan_desc[chan].chan_nr | bi->tn, chan_state, n_errors, n_bits_total); - amr = 2; /* we store tch_data + 2 header bytes */ /* only good speech frames get rtp header */ if (rc != GSM_MACBLOCK_LEN && rc >= 4) { + if (chan_state->amr_last_dtx == AMR_OTHER) { + ft = chan_state->codec[chan_state->ul_cmr]; + } else { + /* SID frames will always get Frame Type Index 8 (AMR_SID) */ + ft = AMR_SID; + } rc = osmo_amr_rtp_enc(tch_data, chan_state->codec[chan_state->ul_cmr], - chan_state->codec[chan_state->ul_ft], AMR_GOOD); + ft, AMR_GOOD); } + break; default: LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, @@ -1308,7 +1356,7 @@ 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, bi->toa256, ber10k, bi->rssi); + tch_data, rc, bi->toa256, ber10k, bi->rssi, is_sub); } /*! \brief a single TCH/H burst was received by the PHY, process it */ @@ -1336,6 +1384,8 @@ int fn_is_odd = (((bi->fn + 26 - 10) % 26) >> 2) & 1; unsigned int fn_begin; uint16_t ber10k; + uint8_t is_sub = 0; + uint8_t ft; /* handle RACH, if handover RACH detection is turned on */ if (chan_state->ho_rach_detect == 1) @@ -1409,21 +1459,61 @@ * in frame, the first FN 4,13,21 or 5,14,22 defines that CMR * is included in frame. */ - rc = gsm0503_tch_ahs_decode(tch_data + 2, *bursts_p, + + /* See comment in function rx_tchf_fn() */ + switch (chan_state->amr_last_dtx) { + case AHS_ONSET: + case AHS_SID_FIRST_INH: + case AHS_SID_UPDATE_INH: + lchan_set_marker(false, lchan); + break; + } + + /* See comment in function rx_tchf_fn() */ + amr = 2; + rc = gsm0503_tch_ahs_decode_dtx(tch_data + amr, *bursts_p, fn_is_odd, fn_is_odd, chan_state->codec, chan_state->codecs, &chan_state->ul_ft, - &chan_state->ul_cmr, &n_errors, &n_bits_total); + &chan_state->ul_cmr, &n_errors, &n_bits_total, &chan_state->amr_last_dtx); + + /* 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)); + is_sub = 1; + } + + /* See comment in function rx_tchf_fn() */ + switch (chan_state->amr_last_dtx) { + case AHS_SID_FIRST_P1: + case AHS_SID_FIRST_P2: + case AHS_SID_UPDATE: + case AHS_SID_UPDATE_CN: + lchan_set_marker(true, lchan); + lchan->rtp_tx_marker = false; + break; + } + if (rc) trx_loop_amr_input(l1t, trx_chan_desc[chan].chan_nr | bi->tn, chan_state, n_errors, n_bits_total); - amr = 2; /* we store tch_data + 2 two */ + /* only good speech frames get rtp header */ if (rc != GSM_MACBLOCK_LEN && rc >= 4) { + if (chan_state->amr_last_dtx == AMR_OTHER) { + ft = chan_state->codec[chan_state->ul_cmr]; + } else { + /* SID frames will always get Frame Type Index 8 (AMR_SID) */ + ft = AMR_SID; + } rc = osmo_amr_rtp_enc(tch_data, chan_state->codec[chan_state->ul_cmr], - chan_state->codec[chan_state->ul_ft], AMR_GOOD); + ft, AMR_GOOD); } + break; default: LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, @@ -1529,7 +1619,7 @@ else fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_H1); return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, chan, - tch_data, rc, bi->toa256, ber10k, bi->rssi); + tch_data, rc, bi->toa256, ber10k, bi->rssi, is_sub); } /* schedule all frames of all TRX for given FN */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5afe730fff2fa3199a5913b0de4f5c7b23a39f31 Gerrit-Change-Number: 17221 Gerrit-PatchSet: 7 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 Sat Apr 25 14:03:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:03:07 +0000 Subject: Change in osmo-bts[master]: measurement: remove unecessary is_amr_sid_update parameter In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17928 ) Change subject: measurement: remove unecessary is_amr_sid_update parameter ...................................................................... measurement: remove unecessary is_amr_sid_update parameter The function ts45008_83_is_sub rougly decides if a frame is a SUB frame or not. This works by checking the frame number against against lookup tables. This works fine for codecs where the occurrence of SUB frames is fixed. However for AMR this is not the case as the DTX periods are dynamic. Here it is the responsibility of the lower layers (phy, frame decoding) to tag SUB frames early since making the decision later based on the frame number is not possible. The parameter is_amr_sid_update was probably added as a placeholder. It is set to falls by the callers of the function. Lets remove this parameter as a late decision if an AMR frame is a SUB frame will never work. Change-Id: I125d5ff592218a9e98130a6a7b6bbc6378ce4132 Related: OS#2978 --- M include/osmo-bts/measurement.h M src/common/measurement.c M tests/meas/meas_test.c 3 files changed, 4 insertions(+), 8 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/measurement.h b/include/osmo-bts/measurement.h index 4f04ffa..8e91c33 100644 --- a/include/osmo-bts/measurement.h +++ b/include/osmo-bts/measurement.h @@ -12,7 +12,7 @@ void lchan_meas_reset(struct gsm_lchan *lchan); -bool ts45008_83_is_sub(struct gsm_lchan *lchan, uint32_t fn, bool is_amr_sid_update); +bool ts45008_83_is_sub(struct gsm_lchan *lchan, uint32_t fn); int is_meas_complete(struct gsm_lchan *lchan, uint32_t fn); diff --git a/src/common/measurement.c b/src/common/measurement.c index b883d51..c5cbbb0 100644 --- a/src/common/measurement.c +++ b/src/common/measurement.c @@ -45,7 +45,7 @@ /* Decide if a given frame number is part of the "-SUB" measurements (true) or not (false) * (this function is only used internally, it is public to call it from unit-tests) */ -bool ts45008_83_is_sub(struct gsm_lchan *lchan, uint32_t fn, bool is_amr_sid_update) +bool ts45008_83_is_sub(struct gsm_lchan *lchan, uint32_t fn) { uint32_t fn104 = fn % 104; @@ -66,8 +66,6 @@ case GSM48_CMODE_SPEECH_AMR: if (trx_sched_is_sacch_fn(lchan->ts, fn, true)) return true; - if (is_amr_sid_update) - return true; break; default: LOGPFN(DMEAS, LOGL_ERROR, fn, "%s: Unsupported lchan->tch_mode %u\n", @@ -96,8 +94,6 @@ case GSM48_CMODE_SPEECH_AMR: if (trx_sched_is_sacch_fn(lchan->ts, fn, true)) return true; - if (is_amr_sid_update) - return true; break; case GSM48_CMODE_SIGN: /* No DTX allowed; SUB=FULL, therefore measurements at all frame numbers are @@ -343,7 +339,7 @@ /* We expect the lower layers to mark AMR SID_UPDATE frames already as such. * In this function, we only deal with the common logic as per the TS 45.008 tables */ if (!ulm->is_sub) - ulm->is_sub = ts45008_83_is_sub(lchan, fn, false); + ulm->is_sub = ts45008_83_is_sub(lchan, fn); DEBUGPFN(DMEAS, fn, "%s adding measurement (is_sub=%u), num_ul_meas=%d, fn_mod=%u\n", gsm_lchan_name(lchan), ulm->is_sub, lchan->meas.num_ul_meas, fn_mod); diff --git a/tests/meas/meas_test.c b/tests/meas/meas_test.c index c8f06b6..f414b60 100644 --- a/tests/meas/meas_test.c +++ b/tests/meas/meas_test.c @@ -469,7 +469,7 @@ /* Walk trough the first 100 intervals and check for unexpected * results (false positive and false negative) */ for (i = 0; i < 104 * 100; i++) { - rc = ts45008_83_is_sub(lchan, i, false); + rc = ts45008_83_is_sub(lchan, i); if (rc) { if (!test_ts45008_83_is_sub_is_sacch(i) && !test_ts45008_83_is_sub_is_sub(i, ss)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17928 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I125d5ff592218a9e98130a6a7b6bbc6378ce4132 Gerrit-Change-Number: 17928 Gerrit-PatchSet: 4 Gerrit-Owner: dexter 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 Apr 25 14:04:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:04:33 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: clarify error message about unexpected MO/MT SMS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17870 ) Change subject: SMS-over-GSUP: clarify error message about unexpected MO/MT SMS ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17870 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I34b25764f9ce9b09ccd28cf23fea01028d0828e0 Gerrit-Change-Number: 17870 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 25 Apr 2020 14:04: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 Sat Apr 25 14:05:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:05:10 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: move net->sms_over_gsup check to gsm411_gsup_rx() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17871 ) Change subject: SMS-over-GSUP: move net->sms_over_gsup check to gsm411_gsup_rx() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I89988b7148b164af304ecae1f53b74f322fdc7bd Gerrit-Change-Number: 17871 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 14:05: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 Sat Apr 25 14:05:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:05:23 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: respond with error if net->sms_over_gsup is false In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17872 ) Change subject: SMS-over-GSUP: respond with error if net->sms_over_gsup is false ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17872 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If14f8a394e691f86e0acbffb283c3862fe62ffd2 Gerrit-Change-Number: 17872 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 14:05: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 Apr 25 14:05:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:05:34 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: notify sender about unhandled GSUP messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17873 ) Change subject: SMS-over-GSUP: notify sender about unhandled GSUP messages ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I7970349bd9d5c56a64c409e619e8b581682fef0b Gerrit-Change-Number: 17873 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 14:05: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 Apr 25 14:05:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:05:51 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: notify sender about malformed GSUP messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17874 ) Change subject: SMS-over-GSUP: notify sender about malformed GSUP messages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I27f00e69ff045cbf641ef21adf44fcd55cb8f889 Gerrit-Change-Number: 17874 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 14: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 Sat Apr 25 14:05:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:05:55 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: notify sender about unhandled GSUP messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17873 ) Change subject: SMS-over-GSUP: notify sender about unhandled GSUP messages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I7970349bd9d5c56a64c409e619e8b581682fef0b Gerrit-Change-Number: 17873 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 14: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 Sat Apr 25 14:07:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:07:08 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: notify sender in case of RPL delivery failure In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17875 ) Change subject: SMS-over-GSUP: notify sender in case of RPL delivery failure ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/17875/1/src/libmsc/gsm_04_11_gsup.c File src/libmsc/gsm_04_11_gsup.c: https://gerrit.osmocom.org/c/osmo-msc/+/17875/1/src/libmsc/gsm_04_11_gsup.c at 264 PS1, Line 264: GMM_CAUSE_NET_FAIL is it a network failure if the MT-SMS could not be delivered? It could also be a MS/UE failure, a radio link failure, ... -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8436601c4314395e28829960dc753778c37b1125 Gerrit-Change-Number: 17875 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 14:07: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 Sat Apr 25 14:07:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:07:41 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: notify sender if no transaction found In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17876 ) Change subject: SMS-over-GSUP: notify sender if no transaction found ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/17876/1/src/libmsc/gsm_04_11_gsup.c File src/libmsc/gsm_04_11_gsup.c: https://gerrit.osmocom.org/c/osmo-msc/+/17876/1/src/libmsc/gsm_04_11_gsup.c at 164 PS1, Line 164: GMM_CAUSE_NO_PDP_ACTIVATED are you sure a PDP context related error is the right one to return here? -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I4f564610fadbfdbbc33de267786534a5405319f6 Gerrit-Change-Number: 17876 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 14:07: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 Sat Apr 25 14:12:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:12:24 +0000 Subject: Change in pysim[master]: pySim-read.py: Add ability to read by AID with correct CLA, P1 and P2... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17880 ) Change subject: pySim-read.py: Add ability to read by AID with correct CLA, P1 and P2 bytes ...................................................................... Patch Set 1: did you actually encounter any specific bug/problem before this patch? In general, I'm not aware of any USIM/ISIM specific requirements for the CLAss byte. IMHO, the underlying question is whether the card is a classic SIM (0xA0) or an UICC (0x00). But an UICC can have various other Applications, not just USIM/ISIM. Also, why reset the card after changing the class byte? I think this needs more explanation in commit log and/or comments. The link you quote is some APDU trace and not a specification reference. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 Gerrit-Change-Number: 17880 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 14:12: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 Sat Apr 25 14:13:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:13:27 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse ePDG Identifier from hex string In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17883 ) Change subject: utils.py: Add helper method to parse ePDG Identifier from hex string ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py at 365 PS1, Line 365: if o shouldn't we use some generic TLV parser utility code rather than hand-coding this here? https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py at 375 PS1, Line 375: # maybe implent that TODO first? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 Gerrit-Change-Number: 17883 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 14:13: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 Sat Apr 25 14:14:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:14:14 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse and print Service Table In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17896 ) Change subject: utils.py: Add helper method to parse and print Service Table ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17896 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie1e82e07ead2e28314a5794661e6b2ced0acd72a Gerrit-Change-Number: 17896 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 14:14: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 Apr 25 14:14:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:14:34 +0000 Subject: Change in pysim[master]: Use helper method to print available service in EF.SST In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17897 ) Change subject: Use helper method to print available service in EF.SST ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17897 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I375475e9f7210dae4e8da7258d6824dc2d54cf4c Gerrit-Change-Number: 17897 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 14:14: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 Apr 25 14:14:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:14:47 +0000 Subject: Change in pysim[master]: Remove redundant functions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17898 ) Change subject: Remove redundant functions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2dfb5b662b8a4f351e4a629040b405c182e58e8d Gerrit-Change-Number: 17898 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 14:14: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 Apr 25 14:15:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:15:09 +0000 Subject: Change in pysim[master]: Enable parsing of USIM Service table (UST) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17879 ) Change subject: Enable parsing of USIM Service table (UST) ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 Gerrit-Change-Number: 17879 Gerrit-PatchSet: 7 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 25 Apr 2020 14:15: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 Sat Apr 25 14:15:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:15:27 +0000 Subject: Change in pysim[master]: Define mapping between ISIM Service Number and its description In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17881 ) Change subject: Define mapping between ISIM Service Number and its description ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iad51d0804259df47729308b461062f794b135e66 Gerrit-Change-Number: 17881 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 25 Apr 2020 14:15: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 Sat Apr 25 14:15:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:15:39 +0000 Subject: Change in pysim[master]: Extend parsing and printing of Service table to ISIM In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17899 ) Change subject: Extend parsing and printing of Service table to ISIM ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7657432df76e9de5e4e5fdecfd717d8363de8270 Gerrit-Change-Number: 17899 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 14:15: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 Apr 25 14:16:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 14:16:13 +0000 Subject: Change in pysim[master]: Enable parsing of ISIM Service table (IST) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17882 ) Change subject: Enable parsing of ISIM Service table (IST) ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3f0a7227360b72a707dc1bcc4cc9c8a4ec7ad2b2 Gerrit-Change-Number: 17882 Gerrit-PatchSet: 4 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 25 Apr 2020 14:16: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 Sat Apr 25 14:21:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 25 Apr 2020 14:21:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong_with_ul_racap In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 to look at the new patch set (#5). Change subject: pcu: Introduce test TC_mo_ping_pong_with_ul_racap ...................................................................... pcu: Introduce test TC_mo_ping_pong_with_ul_racap Test sending MS RA capabilities through Packet Resource Request to update GPRS multislot class. EGPRS multislot will come in a later commit. Change-Id: I5026d8b78a3fb82093956b65989d18fa6f6d5424 --- M bsc-nat/gen_links.sh M library/L3_Templates.ttcn M library/RLCMAC_CSN1_Types.ttcn M library/RLCMAC_Types.ttcn M mme/gen_links.sh M msc/gen_links.sh M pcu/PCU_Tests_RAW.ttcn 7 files changed, 166 insertions(+), 41 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/35/17935/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 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: I5026d8b78a3fb82093956b65989d18fa6f6d5424 Gerrit-Change-Number: 17935 Gerrit-PatchSet: 5 Gerrit-Owner: pespin 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 Sat Apr 25 14:23:26 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 25 Apr 2020 14:23:26 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: notify sender if no transaction found In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17876 ) Change subject: SMS-over-GSUP: notify sender if no transaction found ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/17876/1/src/libmsc/gsm_04_11_gsup.c File src/libmsc/gsm_04_11_gsup.c: https://gerrit.osmocom.org/c/osmo-msc/+/17876/1/src/libmsc/gsm_04_11_gsup.c at 164 PS1, Line 164: GMM_CAUSE_NO_PDP_ACTIVATED > are you sure a PDP context related error is the right one to return here? Well, we're using GMM specific cause values (see enum gsm48_gmm_cause) for something that has noting to do with GPRS. This cause value is like -ENODEV in the context of SMS transactions. I could not find anything better. But wait, I just realized that we can use OSMO_GSUP_SM_RP_CAUSE_IE and a more concrete cause instead! -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I4f564610fadbfdbbc33de267786534a5405319f6 Gerrit-Change-Number: 17876 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 25 Apr 2020 14:23:26 +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 Sat Apr 25 14:23:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 25 Apr 2020 14:23:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/Osmocom_Gb_Types.ttcn: Fix typo presece->presence in function... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17942 ) Change subject: library/Osmocom_Gb_Types.ttcn: Fix typo presece->presence in function name ...................................................................... library/Osmocom_Gb_Types.ttcn: Fix typo presece->presence in function name Change-Id: I50f1c23e83e9b87de09844226b110d2c48b7cfdb --- M library/Osmocom_Gb_Types.ttcn 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/42/17942/1 diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn index 9189b3e..9a7c8d1 100644 --- a/library/Osmocom_Gb_Types.ttcn +++ b/library/Osmocom_Gb_Types.ttcn @@ -1091,13 +1091,13 @@ } } - private function f_presece_bit_MultislotCap_GPRS_BSSGP(template (omit) MultislotCap_GPRS_BSSGP mscap_gprs) return BIT1 { + private function f_presence_bit_MultislotCap_GPRS_BSSGP(template (omit) MultislotCap_GPRS_BSSGP mscap_gprs) return BIT1 { if (istemplatekind(mscap_gprs, "omit")) { return '0'B; } return '1'B; } - private function f_presece_bit_MultislotCap_EGPRS_BSSGP(template (omit) MultislotCap_EGPRS_BSSGP mscap_egprs) return BIT1 { + private function f_presence_bit_MultislotCap_EGPRS_BSSGP(template (omit) MultislotCap_EGPRS_BSSGP mscap_egprs) return BIT1 { if (istemplatekind(mscap_egprs, "omit")) { return '0'B; } @@ -1121,14 +1121,14 @@ multislotcap := { presenceBitHscsd := '0'B, hscsdmultislotclass := omit, - presenceBitGprs := f_presece_bit_MultislotCap_GPRS_BSSGP(mscap_gprs), + presenceBitGprs := f_presence_bit_MultislotCap_GPRS_BSSGP(mscap_gprs), gprsmultislot := mscap_gprs, presenceBitSms := '0'B, multislotCap_SMS := omit, multislotCapAdditionsAfterRel97 := { presenceBitEcsdmulti := '0'B, ecsdmultislotclass := omit, - presenceBitEgprsmulti := f_presece_bit_MultislotCap_EGPRS_BSSGP(mscap_egprs), + presenceBitEgprsmulti := f_presence_bit_MultislotCap_EGPRS_BSSGP(mscap_egprs), multislotCap_EGPRS := mscap_egprs, presenceBitDtmGprsmulti := '0'B, multislotCapdtmgprsmultislotsubclass := omit -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17942 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: I50f1c23e83e9b87de09844226b110d2c48b7cfdb Gerrit-Change-Number: 17942 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 Sat Apr 25 17:08:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 17:08:51 +0000 Subject: Change in osmocom-bb[master]: firmware/rfch.[ch]: Document functions + constify input arguments 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/+/17932 to look at the new patch set (#2). Change subject: firmware/rfch.[ch]: Document functions + constify input arguments ...................................................................... firmware/rfch.[ch]: Document functions + constify input arguments Change-Id: I16d5190b3cdc997c5609b52d41203f10264b017c --- M src/target/firmware/include/layer1/rfch.h M src/target/firmware/layer1/rfch.c 2 files changed, 16 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/32/17932/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17932 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I16d5190b3cdc997c5609b52d41203f10264b017c Gerrit-Change-Number: 17932 Gerrit-PatchSet: 2 Gerrit-Owner: laforge 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 Apr 25 17:09:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 17:09:20 +0000 Subject: Change in osmocom-bb[master]: firmware/rfch.[ch]: Document functions + constify input arguments In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17932 ) Change subject: firmware/rfch.[ch]: Document functions + constify input arguments ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17932 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I16d5190b3cdc997c5609b52d41203f10264b017c Gerrit-Change-Number: 17932 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 25 Apr 2020 17:09: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 Apr 25 17:49:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 25 Apr 2020 17:49:11 +0000 Subject: Change in osmocom-bb[master]: firmware/rfch.[ch]: Document functions + constify input arguments In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17932 ) Change subject: firmware/rfch.[ch]: Document functions + constify input arguments ...................................................................... firmware/rfch.[ch]: Document functions + constify input arguments Change-Id: I16d5190b3cdc997c5609b52d41203f10264b017c --- M src/target/firmware/include/layer1/rfch.h M src/target/firmware/layer1/rfch.c 2 files changed, 16 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/target/firmware/include/layer1/rfch.h b/src/target/firmware/include/layer1/rfch.h index 344523c..0c4f9a0 100644 --- a/src/target/firmware/include/layer1/rfch.h +++ b/src/target/firmware/include/layer1/rfch.h @@ -3,7 +3,7 @@ struct gsm_time; -void rfch_get_params(struct gsm_time *t, +void rfch_get_params(const struct gsm_time *t, uint16_t *arfcn_p, uint8_t *tsc_p, uint8_t *tn_p); #endif /* _L1_RFCH_H */ diff --git a/src/target/firmware/layer1/rfch.c b/src/target/firmware/layer1/rfch.c index d0818d0..3c4e676 100644 --- a/src/target/firmware/layer1/rfch.c +++ b/src/target/firmware/layer1/rfch.c @@ -82,9 +82,16 @@ return x; } -static int16_t rfch_hop_seq_gen(struct gsm_time *t, +/*! Hopping sequence generator. + * \param[in] t GSM time (frame number) + * \param[in] hsn Hopping Sequence Number + * \param[in] maio Mobile Allocation Index OFfset + * \param[in] n number of entries in mobile allocation (arfcn table) + * \param[in] arfcn_tbl Array of ARFCN representing the mobile allocation + * \returns ARFCN to use for given input parameters at time 't' or MAI if arfcn_tbl == NULL */ +static int16_t rfch_hop_seq_gen(const struct gsm_time *t, uint8_t hsn, uint8_t maio, - uint8_t n, uint16_t *arfcn_tbl) + uint8_t n, const uint16_t *arfcn_tbl) { int mai; @@ -114,8 +121,12 @@ } -/* RF Channel parameters */ -void rfch_get_params(struct gsm_time *t, +/*! Get RF Channel parameters at a given GSM time (frame number) + * \param[in] t GSM time for which to obtain parameters + * \param[out] arfcn_p ARFCN to use at time t + * \oaram[out] tsc_p Training sequence to use at time t + * \param[out] tn_p Timeslot Number to use at time t */ +void rfch_get_params(const struct gsm_time *t, uint16_t *arfcn_p, uint8_t *tsc_p, uint8_t *tn_p) { if (l1s.dedicated.type == GSM_DCHAN_NONE) { -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17932 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I16d5190b3cdc997c5609b52d41203f10264b017c Gerrit-Change-Number: 17932 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Apr 26 01:45:51 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 01:45:51 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea4e7eee3ee4_248e2ab4e597c60064882b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 763s] | configure:13887: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 763s] | conftest.c:46:6: error: #error TLS bug present! [ 763s] | #error TLS bug present! [ 763s] | ^~~~~ [ 763s] | configure:13887: $? = 1 [ 763s] | configure: failed program was: [ 763s] | | /* confdefs.h */ [ 763s] | | #define PACKAGE_NAME "libosmocore" [ 763s] | | #define PACKAGE_TARNAME "libosmocore" [ 763s] | | #define PACKAGE_VERSION "1.3.0.71-1f48b" [ 763s] | | #define PACKAGE_STRING "libosmocore 1.3.0.71-1f48b" [ 763s] | | #define PACKAGE_BUGREPORT "openbsc at lists.osmocom.org" [ 763s] | | #define PACKAGE_URL "" [ 763s] | | #define PACKAGE "libosmocore" [ 763s] | | #define VERSION "1.3.0.71-1f48b" [ 763s] | | #define STDC_HEADERS 1 [ 763s] | | #define HAVE_SYS_TYPES_H 1 [ 763s] | | #define HAVE_SYS_STAT_H 1 [ 763s] | | #define HAVE_STDLIB_H 1 [ 763s] | | #define HAVE_STRING_H 1 [ 763s] | | #define HAVE_MEMORY_H 1 [ 763s] | | #define HAVE_STRINGS_H 1 [ 763s] | | #define HAVE_INTTYPES_H 1 [ 766s] | | #define HAVE_STDINT[ 734.293711] sysrq: SysRq : Power Off [ 766s] [ 734.295818] reboot: Power down [ 766s] ### VM INTERACTION END ### [ 766s] [ 766s] armbuild14 failed "build libosmocore_1.3.0.71.1f48b.dsc" at Sun Apr 26 01:45:46 UTC 2020. [ 766s] -- 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 Apr 26 01:59:58 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sun, 26 Apr 2020 01:59:58 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 to look at the new patch set (#5). Change subject: Add default APN for each EUA Type ...................................................................... Add default APN for each EUA Type MS may request an unknown APN. In this case we will use the APN configured in the vty as default-apn but if the type support does not match the request we will fail. The commit adds two more vty commands to configure a default vpn for v6 and for v4v6 Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Fixes: OS#4511 --- M ggsn/ggsn.c M ggsn/ggsn.h M ggsn/ggsn_vty.c 3 files changed, 110 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/41/17941/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 Gerrit-PatchSet: 5 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Apr 26 01:59:52 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 01:59:52 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5ea4eb1e69507_248e2ab4e597c600651188@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_9.0/i586 Package network:osmocom:latest/osmo-uecups failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 116s] ^~~~~~~~~~~~~~~~~~~ [ 116s] main.c: In function 'main': [ 116s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 116s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 116s] ^~~~~~~~~~~~~~~~~~~ [ 116s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 116s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 116s] ^ [ 116s] cc1: some warnings being treated as errors [ 116s] Makefile:469: recipe for target 'main.o' failed [ 116s] make[3]: *** [main.o] Error 1 [ 116s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 116s] Makefile:402: recipe for target 'all-recursive' failed [ 116s] make[2]: *** [all-recursive] Error 1 [ 116s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 116s] Makefile:349: recipe for target 'all' failed [ 116s] make[1]: *** [all] Error 2 [ 116s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 116s] dh_auto_build: make -j1 returned exit code 2 [ 116s] debian/rules:45: recipe for target 'build' failed [ 116s] make: *** [build] Error 2 [ 116s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 116s] ### VM INTERACTION START ### [ 119s] [ 111.896617] sysrq: SysRq : Power Off [ 119s] [ 111.902831] reboot: Power down [ 119s] ### VM INTERACTION END ### [ 119s] [ 119s] goat07 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 01:59:45 UTC 2020. [ 119s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 01:59:52 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 01:59:52 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5ea4eb1eb21e3_248e2ab4e597c60065121b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_8.0/i586 Package network:osmocom:latest/osmo-uecups failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 113s] ^ [ 113s] main.c: In function 'main': [ 113s] main.c:776:2: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 113s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 113s] ^ [ 113s] main.c:776:21: warning: assignment makes pointer from integer without a cast [ 113s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 113s] ^ [ 113s] cc1: some warnings being treated as errors [ 113s] Makefile:457: recipe for target 'main.o' failed [ 113s] make[3]: *** [main.o] Error 1 [ 113s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 113s] Makefile:390: recipe for target 'all-recursive' failed [ 113s] make[2]: *** [all-recursive] Error 1 [ 113s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 113s] Makefile:336: recipe for target 'all' failed [ 113s] make[1]: *** [all] Error 2 [ 113s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 113s] dh_auto_build: make -j1 returned exit code 2 [ 113s] debian/rules:45: recipe for target 'build' failed [ 113s] make: *** [build] Error 2 [ 113s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 113s] ### VM INTERACTION START ### [ 114s] Powering off. [ 114s] [ 108.131001] reboot: Power down [ 114s] ### VM INTERACTION END ### [ 114s] [ 114s] goat17 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 01:59:34 UTC 2020. [ 114s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:01:00 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:01:00 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5ea4eb766aa04_248e2ab4e597c6006517ea@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/xUbuntu_18.04/i586 Package network:osmocom:latest/osmo-uecups failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 177s] main.c: In function 'main': [ 177s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 177s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 177s] ^~~~~~~~~~~~~~~~~~~ [ 177s] osmo_timerfd_setup [ 177s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 177s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 177s] ^ [ 177s] cc1: some warnings being treated as errors [ 177s] Makefile:469: recipe for target 'main.o' failed [ 177s] make[3]: *** [main.o] Error 1 [ 177s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 177s] Makefile:402: recipe for target 'all-recursive' failed [ 177s] make[2]: *** [all-recursive] Error 1 [ 177s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 177s] Makefile:349: recipe for target 'all' failed [ 177s] make[1]: *** [all] Error 2 [ 177s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 177s] dh_auto_build: make -j1 returned exit code 2 [ 177s] debian/rules:45: recipe for target 'build' failed [ 177s] make: *** [build] Error 2 [ 177s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 177s] ### VM INTERACTION START ### [ 180s] [ 173.188725] sysrq: SysRq : Power Off [ 180s] [ 173.194522] reboot: Power down [ 180s] ### VM INTERACTION END ### [ 180s] [ 180s] goat09 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:00:59 UTC 2020. [ 180s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:01:34 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:01:34 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in xUbuntu_16.04/x86_64 In-Reply-To: References: Message-ID: <5ea4eb95e65c6_248e2ab4e597c60065198f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/xUbuntu_16.04/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in xUbuntu_16.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 128s] ^ [ 128s] main.c: In function 'main': [ 128s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 128s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 128s] ^ [ 128s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 128s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 128s] ^ [ 128s] cc1: some warnings being treated as errors [ 128s] Makefile:469: recipe for target 'main.o' failed [ 128s] make[3]: *** [main.o] Error 1 [ 128s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 128s] Makefile:402: recipe for target 'all-recursive' failed [ 128s] make[2]: *** [all-recursive] Error 1 [ 128s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 128s] Makefile:349: recipe for target 'all' failed [ 128s] make[1]: *** [all] Error 2 [ 128s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 128s] dh_auto_build: make -j1 returned exit code 2 [ 128s] debian/rules:45: recipe for target 'build' failed [ 128s] make: *** [build] Error 2 [ 128s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 128s] ### VM INTERACTION START ### [ 131s] [ 123.441143] sysrq: SysRq : Power Off [ 131s] [ 123.444169] reboot: Power down [ 131s] ### VM INTERACTION END ### [ 131s] [ 131s] sheep87 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:01:24 UTC 2020. [ 131s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:01:35 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:01:35 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in xUbuntu_16.04/i586 In-Reply-To: References: Message-ID: <5ea4eb97c1ee7_248e2ab4e597c60065202e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/xUbuntu_16.04/i586 Package network:osmocom:latest/osmo-uecups failed to build in xUbuntu_16.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 212s] ^ [ 212s] main.c: In function 'main': [ 212s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 212s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 212s] ^ [ 212s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 212s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 212s] ^ [ 212s] cc1: some warnings being treated as errors [ 212s] Makefile:469: recipe for target 'main.o' failed [ 212s] make[3]: *** [main.o] Error 1 [ 212s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 212s] Makefile:402: recipe for target 'all-recursive' failed [ 212s] make[2]: *** [all-recursive] Error 1 [ 212s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 212s] Makefile:349: recipe for target 'all' failed [ 212s] make[1]: *** [all] Error 2 [ 212s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 212s] dh_auto_build: make -j1 returned exit code 2 [ 212s] debian/rules:45: recipe for target 'build' failed [ 212s] make: *** [build] Error 2 [ 212s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 212s] ### VM INTERACTION START ### [ 216s] [ 181.318293] sysrq: SysRq : Power Off [ 216s] [ 181.344182] reboot: Power down [ 216s] ### VM INTERACTION END ### [ 216s] [ 216s] cloud116 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:01:30 UTC 2020. [ 216s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:03:17 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:03:17 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5ea4ebed3d98f_248e2ab4e597c600652423@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_9.0/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 175s] ^~~~~~~~~~~~~~~~~~~ [ 175s] main.c: In function 'main': [ 175s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 175s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 175s] ^~~~~~~~~~~~~~~~~~~ [ 175s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 175s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 175s] ^ [ 175s] cc1: some warnings being treated as errors [ 175s] Makefile:469: recipe for target 'main.o' failed [ 175s] make[3]: *** [main.o] Error 1 [ 175s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 175s] Makefile:402: recipe for target 'all-recursive' failed [ 175s] make[2]: *** [all-recursive] Error 1 [ 175s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 175s] Makefile:349: recipe for target 'all' failed [ 175s] make[1]: *** [all] Error 2 [ 175s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 175s] dh_auto_build: make -j1 returned exit code 2 [ 175s] debian/rules:45: recipe for target 'build' failed [ 175s] make: *** [build] Error 2 [ 175s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 175s] ### VM INTERACTION START ### [ 178s] [ 167.924408] sysrq: SysRq : Power Off [ 178s] [ 167.929501] reboot: Power down [ 178s] ### VM INTERACTION END ### [ 178s] [ 178s] lamb18 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:03:15 UTC 2020. [ 178s] -- 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 Apr 26 02:03:34 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sun, 26 Apr 2020 02:03:34 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 ) Change subject: Add default APN for each EUA Type ...................................................................... Patch Set 5: Thanks for the code review! I have implemented as suggested, but on doing that I realise that an APN can have more than one type-support, so I'm pretty sure that this entire patch is not necessary. Unless you can think of a reason for it, I'll abandon it. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 Gerrit-PatchSet: 5 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 26 Apr 2020 02:03:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Apr 26 02:03:34 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:03:34 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5ea4ec0fe03f8_248e2ab4e597c6006525b5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_8.0/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 206s] ^ [ 206s] main.c: In function 'main': [ 206s] main.c:776:2: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 206s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 206s] ^ [ 206s] main.c:776:21: warning: assignment makes pointer from integer without a cast [ 206s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 206s] ^ [ 206s] cc1: some warnings being treated as errors [ 206s] Makefile:457: recipe for target 'main.o' failed [ 206s] make[3]: *** [main.o] Error 1 [ 206s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 206s] Makefile:390: recipe for target 'all-recursive' failed [ 206s] make[2]: *** [all-recursive] Error 1 [ 206s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 206s] Makefile:336: recipe for target 'all' failed [ 206s] make[1]: *** [all] Error 2 [ 206s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 206s] dh_auto_build: make -j1 returned exit code 2 [ 206s] debian/rules:45: recipe for target 'build' failed [ 206s] make: *** [build] Error 2 [ 206s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 206s] ### VM INTERACTION START ### [ 207s] Powering off. [ 207s] [ 191.714604] reboot: Power down [ 207s] ### VM INTERACTION END ### [ 207s] [ 207s] lamb62 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:03:25 UTC 2020. [ 207s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:03:34 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:03:34 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in xUbuntu_19.04/i586 In-Reply-To: References: Message-ID: <5ea4ec111b1cd_248e2ab4e597c6006526cb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/xUbuntu_19.04/i586 Package network:osmocom:latest/osmo-uecups failed to build in xUbuntu_19.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 286s] main.c:448:7: error: implicit declaration of function 'osmo_system_nowait2'; did you mean 'osmo_system_nowait'? [-Werror=implicit-function-declaration] [ 286s] rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); [ 286s] ^~~~~~~~~~~~~~~~~~~ [ 286s] osmo_system_nowait [ 286s] main.c: In function 'main': [ 286s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 286s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 286s] ^~~~~~~~~~~~~~~~~~~ [ 286s] osmo_timerfd_setup [ 286s] main.c:776:21: warning: assignment to 'struct osmo_signalfd *' from 'int' makes pointer from integer without a cast [-Wint-conversion] [ 286s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 286s] ^ [ 286s] cc1: some warnings being treated as errors [ 286s] make[3]: *** [Makefile:479: main.o] Error 1 [ 286s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 286s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 286s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 286s] make[1]: *** [Makefile:349: all] Error 2 [ 286s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 286s] dh_auto_build: make -j1 returned exit code 2 [ 286s] make: *** [debian/rules:45: build] Error 2 [ 286s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 286s] ### VM INTERACTION START ### [ 289s] [ 275.901918] sysrq: SysRq : Power Off [ 289s] [ 275.906015] reboot: Power down [ 289s] ### VM INTERACTION END ### [ 289s] [ 289s] lamb18 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:03:26 UTC 2020. [ 289s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:04:26 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:04:26 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5ea4ec45e73df_248e2ab4e597c60065294e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/xUbuntu_18.04/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 294s] main.c: In function 'main': [ 294s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 294s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 294s] ^~~~~~~~~~~~~~~~~~~ [ 294s] osmo_timerfd_setup [ 294s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 294s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 294s] ^ [ 294s] cc1: some warnings being treated as errors [ 295s] Makefile:469: recipe for target 'main.o' failed [ 295s] make[3]: *** [main.o] Error 1 [ 295s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 295s] Makefile:402: recipe for target 'all-recursive' failed [ 295s] make[2]: *** [all-recursive] Error 1 [ 295s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 295s] Makefile:349: recipe for target 'all' failed [ 295s] make[1]: *** [all] Error 2 [ 295s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 295s] dh_auto_build: make -j1 returned exit code 2 [ 295s] debian/rules:45: recipe for target 'build' failed [ 295s] make: *** [build] Error 2 [ 295s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 295s] ### VM INTERACTION START ### [ 298s] [ 243.515739] sysrq: SysRq : Power Off [ 298s] [ 243.518405] reboot: Power down [ 298s] ### VM INTERACTION END ### [ 298s] [ 298s] build78 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:04:11 UTC 2020. [ 298s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:04:26 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:04:26 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5ea4ec47d167_248e2ab4e597c600653093@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/xUbuntu_18.10/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 258s] main.c:448:7: error: implicit declaration of function 'osmo_system_nowait2'; did you mean 'osmo_system_nowait'? [-Werror=implicit-function-declaration] [ 258s] rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); [ 258s] ^~~~~~~~~~~~~~~~~~~ [ 258s] osmo_system_nowait [ 258s] main.c: In function 'main': [ 258s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 258s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 258s] ^~~~~~~~~~~~~~~~~~~ [ 258s] osmo_timerfd_setup [ 258s] main.c:776:21: warning: assignment to 'struct osmo_signalfd *' from 'int' makes pointer from integer without a cast [-Wint-conversion] [ 258s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 258s] ^ [ 258s] cc1: some warnings being treated as errors [ 258s] make[3]: *** [Makefile:479: main.o] Error 1 [ 258s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 258s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 258s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 258s] make[1]: *** [Makefile:349: all] Error 2 [ 258s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 258s] dh_auto_build: make -j1 returned exit code 2 [ 258s] make: *** [debian/rules:45: build] Error 2 [ 258s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 258s] ### VM INTERACTION START ### [ 261s] [ 248.106647] sysrq: SysRq : Power Off [ 261s] [ 248.112807] reboot: Power down [ 262s] ### VM INTERACTION END ### [ 262s] [ 262s] lamb18 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:04:22 UTC 2020. [ 262s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:04:43 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:04:43 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5ea4ec48956d6_248e2ab4e597c6006531f4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/xUbuntu_19.10/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 338s] main.c:448:7: error: implicit declaration of function 'osmo_system_nowait2'; did you mean 'osmo_system_nowait'? [-Werror=implicit-function-declaration] [ 338s] 448 | rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); [ 338s] | ^~~~~~~~~~~~~~~~~~~ [ 338s] | osmo_system_nowait [ 338s] main.c: In function 'main': [ 338s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 338s] 776 | g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 338s] | ^~~~~~~~~~~~~~~~~~~ [ 338s] | osmo_timerfd_setup [ 338s] main.c:776:21: warning: assignment to 'struct osmo_signalfd *' from 'int' makes pointer from integer without a cast [-Wint-conversion] [ 338s] 776 | g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 338s] | ^ [ 338s] cc1: some warnings being treated as errors [ 338s] make[3]: *** [Makefile:479: main.o] Error 1 [ 338s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 338s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 338s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 338s] make[1]: *** [Makefile:349: all] Error 2 [ 338s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 338s] dh_auto_build: make -j1 returned exit code 2 [ 338s] make: *** [debian/rules:45: build] Error 255 [ 338s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 338s] ### VM INTERACTION START ### [ 341s] [ 325.645881] sysrq: SysRq : Power Off [ 341s] [ 325.651010] reboot: Power down [ 341s] ### VM INTERACTION END ### [ 341s] [ 341s] lamb05 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:04:34 UTC 2020. [ 341s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:05:34 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:05:34 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_10/i586 In-Reply-To: References: Message-ID: <5ea4ec84e5647_248e2ab4e597c60065323@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_10/i586 Package network:osmocom:latest/osmo-uecups failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 454s] main.c:448:7: error: implicit declaration of function 'osmo_system_nowait2'; did you mean 'osmo_system_nowait'? [-Werror=implicit-function-declaration] [ 454s] rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); [ 454s] ^~~~~~~~~~~~~~~~~~~ [ 454s] osmo_system_nowait [ 454s] main.c: In function 'main': [ 454s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 454s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 454s] ^~~~~~~~~~~~~~~~~~~ [ 454s] osmo_timerfd_setup [ 454s] main.c:776:21: warning: assignment to 'struct osmo_signalfd *' from 'int' makes pointer from integer without a cast [-Wint-conversion] [ 454s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 454s] ^ [ 454s] cc1: some warnings being treated as errors [ 454s] make[3]: *** [Makefile:479: main.o] Error 1 [ 454s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 454s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 454s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 454s] make[1]: *** [Makefile:349: all] Error 2 [ 454s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 454s] dh_auto_build: make -j1 returned exit code 2 [ 454s] make: *** [debian/rules:45: build] Error 2 [ 454s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 454s] ### VM INTERACTION START ### [ 457s] [ 424.079712] sysrq: SysRq : Power Off [ 457s] [ 424.083939] reboot: Power down [ 457s] ### VM INTERACTION END ### [ 457s] [ 457s] cloud101 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:05:19 UTC 2020. [ 457s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:06:09 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:06:09 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5ea4eca658cbc_248e2ab4e597c60065339c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/xUbuntu_18.10/i586 Package network:osmocom:latest/osmo-uecups failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 487s] main.c:448:7: error: implicit declaration of function 'osmo_system_nowait2'; did you mean 'osmo_system_nowait'? [-Werror=implicit-function-declaration] [ 487s] rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); [ 487s] ^~~~~~~~~~~~~~~~~~~ [ 487s] osmo_system_nowait [ 487s] main.c: In function 'main': [ 487s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 487s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 487s] ^~~~~~~~~~~~~~~~~~~ [ 487s] osmo_timerfd_setup [ 487s] main.c:776:21: warning: assignment to 'struct osmo_signalfd *' from 'int' makes pointer from integer without a cast [-Wint-conversion] [ 487s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 487s] ^ [ 487s] cc1: some warnings being treated as errors [ 487s] make[3]: *** [Makefile:479: main.o] Error 1 [ 487s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 487s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 487s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 487s] make[1]: *** [Makefile:349: all] Error 2 [ 487s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 487s] dh_auto_build: make -j1 returned exit code 2 [ 487s] make: *** [debian/rules:45: build] Error 2 [ 487s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 487s] ### VM INTERACTION START ### [ 490s] [ 431.182588] sysrq: SysRq : Power Off [ 490s] [ 431.186963] reboot: Power down [ 490s] ### VM INTERACTION END ### [ 490s] [ 490s] lamb52 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:06:03 UTC 2020. [ 490s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:07:00 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:07:00 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea4ecdf20af3_248e2ab4e597c6006535b5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:latest/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 547s] ^~~~~~~~~~~~~~~~~~~ [ 547s] main.c: In function 'main': [ 547s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 547s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 547s] ^~~~~~~~~~~~~~~~~~~ [ 547s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 547s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 547s] ^ [ 547s] cc1: some warnings being treated as errors [ 547s] Makefile:469: recipe for target 'main.o' failed [ 547s] make[3]: *** [main.o] Error 1 [ 547s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 547s] Makefile:402: recipe for target 'all-recursive' failed [ 547s] make[2]: *** [all-recursive] Error 1 [ 547s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 547s] Makefile:349: recipe for target 'all' failed [ 547s] make[1]: *** [all] Error 2 [ 547s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 547s] dh_auto_build: make -j1 returned exit code 2 [ 547s] debian/rules:45: recipe for target 'build' failed [ 547s] make: *** [build] Error 2 [ 547s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 547s] ### VM INTERACTION START ### [ 550s] [ 508.447858] sysrq: SysRq : Power Off [ 550s] [ 508.450009] reboot: Power down [ 550s] ### VM INTERACTION END ### [ 550s] [ 550s] armbuild19 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:06:52 UTC 2020. [ 550s] -- 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 Apr 26 02:07:49 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sun, 26 Apr 2020 02:07:49 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 ) Change subject: Add default APN for each EUA Type ...................................................................... Patch Set 5: Maybe it does have a use case; if one really wanted to have a separate IP configuration for v4v6 and v4/46 APN and still support any configured APN on the MS side. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 Gerrit-PatchSet: 5 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 26 Apr 2020 02:07:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Apr 26 02:09:34 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:09:34 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ea4ed72d7e03_248e2ab4e597c600654181@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 575s] main.c:448:7: error: implicit declaration of function 'osmo_system_nowait2'; did you mean 'osmo_system_nowait'? [-Werror=implicit-function-declaration] [ 575s] 448 | rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); [ 575s] | ^~~~~~~~~~~~~~~~~~~ [ 575s] | osmo_system_nowait [ 575s] main.c: In function 'main': [ 575s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 575s] 776 | g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 575s] | ^~~~~~~~~~~~~~~~~~~ [ 575s] | osmo_timerfd_setup [ 575s] main.c:776:21: warning: assignment to 'struct osmo_signalfd *' from 'int' makes pointer from integer without a cast [-Wint-conversion] [ 575s] 776 | g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 575s] | ^ [ 575s] cc1: some warnings being treated as errors [ 575s] make[3]: *** [Makefile:479: main.o] Error 1 [ 575s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 575s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 575s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 575s] make[1]: *** [Makefile:349: all] Error 2 [ 575s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 575s] dh_auto_build: error: make -j1 returned exit code 2 [ 575s] make: *** [debian/rules:45: build] Error 25 [ 575s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 575s] ### VM INTERACTION START ### [ 578s] [ 552.703988] sysrq: SysRq : Power Off [ 578s] [ 552.712844] reboot: Power down [ 578s] ### VM INTERACTION END ### [ 578s] [ 578s] lamb27 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:09:20 UTC 2020. [ 578s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:09:34 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:09:34 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5ea4ed73bbf34_248e2ab4e597c6006542e7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/xUbuntu_19.04/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 626s] main.c:448:7: error: implicit declaration of function 'osmo_system_nowait2'; did you mean 'osmo_system_nowait'? [-Werror=implicit-function-declaration] [ 626s] rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); [ 626s] ^~~~~~~~~~~~~~~~~~~ [ 626s] osmo_system_nowait [ 626s] main.c: In function 'main': [ 626s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 626s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 626s] ^~~~~~~~~~~~~~~~~~~ [ 626s] osmo_timerfd_setup [ 626s] main.c:776:21: warning: assignment to 'struct osmo_signalfd *' from 'int' makes pointer from integer without a cast [-Wint-conversion] [ 626s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 626s] ^ [ 626s] cc1: some warnings being treated as errors [ 626s] make[3]: *** [Makefile:479: main.o] Error 1 [ 626s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 626s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 626s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 626s] make[1]: *** [Makefile:349: all] Error 2 [ 626s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 626s] dh_auto_build: make -j1 returned exit code 2 [ 626s] make: *** [debian/rules:45: build] Error 2 [ 626s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 626s] ### VM INTERACTION START ### [ 629s] [ 610.469611] sysrq: SysRq : Power Off [ 629s] [ 610.517992] reboot: Power down [ 630s] ### VM INTERACTION END ### [ 630s] [ 630s] cloud123 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:09:30 UTC 2020. [ 630s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:10:09 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:10:09 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5ea4ed90a417b_248e2ab4e597c6006543e5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_9.0/aarch64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 348s] ^~~~~~~~~~~~~~~~~~~ [ 348s] main.c: In function 'main': [ 348s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 348s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 348s] ^~~~~~~~~~~~~~~~~~~ [ 348s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 348s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 348s] ^ [ 348s] cc1: some warnings being treated as errors [ 348s] Makefile:469: recipe for target 'main.o' failed [ 348s] make[3]: *** [main.o] Error 1 [ 348s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 348s] Makefile:402: recipe for target 'all-recursive' failed [ 348s] make[2]: *** [all-recursive] Error 1 [ 348s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 348s] Makefile:349: recipe for target 'all' failed [ 348s] make[1]: *** [all] Error 2 [ 348s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 348s] dh_auto_build: make -j1 returned exit code 2 [ 348s] debian/rules:45: recipe for target 'build' failed [ 348s] make: *** [build] Error 2 [ 348s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 348s] ### VM INTERACTION START ### [ 351s] [ 328.885898] sysrq: Power Off [ 351s] [ 328.890082] reboot: Power down [ 351s] ### VM INTERACTION END ### [ 351s] [ 351s] obs-arm-8 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:10:00 UTC 2020. [ 351s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:12:09 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:12:09 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5ea4ee0abd04f_248e2ab4e597c60065456f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_10/aarch64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 440s] main.c:448:7: error: implicit declaration of function 'osmo_system_nowait2'; did you mean 'osmo_system_nowait'? [-Werror=implicit-function-declaration] [ 440s] rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); [ 440s] ^~~~~~~~~~~~~~~~~~~ [ 440s] osmo_system_nowait [ 440s] main.c: In function 'main': [ 440s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 440s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 440s] ^~~~~~~~~~~~~~~~~~~ [ 440s] osmo_timerfd_setup [ 440s] main.c:776:21: warning: assignment to 'struct osmo_signalfd *' from 'int' makes pointer from integer without a cast [-Wint-conversion] [ 440s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 440s] ^ [ 440s] cc1: some warnings being treated as errors [ 440s] make[3]: *** [Makefile:479: main.o] Error 1 [ 440s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 440s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 440s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 440s] make[1]: *** [Makefile:349: all] Error 2 [ 440s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 440s] dh_auto_build: make -j1 returned exit code 2 [ 440s] make: *** [debian/rules:45: build] Error 2 [ 440s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 441s] ### VM INTERACTION START ### [ 444s] [ 400.467486] sysrq: Power Off [ 444s] [ 400.521482] reboot: Power down [ 444s] ### VM INTERACTION END ### [ 444s] [ 444s] obs-arm-8 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:12:02 UTC 2020. [ 444s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:12:26 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:12:26 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5ea4ee2573ed0_248e2ab4e597c6006546b3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_10/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 748s] main.c:448:7: error: implicit declaration of function 'osmo_system_nowait2'; did you mean 'osmo_system_nowait'? [-Werror=implicit-function-declaration] [ 748s] rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); [ 748s] ^~~~~~~~~~~~~~~~~~~ [ 748s] osmo_system_nowait [ 748s] main.c: In function 'main': [ 748s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 748s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 748s] ^~~~~~~~~~~~~~~~~~~ [ 748s] osmo_timerfd_setup [ 748s] main.c:776:21: warning: assignment to 'struct osmo_signalfd *' from 'int' makes pointer from integer without a cast [-Wint-conversion] [ 748s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 748s] ^ [ 748s] cc1: some warnings being treated as errors [ 748s] make[3]: *** [Makefile:479: main.o] Error 1 [ 748s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 748s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 748s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 748s] make[1]: *** [Makefile:349: all] Error 2 [ 748s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 748s] dh_auto_build: make -j1 returned exit code 2 [ 748s] make: *** [debian/rules:45: build] Error 2 [ 748s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 748s] ### VM INTERACTION START ### [ 751s] [ 725.981395] sysrq: SysRq : Power Off [ 751s] [ 725.999499] reboot: Power down [ 751s] ### VM INTERACTION END ### [ 751s] [ 751s] lamb04 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:12:25 UTC 2020. [ 751s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:17:52 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:17:52 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5ea4ef559a783_248e2ab4e597c60065532e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Raspbian_10/armv7l Package network:osmocom:latest/osmo-uecups failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 517s] main.c:448:7: error: implicit declaration of function 'osmo_system_nowait2'; did you mean 'osmo_system_nowait'? [-Werror=implicit-function-declaration] [ 517s] rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); [ 517s] ^~~~~~~~~~~~~~~~~~~ [ 517s] osmo_system_nowait [ 517s] main.c: In function 'main': [ 517s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 517s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 517s] ^~~~~~~~~~~~~~~~~~~ [ 517s] osmo_timerfd_setup [ 517s] main.c:776:21: warning: assignment to 'struct osmo_signalfd *' from 'int' makes pointer from integer without a cast [-Wint-conversion] [ 517s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 517s] ^ [ 517s] cc1: some warnings being treated as errors [ 517s] make[3]: *** [Makefile:479: main.o] Error 1 [ 517s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 517s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 517s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 517s] make[1]: *** [Makefile:349: all] Error 2 [ 517s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 517s] dh_auto_build: make -j1 returned exit code 2 [ 517s] make: *** [debian/rules:45: build] Error 2 [ 517s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 517s] ### VM INTERACTION START ### [ 520s] [ 500.464117] sysrq: SysRq : Power Off [ 520s] [ 500.482000] reboot: Power down [ 521s] ### VM INTERACTION END ### [ 521s] [ 521s] armbuild21 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:17:42 UTC 2020. [ 521s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:21:34 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:21:34 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_10/armv7l In-Reply-To: References: Message-ID: <5ea4f0451b617_248e2ab4e597c60065585f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_10/armv7l Package network:osmocom:latest/osmo-uecups failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 756s] main.c:448:7: error: implicit declaration of function 'osmo_system_nowait2'; did you mean 'osmo_system_nowait'? [-Werror=implicit-function-declaration] [ 756s] rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); [ 756s] ^~~~~~~~~~~~~~~~~~~ [ 756s] osmo_system_nowait [ 756s] main.c: In function 'main': [ 756s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 756s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 756s] ^~~~~~~~~~~~~~~~~~~ [ 756s] osmo_timerfd_setup [ 756s] main.c:776:21: warning: assignment to 'struct osmo_signalfd *' from 'int' makes pointer from integer without a cast [-Wint-conversion] [ 756s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 756s] ^ [ 756s] cc1: some warnings being treated as errors [ 756s] make[3]: *** [Makefile:479: main.o] Error 1 [ 756s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 756s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 756s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 756s] make[1]: *** [Makefile:349: all] Error 2 [ 756s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 756s] dh_auto_build: make -j1 returned exit code 2 [ 756s] make: *** [debian/rules:45: build] Error 2 [ 756s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 756s] ### VM INTERACTION START ### [ 759s] [ 692.888316] sysrq: SysRq : Power Off [ 759s] [ 692.891175] reboot: Power down [ 759s] ### VM INTERACTION END ### [ 759s] [ 759s] armbuild13 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:21:27 UTC 2020. [ 759s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:30:42 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:30:42 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea4f25ff0a22_248e2ab4e597c6006566fc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Raspbian_9.0/armv7l Package network:osmocom:latest/osmo-uecups failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 468s] ^~~~~~~~~~~~~~~~~~~ [ 468s] main.c: In function 'main': [ 468s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 468s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 468s] ^~~~~~~~~~~~~~~~~~~ [ 468s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 468s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 468s] ^ [ 468s] cc1: some warnings being treated as errors [ 468s] Makefile:469: recipe for target 'main.o' failed [ 468s] make[3]: *** [main.o] Error 1 [ 468s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 468s] Makefile:402: recipe for target 'all-recursive' failed [ 468s] make[2]: *** [all-recursive] Error 1 [ 468s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 468s] Makefile:349: recipe for target 'all' failed [ 468s] make[1]: *** [all] Error 2 [ 468s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 468s] dh_auto_build: make -j1 returned exit code 2 [ 468s] debian/rules:45: recipe for target 'build' failed [ 468s] make: *** [build] Error 2 [ 468s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 468s] ### VM INTERACTION START ### [ 471s] [ 452.957612] sysrq: SysRq : Power Off [ 471s] [ 452.975146] reboot: Power down [ 471s] ### VM INTERACTION END ### [ 471s] [ 471s] armbuild21 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:30:40 UTC 2020. [ 471s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 02:38:09 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 02:38:09 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5ea4f423490de_248e2ab4e597c6006585c7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 296s] main.c:448:7: error: implicit declaration of function 'osmo_system_nowait2'; did you mean 'osmo_system_nowait'? [-Werror=implicit-function-declaration] [ 296s] 448 | rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); [ 296s] | ^~~~~~~~~~~~~~~~~~~ [ 296s] | osmo_system_nowait [ 296s] main.c: In function 'main': [ 296s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 296s] 776 | g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 296s] | ^~~~~~~~~~~~~~~~~~~ [ 296s] | osmo_timerfd_setup [ 296s] main.c:776:21: warning: assignment to 'struct osmo_signalfd *' from 'int' makes pointer from integer without a cast [-Wint-conversion] [ 296s] 776 | g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 296s] | ^ [ 296s] cc1: some warnings being treated as errors [ 296s] make[3]: *** [Makefile:479: main.o] Error 1 [ 296s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 296s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 296s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 296s] make[1]: *** [Makefile:349: all] Error 2 [ 296s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 296s] dh_auto_build: error: make -j1 returned exit code 2 [ 296s] make: *** [debian/rules:45: build] Error 25 [ 296s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 296s] ### VM INTERACTION START ### [ 299s] [ 285.798578] sysrq: SysRq : Power Off [ 299s] [ 285.805390] reboot: Power down [ 299s] ### VM INTERACTION END ### [ 299s] [ 299s] build85 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 02:37:52 UTC 2020. [ 299s] -- 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 Apr 26 04:38:42 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Sun, 26 Apr 2020 04:38:42 +0000 Subject: Change in pysim[master]: pySim-read.py: Add ability to read by AID with correct CLA, P1 and P2... In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17880 ) Change subject: pySim-read.py: Add ability to read by AID with correct CLA, P1 and P2 bytes ...................................................................... Patch Set 1: > Patch Set 1: > > did you actually encounter any specific bug/problem before this patch? > > In general, I'm not aware of any USIM/ISIM specific requirements for the CLAss byte. > > IMHO, the underlying question is whether the card is a classic SIM (0xA0) or an UICC (0x00). But an UICC can have various other Applications, not just USIM/ISIM. > > Also, why reset the card after changing the class byte? > > I think this needs more explanation in commit log and/or comments. > > The link you quote is some APDU trace and not a specification reference. Yes, without this commit, it was not possible to select an AID on Sysmocom ISIM and USIM (also any operation related to USIM/ISIM AID) as pySim was throwing various forms 6Exx or 6Axx errors. Yeah are right about SIM being classic SIM (0xA0) or an UICC (0x00), I think the commit message here may be a bit misleading. Regarding resetting of card, without doing that any changes done to CLA or P1 or P2 was not taken into effect resulting in failure of selecting AIDs or any operation related to USIM/ISIM AID. Also, this commit was inspired by the implementation in sysmo-usim-tool, which uses the same CLA, P1 and P2 to read a USIM. P.S: With this commit i was even able to read a commercial USIM from Vodafone DE (previously it was not possible). -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 Gerrit-Change-Number: 17880 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 26 Apr 2020 04:38:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Apr 26 04:39:33 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 04:39:33 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5ea510996adde_248e2ab4e597c60067875a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 519s] main.c:448:7: error: implicit declaration of function 'osmo_system_nowait2'; did you mean 'osmo_system_nowait'? [-Werror=implicit-function-declaration] [ 519s] 448 | rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); [ 519s] | ^~~~~~~~~~~~~~~~~~~ [ 519s] | osmo_system_nowait [ 519s] main.c: In function 'main': [ 519s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 519s] 776 | g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 519s] | ^~~~~~~~~~~~~~~~~~~ [ 519s] | osmo_timerfd_setup [ 519s] main.c:776:21: warning: assignment to 'struct osmo_signalfd *' from 'int' makes pointer from integer without a cast [-Wint-conversion] [ 519s] 776 | g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 519s] | ^ [ 519s] cc1: some warnings being treated as errors [ 519s] make[3]: *** [Makefile:479: main.o] Error 1 [ 519s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 519s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 519s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 519s] make[1]: *** [Makefile:349: all] Error 2 [ 519s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 519s] dh_auto_build: error: make -j1 returned exit code 2 [ 519s] make: *** [debian/rules:45: build] Error 25 [ 519s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 519s] ### VM INTERACTION START ### [ 522s] [ 506.782478] sysrq: SysRq : Power Off [ 522s] [ 506.799720] reboot: Power down [ 522s] ### VM INTERACTION END ### [ 522s] [ 522s] lamb62 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 04:39:19 UTC 2020. [ 522s] -- 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 Apr 26 04:43:01 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Sun, 26 Apr 2020 04:43:01 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse ePDG Identifier from hex string In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17883 ) Change subject: utils.py: Add helper method to parse ePDG Identifier from hex string ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py at 365 PS1, Line 365: if o > shouldn't we use some generic TLV parser utility code rather than hand-coding this here? this is addressed in future commits which I will be submitting - https://github.com/herlesupreeth/pysim/commit/62e9f32474c6ee5b72d39edc30a476932f42d4a6 https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py at 375 PS1, Line 375: # > maybe implent that TODO first? I have addressed in future commits the IPv4 part. Regarding the IPv6, I still searching for a proper validation of IPv6 provided by the user. https://github.com/herlesupreeth/pysim/commit/611e4d03d751ee79f24eefa267db731152c1c09b -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 Gerrit-Change-Number: 17883 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 26 Apr 2020 04:43:01 +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 Apr 26 09:06:36 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Sun, 26 Apr 2020 09:06:36 +0000 Subject: Change in pysim[master]: transport/__init.py__ add generic ATR hex read function In-Reply-To: References: Message-ID: guilly at gmail.com has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17934 ) Change subject: transport/__init.py__ add generic ATR hex read function ...................................................................... Patch Set 1: (2 comments) > Patch Set 1: Code-Review-1 > > (2 comments) https://gerrit.osmocom.org/c/pysim/+/17934/1/pySim/transport/__init__.py File pySim/transport/__init__.py: https://gerrit.osmocom.org/c/pysim/+/17934/1/pySim/transport/__init__.py at 93 PS1, Line 93: p > this change is not related to the ATR. It changes the output which breaks the test suite. [?] yes, my mistake here, this shoudln't have gone in the commit side note, what's the test suite like? Is it pure software test, or do you have readers connected somewhere, testing against real cards? https://gerrit.osmocom.org/c/pysim/+/17934/1/pySim/transport/__init__.py at 108 PS1, Line 108: d > so we add a new function but we don't use it anywhere? I am using it at the moment to debug the couple of SIMs I have, found a bit confusing the variables stored for card detection are in a format different to the internal. Trying to figure out if the existing cards match the ones I have, and playing with values, thought it would be nice to have. But if you don't want unnecessary code, then the commit can be abandoned -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17934 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id0e53ef50e32a8c3d2190581540b011eb89f8cc0 Gerrit-Change-Number: 17934 Gerrit-PatchSet: 1 Gerrit-Owner: guilly at gmail.com Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: guilly at gmail.com Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 26 Apr 2020 09:06: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 Apr 26 09:08:02 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Sun, 26 Apr 2020 09:08:02 +0000 Subject: Change in pysim[master]: pySim-read.py: Add ability to read by AID with correct CLA, P1 and P2... In-Reply-To: References: Message-ID: guilly at gmail.com has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17880 ) Change subject: pySim-read.py: Add ability to read by AID with correct CLA, P1 and P2 bytes ...................................................................... Patch Set 1: > Patch Set 1: > > > Patch Set 1: > > > > did you actually encounter any specific bug/problem before this patch? > > > > In general, I'm not aware of any USIM/ISIM specific requirements for the CLAss byte. > > > > IMHO, the underlying question is whether the card is a classic SIM (0xA0) or an UICC (0x00). But an UICC can have various other Applications, not just USIM/ISIM. > > > > Also, why reset the card after changing the class byte? > > > > I think this needs more explanation in commit log and/or comments. > > > > The link you quote is some APDU trace and not a specification reference. > > Yes, without this commit, it was not possible to select an AID on Sysmocom ISIM and USIM (also any operation related to USIM/ISIM AID) as pySim was throwing various forms 6Exx or 6Axx errors. Yeah are right about SIM being classic SIM (0xA0) or an UICC (0x00), I think the commit message here may be a bit misleading. > > Regarding resetting of card, without doing that any changes done to CLA or P1 or P2 was not taken into effect resulting in failure of selecting AIDs or any operation related to USIM/ISIM AID. > > Also, this commit was inspired by the implementation in sysmo-usim-tool, which uses the same CLA, P1 and P2 to read a USIM. > > P.S: With this commit i was even able to read a commercial USIM from Vodafone DE (previously it was not possible). I am seeing a similar problem/need with the CLA byte, shouldn't it be better addressed with a new SimCard class? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 Gerrit-Change-Number: 17880 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: guilly at gmail.com Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 26 Apr 2020 09:08:02 +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 Apr 26 10:48:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 10:48:52 +0000 Subject: Change in pysim[master]: pySim-read.py: Add ability to read by AID with correct CLA, P1 and P2... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17880 ) Change subject: pySim-read.py: Add ability to read by AID with correct CLA, P1 and P2 bytes ...................................................................... Patch Set 1: > Yes, without this commit, it was not possible to select an AID on Sysmocom ISIM and USIM (also any operation related to USIM/ISIM AID) as pySim was throwing various forms 6Exx or 6Axx errors. Yeah are right about SIM being classic SIM (0xA0) or an UICC (0x00), I think the commit message here may be a bit misleading. To be specific: Without chaging the CLA and possibly P1/P2 it was not possible. > Also, this commit was inspired by the implementation in sysmo-usim-tool, which uses the same CLA, P1 and P2 to read a USIM. I'm not saying the choice of CLA/P1/P2 is wrong. I'm saying your conditions are wrong. The standard approach - AFAIK - is to always use CLA=00 for the first APDU talking to the card. If it returns an error that CLA is unsupported, you know it's not an UICC and hence only a classic SIM. So my suggestion would be to follow this approach. It is much more generic and doesn't rely on very specific AIDs of ISIM or USIM. It will even work with HPSIM, TSIM, .... You also don't need to reset the card if you do it that way. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 Gerrit-Change-Number: 17880 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: guilly at gmail.com Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 26 Apr 2020 10:48: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 Apr 26 10:54:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 10:54:30 +0000 Subject: Change in pysim[master]: transport/__init.py__ add generic ATR hex read function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17934 ) Change subject: transport/__init.py__ add generic ATR hex read function ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/pysim/+/17934/1/pySim/transport/__init__.py File pySim/transport/__init__.py: https://gerrit.osmocom.org/c/pysim/+/17934/1/pySim/transport/__init__.py at 93 PS1, Line 93: p > yes, my mistake here, this shoudln't have gone in the commit [?] Test suite: please see https://osmocom.org/issues/3376 and https://osmocom.org/issues/3890 - it is unfortuante that there is no wiki page describing it (there should be). See the 'tests' and 'pysim-testdata' directories in the repository. It is a physical setup with various card readres and the different SIM card types. There's not really any other way to fully test a project like this. https://gerrit.osmocom.org/c/pysim/+/17934/1/pySim/transport/__init__.py at 108 PS1, Line 108: d > I am using it at the moment to debug the couple of SIMs I have, found a bit confusing the variables [?] I think we shouldn't merge code unles we also have a user. The user could be an immediate follow-up patch in the same series of patches. But I haven't seen any of that so far. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17934 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id0e53ef50e32a8c3d2190581540b011eb89f8cc0 Gerrit-Change-Number: 17934 Gerrit-PatchSet: 1 Gerrit-Owner: guilly at gmail.com Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: guilly at gmail.com Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 26 Apr 2020 10:54:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: guilly at gmail.com 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 Apr 26 10:58:08 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Sun, 26 Apr 2020 10:58:08 +0000 Subject: Change in pysim[master]: transport/__init.py__ add generic ATR hex read function In-Reply-To: References: Message-ID: guilly at gmail.com has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/17934 ) Change subject: transport/__init.py__ add generic ATR hex read function ...................................................................... Abandoned abandoned due to no use case, it's just for testing/debugging -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17934 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id0e53ef50e32a8c3d2190581540b011eb89f8cc0 Gerrit-Change-Number: 17934 Gerrit-PatchSet: 1 Gerrit-Owner: guilly at gmail.com Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: guilly at gmail.com Gerrit-Reviewer: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Apr 26 12:46:29 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 12:46:29 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ea582be668b2_248e2ab4e597c60078383a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 425s] main.c:448:7: error: implicit declaration of function 'osmo_system_nowait2'; did you mean 'osmo_system_nowait'? [-Werror=implicit-function-declaration] [ 425s] 448 | rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); [ 425s] | ^~~~~~~~~~~~~~~~~~~ [ 425s] | osmo_system_nowait [ 425s] main.c: In function 'main': [ 425s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 425s] 776 | g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 425s] | ^~~~~~~~~~~~~~~~~~~ [ 425s] | osmo_timerfd_setup [ 425s] main.c:776:21: warning: assignment to 'struct osmo_signalfd *' from 'int' makes pointer from integer without a cast [-Wint-conversion] [ 425s] 776 | g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 425s] | ^ [ 425s] cc1: some warnings being treated as errors [ 425s] make[3]: *** [Makefile:479: main.o] Error 1 [ 425s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 425s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 425s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 425s] make[1]: *** [Makefile:349: all] Error 2 [ 425s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 425s] dh_auto_build: error: make -j1 returned exit code 2 [ 425s] make: *** [debian/rules:45: build] Error 25 [ 425s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 425s] ### VM INTERACTION START ### [ 428s] [ 414.643989] sysrq: SysRq : Power Off [ 428s] [ 414.654847] reboot: Power down [ 428s] ### VM INTERACTION END ### [ 428s] [ 428s] lamb27 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 12:46:20 UTC 2020. [ 428s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Apr 26 12:47:03 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 12:47:03 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5ea582db9e37c_248e2ab4e597c600784489@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 398s] main.c:448:7: error: implicit declaration of function 'osmo_system_nowait2'; did you mean 'osmo_system_nowait'? [-Werror=implicit-function-declaration] [ 398s] 448 | rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); [ 398s] | ^~~~~~~~~~~~~~~~~~~ [ 398s] | osmo_system_nowait [ 398s] main.c: In function 'main': [ 398s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 398s] 776 | g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 398s] | ^~~~~~~~~~~~~~~~~~~ [ 398s] | osmo_timerfd_setup [ 398s] main.c:776:21: warning: assignment to 'struct osmo_signalfd *' from 'int' makes pointer from integer without a cast [-Wint-conversion] [ 398s] 776 | g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 398s] | ^ [ 398s] cc1: some warnings being treated as errors [ 398s] make[3]: *** [Makefile:479: main.o] Error 1 [ 398s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 398s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 398s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 398s] make[1]: *** [Makefile:349: all] Error 2 [ 398s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 398s] dh_auto_build: error: make -j1 returned exit code 2 [ 398s] make: *** [debian/rules:45: build] Error 25 [ 398s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 398s] ### VM INTERACTION START ### [ 401s] [ 384.846541] sysrq: SysRq : Power Off [ 401s] [ 384.858939] reboot: Power down [ 401s] ### VM INTERACTION END ### [ 401s] [ 401s] lamb57 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 12:46:55 UTC 2020. [ 401s] -- 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 Apr 26 13:30:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 13:30:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Use bash to reliably support += syntax in shell scripts References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17943 ) Change subject: pgw: Use bash to reliably support += syntax in shell scripts ...................................................................... pgw: Use bash to reliably support += syntax in shell scripts Change-Id: Id93e83456380ade0617fe9a17eb2b92c685c749e --- M pgw/regen_makefile.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/43/17943/1 diff --git a/pgw/regen_makefile.sh b/pgw/regen_makefile.sh index 46616da..f53150c 100755 --- a/pgw/regen_makefile.sh +++ b/pgw/regen_makefile.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash FILES="*.ttcn IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc GTPC_EncDec.cc GTPU_EncDec.cc GTP_CodecPort_CtrlFunctDef.cc GTPv2_CodecPort_CtrlFunctDef.cc ICMPv6_EncDec.cc IP_EncDec.cc Native_FunctionDefs.cc UDP_EncDec.cc ICMP_EncDec.cc " FILES+="UECUPS_CodecPort_CtrlFunctDef.cc " -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17943 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: Id93e83456380ade0617fe9a17eb2b92c685c749e Gerrit-Change-Number: 17943 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 Apr 26 13:30:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 13:30:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Use bash to reliably support += syntax in shell scripts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17943 ) Change subject: pgw: Use bash to reliably support += syntax in shell scripts ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17943 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: Id93e83456380ade0617fe9a17eb2b92c685c749e Gerrit-Change-Number: 17943 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 26 Apr 2020 13:30: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 Apr 26 13:30:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 13:30:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Use bash to reliably support += syntax in shell scripts In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17943 ) Change subject: pgw: Use bash to reliably support += syntax in shell scripts ...................................................................... pgw: Use bash to reliably support += syntax in shell scripts Change-Id: Id93e83456380ade0617fe9a17eb2b92c685c749e --- M pgw/regen_makefile.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved; Verified Jenkins Builder: Verified diff --git a/pgw/regen_makefile.sh b/pgw/regen_makefile.sh index 46616da..f53150c 100755 --- a/pgw/regen_makefile.sh +++ b/pgw/regen_makefile.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash FILES="*.ttcn IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc GTPC_EncDec.cc GTPU_EncDec.cc GTP_CodecPort_CtrlFunctDef.cc GTPv2_CodecPort_CtrlFunctDef.cc ICMPv6_EncDec.cc IP_EncDec.cc Native_FunctionDefs.cc UDP_EncDec.cc ICMP_EncDec.cc " FILES+="UECUPS_CodecPort_CtrlFunctDef.cc " -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17943 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: Id93e83456380ade0617fe9a17eb2b92c685c749e Gerrit-Change-Number: 17943 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 Apr 26 14:42:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 14:42:16 +0000 Subject: Change in docker-playground[master]: add osmo-uecups-master container References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17944 ) Change subject: add osmo-uecups-master container ...................................................................... add osmo-uecups-master container Change-Id: Iafcf9639f7e44f19220a9d0f375444b168a6a392 --- A osmo-uecups-master/.release A osmo-uecups-master/Dockerfile A osmo-uecups-master/Makefile A osmo-uecups-master/Release.key A osmo-uecups-master/osmo-uecups-daemon.cfg 5 files changed, 69 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/44/17944/1 diff --git a/osmo-uecups-master/.release b/osmo-uecups-master/.release new file mode 100644 index 0000000..810aaf3 --- /dev/null +++ b/osmo-uecups-master/.release @@ -0,0 +1,2 @@ +release=0.0.0 +tag=osmo-uecups-master-0.0.0 diff --git a/osmo-uecups-master/Dockerfile b/osmo-uecups-master/Dockerfile new file mode 100644 index 0000000..50ed203 --- /dev/null +++ b/osmo-uecups-master/Dockerfile @@ -0,0 +1,46 @@ +ARG USER +FROM $USER/debian-buster-build + +MAINTAINER Harald Welte + +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/" + +COPY Release.key /tmp/Release.key + +RUN apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list + +ADD $OSMOCOM_REPO/Release /tmp/Release +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + libjansson-dev \ + libnl-route-3-dev \ + libosmocore-dev \ + libosmo-netif-dev \ + libsctp-dev && \ + apt-get clean + +WORKDIR /tmp + +ARG OSMO_BSC_BRANCH="master" + +RUN git clone git://git.osmocom.org/osmo-uecups.git +ADD http://git.osmocom.org/osmo-uecups/patch?h=$OSMO_BSC_BRANCH /tmp/commit-osmo-uecups + +RUN cd osmo-uecups && \ + git fetch && git checkout $OSMO_BSC_BRANCH && \ + (git symbolic-ref -q HEAD && git reset --hard origin/$OSMO_BSC_BRANCH || exit 1); \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ + autoreconf -fi && \ + ./configure && \ + make -j8 install + +VOLUME /data + +COPY osmo-uecups-daemon.cfg /data/osmo-uecups-daemon.cfg + +WORKDIR /data +CMD ["/bin/sh", "-c", "/usr/local/bin/osmo-uecups-daemon -c /data/osmo-uecups-daemon.cfg >/data/osmo-uecups-daemon.log 2>&1"] + +#EXPOSE diff --git a/osmo-uecups-master/Makefile b/osmo-uecups-master/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/osmo-uecups-master/Makefile @@ -0,0 +1 @@ +include ../make/Makefile diff --git a/osmo-uecups-master/Release.key b/osmo-uecups-master/Release.key new file mode 100644 index 0000000..a737316 --- /dev/null +++ b/osmo-uecups-master/Release.key @@ -0,0 +1,20 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.5 (GNU/Linux) + +mQENBFJBt/wBCADAht3d/ilNuyzaXYw/QwTRvmjyoDvfXw+H/3Fvk1zlDZoiKPPc +a1wCVBINUZl7vYM2OXqbJwYa++JP2Q48xKSvC6thbRc/YLievkbcvTemf7IaREfl +CTjoYpoqXHa9kHMw1aALDm8CNU88jZmnV7v9L6hKkbYDxie+jpoj7D6B9JlxgNJ4 +5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee +S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y +CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= +=/Tek +-----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-uecups-master/osmo-uecups-daemon.cfg b/osmo-uecups-master/osmo-uecups-daemon.cfg new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/osmo-uecups-master/osmo-uecups-daemon.cfg -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17944 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iafcf9639f7e44f19220a9d0f375444b168a6a392 Gerrit-Change-Number: 17944 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 Apr 26 14:42:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 14:42:18 +0000 Subject: Change in docker-playground[master]: add open5gs-master docker container References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17945 ) Change subject: add open5gs-master docker container ...................................................................... add open5gs-master docker container Change-Id: I089c51caa1b1d8acf0063b7bc7fe61a805b5e800 --- A open5gs-master/Dockerfile A open5gs-master/Makefile A open5gs-master/setup.sh 3 files changed, 78 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/45/17945/1 diff --git a/open5gs-master/Dockerfile b/open5gs-master/Dockerfile new file mode 100644 index 0000000..1bfc7cb --- /dev/null +++ b/open5gs-master/Dockerfile @@ -0,0 +1,67 @@ +FROM debian:buster + +MAINTAINER Harald Welte + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y --no-install-recommends \ + python3-pip \ + python3-setuptools \ + python3-wheel \ + ninja-build \ + build-essential \ + flex \ + bison \ + git \ + libsctp-dev \ + libgnutls28-dev \ + libgcrypt-dev \ + libssl-dev \ + libidn11-dev \ + libmongoc-dev \ + libbson-dev \ + libyaml-dev \ + iproute2 \ + ca-certificates \ + netbase \ + pkg-config && \ + apt-get clean +RUN python3 -m pip install --upgrade pip +RUN python3 -m pip install meson + + +RUN apt-get update && \ + apt-get upgrade -y && \ + DEBIAN_FRONTEND=noninteractive \ + apt-get install -y --no-install-recommends \ + git-buildpackage \ + debhelper \ + devscripts \ + vim \ + sudo \ + iputils-ping \ + net-tools && \ + apt-get clean + +COPY setup.sh /root + +# crate user +ARG username=osmocom +RUN useradd -m --uid=1000 ${username} && \ + echo "${username} ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/${username} && \ + chmod 0440 /etc/sudoers.d/${username} + +WORKDIR /home/${username} + + +# build + install open5gs + +ARG GITHUB_USER=open5gs +ARG GITHUB_REPO=open5gs +ARG OPEN5GS_BRANCH=master +RUN git clone https://github.com/$GITHUB_USER/$GITHUB_REPO +ADD https://api.github.com/repos/$GITHUB_USER/$GITHUB_REPO/git/refs/heads/$OPEN5GS_BRANCH /root/open5gs-ver.json + +RUN cd $GITHUB_REPO && \ + git fetch && git checkout -f -B $OPEN5GS_BRANCH origin/$OPEN5GS_BRANCH && \ + meson build && ninja -C build install diff --git a/open5gs-master/Makefile b/open5gs-master/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/open5gs-master/Makefile @@ -0,0 +1 @@ +include ../make/Makefile diff --git a/open5gs-master/setup.sh b/open5gs-master/setup.sh new file mode 100644 index 0000000..58693fd --- /dev/null +++ b/open5gs-master/setup.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +if ! grep "ogstun" /proc/net/dev > /dev/null; then + ip tuntap add name ogstun mode tun +fi +ip addr del 10.45.0.1/16 dev ogstun 2> /dev/null +ip addr add 10.45.0.1/16 dev ogstun +ip addr del cafe::1/64 dev ogstun 2> /dev/null +ip addr add cafe::1/64 dev ogstun +ip link set ogstun up -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17945 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I089c51caa1b1d8acf0063b7bc7fe61a805b5e800 Gerrit-Change-Number: 17945 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 Apr 26 14:44:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 14:44:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/Osmocom_Gb_Types.ttcn: Fix typo presece->presence in function... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17942 ) Change subject: library/Osmocom_Gb_Types.ttcn: Fix typo presece->presence in function name ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17942 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: I50f1c23e83e9b87de09844226b110d2c48b7cfdb Gerrit-Change-Number: 17942 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 26 Apr 2020 14:44: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 Sun Apr 26 14:44:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 14:44:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/Osmocom_Gb_Types.ttcn: Fix typo presece->presence in function... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17942 ) Change subject: library/Osmocom_Gb_Types.ttcn: Fix typo presece->presence in function name ...................................................................... library/Osmocom_Gb_Types.ttcn: Fix typo presece->presence in function name Change-Id: I50f1c23e83e9b87de09844226b110d2c48b7cfdb --- M library/Osmocom_Gb_Types.ttcn 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn index 9189b3e..9a7c8d1 100644 --- a/library/Osmocom_Gb_Types.ttcn +++ b/library/Osmocom_Gb_Types.ttcn @@ -1091,13 +1091,13 @@ } } - private function f_presece_bit_MultislotCap_GPRS_BSSGP(template (omit) MultislotCap_GPRS_BSSGP mscap_gprs) return BIT1 { + private function f_presence_bit_MultislotCap_GPRS_BSSGP(template (omit) MultislotCap_GPRS_BSSGP mscap_gprs) return BIT1 { if (istemplatekind(mscap_gprs, "omit")) { return '0'B; } return '1'B; } - private function f_presece_bit_MultislotCap_EGPRS_BSSGP(template (omit) MultislotCap_EGPRS_BSSGP mscap_egprs) return BIT1 { + private function f_presence_bit_MultislotCap_EGPRS_BSSGP(template (omit) MultislotCap_EGPRS_BSSGP mscap_egprs) return BIT1 { if (istemplatekind(mscap_egprs, "omit")) { return '0'B; } @@ -1121,14 +1121,14 @@ multislotcap := { presenceBitHscsd := '0'B, hscsdmultislotclass := omit, - presenceBitGprs := f_presece_bit_MultislotCap_GPRS_BSSGP(mscap_gprs), + presenceBitGprs := f_presence_bit_MultislotCap_GPRS_BSSGP(mscap_gprs), gprsmultislot := mscap_gprs, presenceBitSms := '0'B, multislotCap_SMS := omit, multislotCapAdditionsAfterRel97 := { presenceBitEcsdmulti := '0'B, ecsdmultislotclass := omit, - presenceBitEgprsmulti := f_presece_bit_MultislotCap_EGPRS_BSSGP(mscap_egprs), + presenceBitEgprsmulti := f_presence_bit_MultislotCap_EGPRS_BSSGP(mscap_egprs), multislotCap_EGPRS := mscap_egprs, presenceBitDtmGprsmulti := '0'B, multislotCapdtmgprsmultislotsubclass := omit -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17942 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: I50f1c23e83e9b87de09844226b110d2c48b7cfdb Gerrit-Change-Number: 17942 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 Sun Apr 26 14:45:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 14:45:29 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: clarify error message about unexpected MO/MT SMS In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17870 ) Change subject: SMS-over-GSUP: clarify error message about unexpected MO/MT SMS ...................................................................... SMS-over-GSUP: clarify error message about unexpected MO/MT SMS Change-Id: I34b25764f9ce9b09ccd28cf23fea01028d0828e0 --- M src/libmsc/gsm_04_11_gsup.c 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index b6b798f..dfc90cc 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -152,8 +152,8 @@ /* Make sure that 'SMS over GSUP' is expected */ if (!net->sms_over_gsup) { /* TODO: notify sender about that? */ - LOGP(DLSMS, LOGL_NOTICE, "Unexpected MO SMS over GSUP, " - "ignoring message...\n"); + LOGP(DLSMS, LOGL_NOTICE, "Unexpected MO SMS over GSUP " + "(sms-over-gsup is not enabled), ignoring message...\n"); return -EIO; } @@ -243,8 +243,8 @@ /* Make sure that 'SMS over GSUP' is expected */ if (!net->sms_over_gsup) { - LOGP(DLSMS, LOGL_NOTICE, "Unexpected MT SMS over GSUP, " - "ignoring message...\n"); + LOGP(DLSMS, LOGL_NOTICE, "Unexpected MT SMS over GSUP " + "(sms-over-gsup is not enabled), ignoring message...\n"); /* TODO: notify sender about that? */ return -EIO; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17870 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I34b25764f9ce9b09ccd28cf23fea01028d0828e0 Gerrit-Change-Number: 17870 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria 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 Sun Apr 26 14:46:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 14:46:11 +0000 Subject: Change in osmo-bts[master]: measurement: expect at least 1 SUB frame for AMR In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17929 ) Change subject: measurement: expect at least 1 SUB frame for AMR ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1fd91b576ff7274caa6d4356bcd7a4fa4311219d Gerrit-Change-Number: 17929 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 26 Apr 2020 14:46:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Apr 26 15:33:03 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 15:33:03 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea5a9c29fd9a_248e2ab4e597c6008167b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 654s] ^~~~~~~~~~~~~~~~~~~ [ 654s] main.c: In function 'main': [ 654s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 654s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 654s] ^~~~~~~~~~~~~~~~~~~ [ 654s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 654s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 654s] ^ [ 654s] cc1: some warnings being treated as errors [ 654s] Makefile:469: recipe for target 'main.o' failed [ 654s] make[3]: *** [main.o] Error 1 [ 654s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 654s] Makefile:402: recipe for target 'all-recursive' failed [ 654s] make[2]: *** [all-recursive] Error 1 [ 654s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 654s] Makefile:349: recipe for target 'all' failed [ 654s] make[1]: *** [all] Error 2 [ 654s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 654s] dh_auto_build: make -j1 returned exit code 2 [ 654s] debian/rules:45: recipe for target 'build' failed [ 654s] make: *** [build] Error 2 [ 654s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 654s] ### VM INTERACTION START ### [ 657s] [ 623.790722] sysrq: SysRq : Power Off [ 657s] [ 623.826081] reboot: Power down [ 659s] ### VM INTERACTION END ### [ 659s] [ 659s] obs-arm-6 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 15:32:50 UTC 2020. [ 659s] -- 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 Apr 26 15:39:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 26 Apr 2020 15:39:28 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 ) Change subject: Add default APN for each EUA Type ...................................................................... Patch Set 5: Code-Review-1 (3 comments) regarding usefulness of this patch: I thought you really had a specific scenario in mind. Otherwise, if you want to uspport both v4 and v6 addresses for default APN, simply set default-apn to an APN supporting both v4 and v6... I agree with you the only real use for the feature you are adding is in the event you really want to have default working configurations for PDP contexts requesting v4, v6 or v4v6. If you think that's useful we can merge it, otherwise I see no point. https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/5/ggsn/ggsn.c File ggsn/ggsn.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/5/ggsn/ggsn.c at 475 PS5, Line 475: apn = ggsn->cfg.default_apn; Can we have this renamed to default_apn_v4? https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/5/ggsn/ggsn_vty.c File ggsn/ggsn_vty.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/5/ggsn/ggsn_vty.c at 274 PS5, Line 274: "Set a default-APN to be used if no other APN v4 matches\n" You are missing a line here I think (for v4 word). Btw, better use "default-apn (v4|v6|v4v6) NAME" and implement the 3 of them in one command. Same for the "no" commands. https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/5/ggsn/ggsn_vty.c at 306 PS5, Line 306: "Set a default-APN to be used if no other APN v6 matches\n" same, missing line (on all of them) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 Gerrit-PatchSet: 5 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 26 Apr 2020 15:39:28 +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 Apr 26 15:48:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 26 Apr 2020 15:48:37 +0000 Subject: Change in osmo-bts[master]: measurement: expect at least 1 SUB frame for AMR In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17929 ) Change subject: measurement: expect at least 1 SUB frame for AMR ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17929/1/src/common/measurement.c File src/common/measurement.c: https://gerrit.osmocom.org/c/osmo-bts/+/17929/1/src/common/measurement.c at 665 PS1, Line 665: if (lchan->tch_mode != GSM48_CMODE_SPEECH_AMR) { > Can we move all these checks together with the ones above in line 643 please? This comment has not yet been addressesd -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1fd91b576ff7274caa6d4356bcd7a4fa4311219d Gerrit-Change-Number: 17929 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 26 Apr 2020 15:48:37 +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 admin at opensuse.org Sun Apr 26 15:49:55 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 26 Apr 2020 15:49:55 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5ea5adc0af9e2_248e2ab4e597c60082039a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 361s] main.c:448:7: error: implicit declaration of function 'osmo_system_nowait2'; did you mean 'osmo_system_nowait'? [-Werror=implicit-function-declaration] [ 361s] 448 | rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); [ 361s] | ^~~~~~~~~~~~~~~~~~~ [ 361s] | osmo_system_nowait [ 361s] main.c: In function 'main': [ 361s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 361s] 776 | g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 361s] | ^~~~~~~~~~~~~~~~~~~ [ 361s] | osmo_timerfd_setup [ 361s] main.c:776:21: warning: assignment to 'struct osmo_signalfd *' from 'int' makes pointer from integer without a cast [-Wint-conversion] [ 361s] 776 | g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 361s] | ^ [ 361s] cc1: some warnings being treated as errors [ 361s] make[3]: *** [Makefile:479: main.o] Error 1 [ 361s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 361s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 361s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 361s] make[1]: *** [Makefile:349: all] Error 2 [ 361s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 361s] dh_auto_build: error: make -j1 returned exit code 2 [ 361s] make: *** [debian/rules:45: build] Error 25 [ 361s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 361s] ### VM INTERACTION START ### [ 364s] [ 349.727818] sysrq: SysRq : Power Off [ 364s] [ 349.734921] reboot: Power down [ 364s] ### VM INTERACTION END ### [ 364s] [ 364s] lamb19 failed "build osmo-uecups_0.1.3.dsc" at Sun Apr 26 15:49:50 UTC 2020. [ 364s] -- 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 Apr 26 16:26:38 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 26 Apr 2020 16:26:38 +0000 Subject: Change in osmo-bts[master]: osmo-bts-{sysmo, oc2g, lc15}: fix segfault on 'dsp-trace-flag' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17946 ) Change subject: osmo-bts-{sysmo,oc2g,lc15}: fix segfault on 'dsp-trace-flag' ...................................................................... osmo-bts-{sysmo,oc2g,lc15}: fix segfault on 'dsp-trace-flag' == How to reproduce? phy 0 instance 0 dsp-trace-flag error dsp-trace-flag debug == What happens? Program received signal SIGSEGV, Segmentation fault. 0x432dbe64 in strcasecmp () from /lib/libc.so.6 (gdb) (gdb) bt #00x432dbe64 in strcasecmp () from /lib/libc.so.6 #10xb6ed69ec in get_string_value () from /usr/lib/libosmocore.so.12 #20x0001bcf0 in cfg_phy_dsp_trace_f () #30xb6fc1080 in ?? () from /usr/lib/libosmovty.so.4 Backtrace stopped: previous frame identical to this frame (corrupt stack?) Change-Id: I23137930f81bfa8adbb62828f341470c11202b5e --- M src/osmo-bts-litecell15/lc15bts_vty.c M src/osmo-bts-oc2g/oc2gbts_vty.c M src/osmo-bts-sysmo/sysmobts_vty.c 3 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/46/17946/1 diff --git a/src/osmo-bts-litecell15/lc15bts_vty.c b/src/osmo-bts-litecell15/lc15bts_vty.c index 944cfd5..3643a92 100644 --- a/src/osmo-bts-litecell15/lc15bts_vty.c +++ b/src/osmo-bts-litecell15/lc15bts_vty.c @@ -120,7 +120,7 @@ struct phy_instance *pinst = vty->index; unsigned int flag; - flag = get_string_value(lc15bts_tracef_names, argv[1]); + flag = get_string_value(lc15bts_tracef_names, argv[0]); pinst->u.lc15.dsp_trace_f |= flag; return CMD_SUCCESS; @@ -132,7 +132,7 @@ struct phy_instance *pinst = vty->index; unsigned int flag; - flag = get_string_value(lc15bts_tracef_names, argv[1]); + flag = get_string_value(lc15bts_tracef_names, argv[0]); pinst->u.lc15.dsp_trace_f &= ~flag; return CMD_SUCCESS; diff --git a/src/osmo-bts-oc2g/oc2gbts_vty.c b/src/osmo-bts-oc2g/oc2gbts_vty.c index 1f092dd..ecbd797 100644 --- a/src/osmo-bts-oc2g/oc2gbts_vty.c +++ b/src/osmo-bts-oc2g/oc2gbts_vty.c @@ -113,7 +113,7 @@ struct phy_instance *pinst = vty->index; unsigned int flag; - flag = get_string_value(oc2gbts_tracef_names, argv[1]); + flag = get_string_value(oc2gbts_tracef_names, argv[0]); pinst->u.oc2g.dsp_trace_f |= flag; return CMD_SUCCESS; @@ -125,7 +125,7 @@ struct phy_instance *pinst = vty->index; unsigned int flag; - flag = get_string_value(oc2gbts_tracef_names, argv[1]); + flag = get_string_value(oc2gbts_tracef_names, argv[0]); pinst->u.oc2g.dsp_trace_f &= ~flag; return CMD_SUCCESS; diff --git a/src/osmo-bts-sysmo/sysmobts_vty.c b/src/osmo-bts-sysmo/sysmobts_vty.c index 3199c8e..23f69a0 100644 --- a/src/osmo-bts-sysmo/sysmobts_vty.c +++ b/src/osmo-bts-sysmo/sysmobts_vty.c @@ -178,7 +178,7 @@ struct phy_instance *pinst = vty->index; unsigned int flag; - flag = get_string_value(femtobts_tracef_names, argv[1]); + flag = get_string_value(femtobts_tracef_names, argv[0]); pinst->u.sysmobts.dsp_trace_f |= flag; return CMD_SUCCESS; @@ -190,7 +190,7 @@ struct phy_instance *pinst = vty->index; unsigned int flag; - flag = get_string_value(femtobts_tracef_names, argv[1]); + flag = get_string_value(femtobts_tracef_names, argv[0]); pinst->u.sysmobts.dsp_trace_f &= ~flag; return CMD_SUCCESS; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17946 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I23137930f81bfa8adbb62828f341470c11202b5e Gerrit-Change-Number: 17946 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 Apr 26 19:53:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 19:53:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: DIAMETER_Types: Add IETF RFC4006 CreditControl + related References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17947 ) Change subject: DIAMETER_Types: Add IETF RFC4006 CreditControl + related ...................................................................... DIAMETER_Types: Add IETF RFC4006 CreditControl + related This adds more DIAMETER types to our TTCN-3 module, specifically those encountered on Gx between PGW and PCRF. ./AVP.sh Base_IETF_RFC3588.ddf BaseTypes_IETF_RFC3588.ddf AAAInterface_3GPP_TS29272_f10.ddf GxInterface_PCC_3GPP_TS29212_f10.ddf S6Interfaces_3GPP_TS29336_f00.ddf MobileIPv6_HA_IETF_RFC5778.ddf RxInterface_PCC_3GPP_TS29214_f20.ddf NetworkAccessServer_IETF_RFC4005.ddf CreditControl_IETF_RFC4006.ddf CxDxInterface_3GPP_TS29229_c30.ddf GiSGiInterface_3GPP_TS29061_d70.ddf Change-Id: Ibe7321e695337ff62fdc912270f6e13e6c6d6cf2 --- M library/DIAMETER_Types.ttcn 1 file changed, 2,708 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/47/17947/1 diff --git a/library/DIAMETER_Types.ttcn b/library/DIAMETER_Types.ttcn index e0c34e4..972cd6e 100644 --- a/library/DIAMETER_Types.ttcn +++ b/library/DIAMETER_Types.ttcn @@ -4,7 +4,7 @@ // // /////////////////////////////////////////////////// // Generated with command: -// AVP.sh Base_IETF_RFC3588.ddf BaseTypes_IETF_RFC3588.ddf AAAInterface_3GPP_TS29272_f10.ddf GxInterface_PCC_3GPP_TS29212_f10.ddf S6Interfaces_3GPP_TS29336_f00.ddf MobileIPv6_HA_IETF_RFC5778.ddf RxInterface_PCC_3GPP_TS29214_f20.ddf +// AVP.sh Base_IETF_RFC3588.ddf BaseTypes_IETF_RFC3588.ddf AAAInterface_3GPP_TS29272_f10.ddf GxInterface_PCC_3GPP_TS29212_f10.ddf S6Interfaces_3GPP_TS29336_f00.ddf MobileIPv6_HA_IETF_RFC5778.ddf RxInterface_PCC_3GPP_TS29214_f20.ddf NetworkAccessServer_IETF_RFC4005.ddf CreditControl_IETF_RFC4006.ddf CxDxInterface_3GPP_TS29229_c30.ddf GiSGiInterface_3GPP_TS29061_d70.ddf module DIAMETER_Types { /****************************************************************************** * Copyright (c) 2000-2019 Ericsson Telecom AB @@ -3947,17 +3947,1627 @@ type AVP_Unsigned32 RX_3GPP_Extended_Min_Requested_BW_UL -// STATISTICS: 523 AVP descriptors found -// STATISTICS: 523 AVP type definitions matching AVP descriptors found +/****************************************************************************** +* Copyright (c) 2000-2019 Ericsson Telecom AB +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v2.0 +* which accompanies this distribution, and is available at +* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html +* +* Contributors: +* Roland Gecse - initial implementation and initial documentation +* Akos Pernek +* Antal Wuh.Hen.Chang +* Attila Fulop +* Balazs Barcsik +* Bence Molnar +* Csaba Koppany +* David Juhasz +* Eduard Czimbalmos +* Elemer Lelik +* Endre Kiss +* Endre Kulcsar +* Gabor Szalai +* Gabor Tatarka +* Gergely Futo +* Istvan Sandor +* Krisztian Pandi +* Kulcs?r Endre +* Laszlo Tamas Zeke +* Norbert Pinter +* Roland Gecse +* Tibor Bende +* Tibor Szabo +* Timea Moder +* Zoltan Medve +* Zsolt Nandor Torok +* Zsolt Szalai +******************************************************************************/ +// +// File: NetworkAccessServer_IETF_RFC4005.ddf +// Description: DDF for NAS according to RFC 4005 +// Rev: R55A +// Prodnr: CNL113462 +/////////////////////////////////////////////// + +// APPLICATION-NAME: DNAS +// APPLICATION-REVISION: RFC4005 + +// AVP implementations according to: +// RFC 4005 - Diameter Network Access Server Application +// + +// RFC 4005 3 +// WARNING: Enumeration item with code (265) exists in type Command_Code +// WARNING: Enumeration item with code (258) exists in type Command_Code +// WARNING: Enumeration item with code (275) exists in type Command_Code +// WARNING: Enumeration item with code (274) exists in type Command_Code +// WARNING: Enumeration item with code (271) exists in type Command_Code + + +// RFC 4005 +// AVP: NAS-Port (5) +// 4.2 +type AVP_Unsigned32 DNAS_NONE_NAS_Port + +// RFC 4005 +// AVP: NAS-Port-Id (87) +// 4.3 +type AVP_UTF8String DNAS_NONE_NAS_Port_Id + +// RFC 4005 +// AVP: NAS-Port-Type (61) +// 4.4 +type AVP_Unsigned32 DNAS_NONE_NAS_Port_Type + +// RFC 4005 +// AVP: Called-Station-Id (30) +// 4.5 +type AVP_UTF8String DNAS_NONE_Called_Station_Id + +// RFC 4005 +// AVP: Calling-Station-Id (31) +// 4.6 +type AVP_UTF8String DNAS_NONE_Calling_Station_Id + +// RFC 4005 +// AVP: Connect-Info (77) +// 4.7 +type AVP_UTF8String DNAS_NONE_Connect_Info + +// RFC 4005 +// AVP: Originating-Line-Info (94) +// 4.8 +type AVP_OctetString DNAS_NONE_Originating_Line_Info + +// RFC 4005 +// AVP: Reply-Message (18) +// 4.9 +type AVP_UTF8String DNAS_NONE_Reply_Message + + + +// RFC 4005 +// AVP: User-Password (2) +// 5.1 +type AVP_OctetString DNAS_NONE_User_Password + +// RFC 4005 +// AVP: Password-Retry (75) +// 5.2 +type AVP_Unsigned32 DNAS_NONE_Password_Retry + +// RFC 4005 +// AVP: Prompt (76) +// 5.3 +type enumerated DNAS_NONE_Prompt { + NO_ECHO (0), + ECHO (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4005 +// AVP: CHAP-Auth (402) +// 5.4 +type AVP_Grouped DNAS_NONE_CHAP_Auth + +// RFC 4005 +// AVP: CHAP-Algorithm (403) +// 5.5 +type enumerated DNAS_NONE_CHAP_Algorithm { + CHAP_with_MD5 (5) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4005 +// AVP: CHAP-Ident (404) +// 5.6 +type AVP_OctetString DNAS_NONE_CHAP_Ident + +// RFC 4005 +// AVP: CHAP-Response (405) +// 5.7 +type AVP_OctetString DNAS_NONE_CHAP_Response + +// RFC 4005 +// AVP: CHAP-Challenge (60) +// 5.8 +type AVP_OctetString DNAS_NONE_CHAP_Challenge + +// RFC 4005 +// AVP: ARAP-Password (70) +// 5.9 +type AVP_OctetString DNAS_NONE_ARAP_Password + +// RFC 4005 +// AVP: ARAP-Challenge-Response (84) +// 5.10 +type AVP_OctetString DNAS_NONE_ARAP_Challenge_Response + +// RFC 4005 +// AVP: ARAP-Security (73) +// 5.11 +type AVP_Unsigned32 DNAS_NONE_ARAP_Security + +// RFC 4005 +// AVP: ARAP-Security-Data (74) +// 5.12 +type AVP_OctetString DNAS_NONE_ARAP_Security_Data + + + +// RFC 4005 +// AVP: Service-Type (6) +// 6.1 +type AVP_Unsigned32 DNAS_NONE_Service_Type + +// RFC 4005 +// AVP: Callback-Number (19) +// 6.2 +type AVP_UTF8String DNAS_NONE_Callback_Number + +// RFC 4005 +// AVP: Callback-Id (20) +// 6.3 +type AVP_UTF8String DNAS_NONE_Callback_Id + +// RFC 4005 +// AVP: Idle-Timeout (28) +// 6.4 +type AVP_Unsigned32 DNAS_NONE_Idle_Timeout + +// RFC 4005 +// AVP: Port-Limit (62) +// 6.5 +type AVP_Unsigned32 DNAS_NONE_Port_Limit + +// RFC 4005 +// AVP: NAS-Filter-Rule (400) +// 6.6 +type AVP_IPFilterRule DNAS_NONE_NAS_Filter_Rule + +// RFC 4005 +// AVP: Filter-Id (11) +// 6.7 +type AVP_UTF8String DNAS_NONE_Filter_Id + +// RFC 4005 +// AVP: Configuration-Token (78) +// 6.8 +type AVP_OctetString DNAS_NONE_Configuration_Token + +// RFC 4005 +// AVP: QoS-Filter-Rule (407) +// 6.9 +type AVP_QoSFilterRule DNAS_NONE_QoS_Filter_Rule + +// RFC 4005 +// AVP: Framed-Protocol (7) +// 6.10.1 +type enumerated DNAS_NONE_Framed_Protocol { + PPP (1), + SLIP (2), + ARAP (3), + GANDALF (4), + XYLOGICS (5), + X_75_SYNCHRONOUS (6), + GPRS_PDP_CONTEXT (7) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4005 +// AVP: Framed-Routing (10) +// 6.10.2 +type enumerated DNAS_NONE_Framed_Routing { + NONE (0), + SEND_ROUTING_PACKETS (1), + LISTEN_FOR_ROUTING_PACKETS (2), + SEND_AND_LISTEN (3) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4005 +// AVP: Framed-MTU (12) +// 6.10.3 +type AVP_Unsigned32 DNAS_NONE_Framed_MTU + +// RFC 4005 +// AVP: Framed-Compression (13) +// 6.10.4 +type enumerated DNAS_NONE_Framed_Compression { + NONE (0), + VJ_TCP_IP_HEADER_COMPRESSION (1), + IPX_HEADER_COMPRESSION (2), + STAC_LZS_COMPRESSION (3) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4005 +// AVP: Framed-IP-Address (8) +// 6.11.1 +type AVP_OctetString DNAS_NONE_Framed_IP_Address + +// RFC 4005 +// AVP: Framed-IP-Netmask (9) +// 6.11.2 +type AVP_OctetString DNAS_NONE_Framed_IP_Netmask + +// RFC 4005 +// AVP: Framed-Route (22) +// 6.11.3 +type AVP_UTF8String DNAS_NONE_Framed_Route + +// RFC 4005 +// AVP: Framed-Pool (88) +// 6.11.4 +type AVP_OctetString DNAS_NONE_Framed_Pool + +// RFC 4005 +// AVP: Framed-Interface-Id (96) +// 6.11.5 +type AVP_Unsigned64 DNAS_NONE_Framed_Interface_Id + +// RFC 4005 +// AVP: Framed-IPv6-Prefix (97) +// 6.11.6 +type AVP_OctetString DNAS_NONE_Framed_IPv6_Prefix + +// RFC 4005 +// AVP: Framed-IPv6-Route (99) +// 6.11.7 +type AVP_UTF8String DNAS_NONE_Framed_IPv6_Route + +// RFC 4005 +// AVP: Framed-IPv6-Pool (100) +// 6.11.8 +type AVP_OctetString DNAS_NONE_Framed_IPv6_Pool + +// RFC 4005 +// AVP: Framed-IPX-Network (23) +// 6.12.1 +type AVP_UTF8String DNAS_NONE_Framed_IPX_Network + +// RFC 4005 +// AVP: Framed-Appletalk-Link (37) +// 6.13.1 +type AVP_Unsigned32 DNAS_NONE_Framed_Appletalk_Link + +// RFC 4005 +// AVP: Framed-Appletalk-Network (38) +// 6.13.2 +type AVP_Unsigned32 DNAS_NONE_Framed_Appletalk_Network + +// RFC 4005 +// AVP: Framed-Appletalk-Zone (39) +// 6.13.3 +type AVP_OctetString DNAS_NONE_Framed_Appletalk_Zone + +// RFC 4005 +// AVP: ARAP-Features (71) +// 6.14.1 +type AVP_OctetString DNAS_NONE_ARAP_Features + +// RFC 4005 +// AVP: ARAP-Zone-Access (72) +// 6.14.2 +type enumerated DNAS_NONE_ARAP_Zone_Access { + ONLY_ALLOW_ACCESS_TO_DEFAULT_ZONE (1), + USE_ZONE_FILTER_INCLUSIVELY (2), + USE_ZONE_FILTER_EXCLUSIVELY (4) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4005 +// AVP: Login-IP-Host (14) +// 6.15.1 +type AVP_OctetString DNAS_NONE_Login_IP_Host + +// RFC 4005 +// AVP: Login-IPv6-Host (98) +// 6.15.2 +type AVP_OctetString DNAS_NONE_Login_IPv6_Host + +// RFC 4005 +// AVP: Login-Service (15) +// 6.15.3 +type enumerated DNAS_NONE_Login_Service { + TELNET (0), + RLOGIN (1), + TCP_CLEAR (2), + PORTMASTER (3), + LAT (4), + X25_PAD (5), + X25_T3POS (6), + TCP_CLEAR_QUIET (8) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4005 +// AVP: Login-TCP-Port (16) +// 6.16.1 +type AVP_Unsigned32 DNAS_NONE_Login_TCP_Port + +// RFC 4005 +// AVP: Login-LAT-Service (34) +// 6.17.1 +type AVP_OctetString DNAS_NONE_Login_LAT_Service + +// RFC 4005 +// AVP: Login-LAT-Node (35) +// 6.17.2 +type AVP_OctetString DNAS_NONE_Login_LAT_Node + +// RFC 4005 +// AVP: Login-LAT-Group (36) +// 6.17.3 +type AVP_OctetString DNAS_NONE_Login_LAT_Group + +// RFC 4005 +// AVP: Login-LAT-Port (63) +// 6.17.4 +type AVP_OctetString DNAS_NONE_Login_LAT_Port + + + +// RFC 4005 +// AVP: Tunneling (401) +// 7.1 +type AVP_Grouped DNAS_NONE_Tunneling + +// RFC 4005 +// AVP: Tunnel-Type (64) +// 7.2 +type AVP_Unsigned32 DNAS_NONE_Tunnel_Type + +// RFC 4005 +// AVP: Tunnel-Medium-Type (65) +// 7.3 +type AVP_Unsigned32 DNAS_NONE_Tunnel_Medium_Type + +// RFC 4005 +// AVP: Tunnel-Client-Endpoint (66) +// 7.4 +type AVP_UTF8String DNAS_NONE_Tunnel_Client_Endpoint + +// RFC 4005 +// AVP: Tunnel-Server-Endpoint (67) +// 7.5 +type AVP_UTF8String DNAS_NONE_Tunnel_Server_Endpoint + +// RFC 4005 +// AVP: Tunnel-Password (69) +// 7.6 +type AVP_OctetString DNAS_NONE_Tunnel_Password + +// RFC 4005 +// AVP: Tunnel-Private-Group-Id (81) +// 7.7 +type AVP_OctetString DNAS_NONE_Tunnel_Private_Group_Id + +// RFC 4005 +// AVP: Tunnel-Assignment-Id (82) +// 7.8 +type AVP_OctetString DNAS_NONE_Tunnel_Assignment_Id + +// RFC 4005 +// AVP: Tunnel-Preference (83) +// 7.9 +type AVP_Unsigned32 DNAS_NONE_Tunnel_Preference + +// RFC 4005 +// AVP: Tunnel-Client-Auth-Id (90) +// 7.10 +type AVP_UTF8String DNAS_NONE_Tunnel_Client_Auth_Id + +// RFC 4005 +// AVP: Tunnel-Server-Auth-Id (91) +// 7.11 +type AVP_UTF8String DNAS_NONE_Tunnel_Server_Auth_Id + + + +// RFC 4005 +// AVP: Accounting-Input-Octets (363) +// 8.1 +type AVP_Unsigned64 DNAS_NONE_Accounting_Input_Octets + +// RFC 4005 +// AVP: Accounting-Output-Octets (364) +// 8.2 +type AVP_Unsigned64 DNAS_NONE_Accounting_Output_Octets + +// RFC 4005 +// AVP: Accounting-Input-Packets (365) +// 8.3 +type AVP_Unsigned64 DNAS_NONE_Accounting_Input_Packets + +// RFC 4005 +// AVP: Accounting-Output-Packets (366) +// 8.4 +type AVP_Unsigned64 DNAS_NONE_Accounting_Output_Packets + +// RFC 4005 +// AVP: Acct-Session-Time (46) +// 8.5 +type AVP_Unsigned32 DNAS_NONE_Acct_Session_Time + +// RFC 4005 +// AVP: Acct-Authentic (45) +// 8.6 +type enumerated DNAS_NONE_Acct_Authentic { + RADIUS (1), + LOCAL (2), + REMOTE (3), + DIAMETER (4) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4005 +// AVP: Accounting-Auth-Method (406) +// 8.7 +type enumerated DNAS_NONE_Accounting_Auth_Method { + PAP (1), + CHAP (2), + MS_CHAP_1 (3), + MS_CHAP_2 (4), + EAP (5), + None (7) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4005 +// AVP: Acct-Delay-Time (41) +// 8.8 +type AVP_Unsigned32 DNAS_NONE_Acct_Delay_Time + +// RFC 4005 +// AVP: Acct-Link-Count (51) +// 8.9 +type AVP_Unsigned32 DNAS_NONE_Acct_Link_Count + +// RFC 4005 +// AVP: Acct-Tunnel-Connection (68) +// 8.10 +type AVP_OctetString DNAS_NONE_Acct_Tunnel_Connection + +// RFC 4005 +// AVP: Acct-Tunnel-Packets-Lost (86) +// 8.11 +type AVP_Unsigned32 DNAS_NONE_Acct_Tunnel_Packets_Lost + + + +// RFC 4005 +// AVP: NAS-Identifier (32) +// 9.3.1 +type AVP_UTF8String DNAS_NONE_NAS_Identifier + +// RFC 4005 +// AVP: NAS-IP-Address (4) +// 9.3.2 +type AVP_OctetString DNAS_NONE_NAS_IP_Address + +// RFC 4005 +// AVP: NAS-IPv6-Address (95) +// 9.3.3 +type AVP_OctetString DNAS_NONE_NAS_IPv6_Address + +// RFC 4005 +// AVP: State (24) +// 9.3.4 +type AVP_OctetString DNAS_NONE_State + +// RFC 4005 +// AVP: Origin-AAA-Protocol (408) +// 9.3.6 +type enumerated DNAS_NONE_Origin_AAA_Protocol { + RADIUS (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} +/****************************************************************************** +* Copyright (c) 2000-2019 Ericsson Telecom AB +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v2.0 +* which accompanies this distribution, and is available at +* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html +* +* Contributors: +* Roland Gecse - initial implementation and initial documentation +* Akos Pernek +* Antal Wuh.Hen.Chang +* Attila Fulop +* Balazs Barcsik +* Bence Molnar +* Csaba Koppany +* David Juhasz +* Eduard Czimbalmos +* Elemer Lelik +* Endre Kiss +* Endre Kulcsar +* Gabor Szalai +* Gabor Tatarka +* Gergely Futo +* Istvan Sandor +* Krisztian Pandi +* Kulcs?r Endre +* Laszlo Tamas Zeke +* Norbert Pinter +* Roland Gecse +* Tibor Bende +* Tibor Szabo +* Timea Moder +* Zoltan Medve +* Zsolt Nandor Torok +* Zsolt Szalai +******************************************************************************/ +// +// File: CreditControl_IETF_RFC4006.ddf +// Description: DDF for DCC according to RFC 4006 +// Rev: R55A +// Prodnr: CNL 1134 62 +/////////////////////////////////////////////// + +// APPLICATION-NAME: DCC +// APPLICATION-REVISION: RFC4006 + +// AVP implementations according to: +// RFC 4006 - Diameter Credit Control Application +// IS for Additional Billing for Verizon in MTAS 125/1594-FCP 101 8664 Uen PA8 + +// RFC 4006 12.2 +// WARNING: Enumeration item with code (272) exists in type Command_Code + + +// RFC 4006 +// AVP: CC-Correlation-Id (411) +// 8.1 +type AVP_OctetString DCC_NONE_CC_Correlation_Id + +// RFC 4006 +// AVP: CC-Input-Octets (412) +// 8.24 +type AVP_Unsigned64 DCC_NONE_CC_Input_Octets + +// RFC 4006 +// AVP: CC-Money (413) +// 8.22 +type AVP_Grouped DCC_NONE_CC_Money + +// RFC 4006 +// AVP: CC-Output-Octets (414) +// 8.25 +type AVP_Unsigned64 DCC_NONE_CC_Output_Octets + +// RFC 4006 +// AVP: CC-Request-Number (415) +// 8.2 +type AVP_Unsigned32 DCC_NONE_CC_Request_Number + +// RFC 4006 +// AVP: CC-Request-Type (416) +// 8.3 +type enumerated DCC_NONE_CC_Request_Type { + INITIAL_REQUEST (1), + UPDATE_REQUEST (2), + TERMINATION_REQUEST (3), + EVENT_REQUEST (4) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: CC-Service-Specific-Units (417) +// 8.26 +type AVP_Unsigned64 DCC_NONE_CC_Service_Specific_Units + +// RFC 4006 +// AVP: CC-Session-Failover (418) +// 8.4 +type enumerated DCC_NONE_CC_Session_Failover { + FAILOVER_NOT_SUPPORTED (0), + FAILOVER_SUPPORTED (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: CC-Sub-Session-Id (419) +// 8.5 +type AVP_Unsigned64 DCC_NONE_CC_Sub_Session_Id + +// RFC 4006 +// AVP: CC-Time (420) +// 8.21 +type AVP_Unsigned32 DCC_NONE_CC_Time + +// RFC 4006 +// AVP: CC-Total-Octets (421) +// 8.23 +type AVP_Unsigned64 DCC_NONE_CC_Total_Octets + +// RFC 4006 +// AVP: CC-Unit-Type (454) +// 8.32 +type enumerated DCC_NONE_CC_Unit_Type { + TIME (0), + MONEY (1), + TOTAL_OCTETS (2), + INPUT_OCTETS (3), + OUTPUT_OCTETS (4), + SERVICE_SPECIFIC_UNITS (5) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Check-Balance-Result (422) +// 8.6 +type enumerated DCC_NONE_Check_Balance_Result { + ENOUGH_CREDIT (0), + NO_CREDIT (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Cost-Information (423) +// 8.7 +type AVP_Grouped DCC_NONE_Cost_Information + +// RFC 4006 +// AVP: Cost-Unit (424) +// 8.12 +type AVP_UTF8String DCC_NONE_Cost_Unit + +// RFC 4006 +// AVP: Credit-Control (426) +// 8.13 +type enumerated DCC_NONE_Credit_Control { + CREDIT_AUTHORIZATION (0), + RE_AUTHORIZATION (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Credit-Control-Failure-Handling (427) +// 8.14 +type enumerated DCC_NONE_Credit_Control_Failure_Handling { + TERMINATE (0), + CONTINUE (1), + RETRY_AND_TERMINATE (2) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Currency-Code (425) +// 8.11 +type AVP_Unsigned32 DCC_NONE_Currency_Code + +// RFC 4006 +// AVP: Direct-Debiting-Failure-Handling (428) +// 8.15 +type enumerated DCC_NONE_Direct_Debiting_Failure_Handling { + TERMINATE_OR_BUFFER (0), + CONTINUE (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Exponent (429) +// 8.9 +type AVP_Integer32 DCC_NONE_Exponent + +// RFC 4006 +// AVP: Final-Unit-Action (449) +// 8.35 +type enumerated DCC_NONE_Final_Unit_Action { + TERMINATE (0), + REDIRECT (1), + RESTRICT_ACCESS (2) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Final-Unit-Indication (430) +// 8.34 +type AVP_Grouped DCC_NONE_Final_Unit_Indication + +// RFC 4006 +// AVP: Granted-Service-Unit (431) +// 8.17 +type AVP_Grouped DCC_NONE_Granted_Service_Unit + +// RFC 4006 +// AVP: G-S-U-Pool-Identifier (453) +// 8.31 +type AVP_Unsigned32 DCC_NONE_G_S_U_Pool_Identifier + +// RFC 4006 +// AVP: G-S-U-Pool-Reference (457) +// 8.30 +type AVP_Grouped DCC_NONE_G_S_U_Pool_Reference + +// RFC 4006 +// AVP: Multiple-Services-Credit-Control (456) +// 8.16 +type AVP_Grouped DCC_NONE_Multiple_Services_Credit_Control + +// RFC 4006 +// AVP: Multiple-Services-Indicator (455) +// 8.40 +type enumerated DCC_NONE_Multiple_Services_Indicator { + MULTIPLE_SERVICES_NOT_SUPPORTED (0), + MULTIPLE_SERVICES_SUPPORTED (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Rating-Group (432) +// 8.29 +type AVP_Unsigned32 DCC_NONE_Rating_Group + +// RFC 4006 +// AVP: Redirect-Address-Type (433) +// 8.38 +type enumerated DCC_NONE_Redirect_Address_Type { + IPV4_ADDRESS (0), + IPV6_ADDRESS (1), + URL (2), + SIP_URI (3) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Redirect-Server (434) +type AVP_Grouped DCC_NONE_Redirect_Server + +// RFC 4006 +// AVP: Redirect-Server-Address (435) +// 8.37 +type AVP_UTF8String DCC_NONE_Redirect_Server_Address + +// RFC 4006 +// AVP: Requested-Action (436) +// 8.41 +type enumerated DCC_NONE_Requested_Action { + DIRECT_DEBITING (0), + REFUND_ACCOUNT (1), + CHECK_BALANCE (2), + PRICE_ENQUIRY (3) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Requested-Service-Unit (437) +// 8.18 +type AVP_Grouped DCC_NONE_Requested_Service_Unit + +// RFC 4006 +// AVP: Restriction-Filter-Rule (438) +// 8.36 +type AVP_IPFilterRule DCC_NONE_Restriction_Filter_Rule + +// RFC 4006 +// AVP: Service-Context-Id (461) +// 8.42 +type AVP_UTF8String DCC_NONE_Service_Context_Id + +// RFC 4006 +// AVP: Service-Identifier (439) +// 8.28 +type AVP_Unsigned32 DCC_NONE_Service_Identifier + +// RFC 4006 +// AVP: Service-Parameter-Info (440) +// 8.43 +type AVP_Grouped DCC_NONE_Service_Parameter_Info + +// RFC 4006 +// AVP: Service-Parameter-Type (441) +// 8.44 +type AVP_Unsigned32 DCC_NONE_Service_Parameter_Type + +// RFC 4006 +// AVP: Service-Parameter-Value (442) +// 8.45 +type AVP_OctetString DCC_NONE_Service_Parameter_Value + +// RFC 4006 +// AVP: Subscription-Id (443) +// 8.46 +type AVP_Grouped DCC_NONE_Subscription_Id + +// RFC 4006 +// AVP: Subscription-Id-Data (444) +// 8.48 +type AVP_UTF8String DCC_NONE_Subscription_Id_Data + +// RFC 4006 +// AVP: Subscription-Id-Type (450) +// 8.47 +type enumerated DCC_NONE_Subscription_Id_Type { + END_USER_E164 (0), + END_USER_IMSI (1), + END_USER_SIP_URI (2), + END_USER_NAI (3), + END_USER_PRIVATE (4) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Tariff-Change-Usage (452) +// 8.27 +type enumerated DCC_NONE_Tariff_Change_Usage { + UNIT_BEFORE_TARIFF_CHANGE (0), + UNIT_AFTER_TARIFF_CHANGE (1), + UNIT_INDETERMINATE (2) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Tariff-Time-Change (451) +// 8.20 +type AVP_Time DCC_NONE_Tariff_Time_Change + +// RFC 4006 +// AVP: Unit-Value (445) +// 8.8 +type AVP_Grouped DCC_NONE_Unit_Value + +// RFC 4006 +// AVP: Used-Service-Unit (446) +// 8.19 +type AVP_Grouped DCC_NONE_Used_Service_Unit + +// RFC 4006 +// AVP: User-Equipment-Info (458) +// 8.49 +type AVP_Grouped DCC_NONE_User_Equipment_Info + +// RFC 4006, 125/1594-FCP 101 8664 +// AVP: User-Equipment-Info-Type (459) +// RFC 4006 section 8.50, 125/1594-FCP 101 8664 section 3.3.12 +type enumerated DCC_NONE_User_Equipment_Info_Type { + IMEISV (0), + MAC (1), + EUI64 (2), + MODIFIED_EUI64 (3), + ESN (4), + MEID (5) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: User-Equipment-Info-Value (460) +// 8.51 +type AVP_OctetString DCC_NONE_User_Equipment_Info_Value + +// RFC 4006 +// AVP: Value-Digits (447) +// 8.10 +type AVP_Integer64 DCC_NONE_Value_Digits + +// RFC 4006 +// AVP: Validity-Time (448) +// 8.33 +type AVP_Unsigned32 DCC_NONE_Validity_Time + +/****************************************************************************** +* Copyright (c) 2000-2019 Ericsson Telecom AB +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v2.0 +* which accompanies this distribution, and is available at +* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html +* +* Contributors: +* Gabor Szalai - initial implementation and initial documentation +******************************************************************************/ +// +// File: CxDxInterface_3GPP_TS29229_c30.ddf +// Description: DDF for CxDx according to 3GPP TS 29.229 V12.3.0 +// Rev: R55A +// Prodnr: CNL 113 462 +/////////////////////////////////////////////// + + +// APPLICATION-NAME: CxDx +// APPLICATION-REVISION: V12_3_0 + +// AVP implementations according to: +// 3GPP TS 29.229 V12.3.0 - Cx and Dx interfaces based on the Diameter protocol +// +// +// Dependant applications +// IETF RFC 3588 - Diameter Base Protocol +// IETF RFC 4005 - Diameter Network Access Server Application +// IETF RFC 5090 (Obsoletes: 4590) - RADIUS Extension for Digest Authentication +// +// Notes: +// Present application has its own vendor specific Diameter application id: 16777216 +// + +// 3GPP TS 29.229 V12.3.0 6.1 + + + + +// 3GPP 29.229 V12.3.0 +// AVP: Visited-Network-Identifier (600) 3GPP (10415) +// 6.3.1 +type AVP_OctetString CxDx_3GPP_Visited_Network_Identifier + +// 3GPP 29.229 V12.3.0 +// AVP: Public-Identity (601) 3GPP (10415) +// 6.3.2 +type AVP_UTF8String CxDx_3GPP_Public_Identity + +// 3GPP 29.229 V12.3.0 +// AVP: Server-Name (602) 3GPP (10415) +// 6.3.3 +type AVP_UTF8String CxDx_3GPP_Server_Name + +// 3GPP 29.229 V12.3.0 +// AVP: Server-Capabilities (603) 3GPP (10415) +// 6.3.4 +type AVP_Grouped CxDx_3GPP_Server_Capabilities + +// 3GPP 29.229 V12.3.0 +// AVP: Mandatory-Capability (604) 3GPP (10415) +// 6.3.5 +type AVP_Unsigned32 CxDx_3GPP_Mandatory_Capability + +// 3GPP 29.229 V12.3.0 +// AVP: Optional-Capability (605) 3GPP (10415) +// 6.3.6 +type AVP_Unsigned32 CxDx_3GPP_Optional_Capability + +// 3GPP 29.229 V12.3.0 +// AVP: User-Data (606) 3GPP (10415) +// 6.3.7 +type AVP_OctetString CxDx_3GPP_User_Data + +// 3GPP 29.229 V12.3.0 +// AVP: SIP-Number-Auth-Items (607) 3GPP (10415) +// 6.3.8 +type AVP_Unsigned32 CxDx_3GPP_SIP_Number_Auth_Items + +// 3GPP 29.229 V12.3.0 +// AVP: SIP-Authentication-Scheme (608) 3GPP (10415) +// 6.3.9 +type AVP_UTF8String CxDx_3GPP_SIP_Authentication_Scheme + +// 3GPP 29.229 V12.3.0 +// AVP: SIP-Authenticate (609) 3GPP (10415) +// 6.3.10 +type AVP_OctetString CxDx_3GPP_SIP_Authenticate + +// 3GPP 29.229 V12.3.0 +// AVP: SIP-Authorization (610) 3GPP (10415) +// 6.3.11 +type AVP_OctetString CxDx_3GPP_SIP_Authorization + +// 3GPP 29.229 V12.3.0 +// AVP: SIP-Authentication-Context (611) 3GPP (10415) +// 6.3.12 +type AVP_OctetString CxDx_3GPP_SIP_Authentication_Context + +// 3GPP 29.229 V12.3.0 +// AVP: SIP-Auth-Data-Item (612) 3GPP (10415) +// 6.3.13 +type AVP_Grouped CxDx_3GPP_SIP_Auth_Data_Item + +// 3GPP 29.229 V12.3.0 +// AVP: SIP-Item-Number (613) 3GPP (10415) +// 6.3.14 +type AVP_Unsigned32 CxDx_3GPP_SIP_Item_Number + +// 3GPP 29.229 V12.3.0 +// AVP: Server-Assignment-Type (614) 3GPP (10415) +// 6.3.15 +type enumerated CxDx_3GPP_Server_Assignment_Type { + NO_ASSIGNMENT (0), + REGISTRATION (1), + RE_REGISTRATION (2), + UNREGISTERED_USER (3), + TIMEOUT_DEREGISTRATION (4), + USER_DEREGISTRATION (5), + TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME (6), + USER_DEREGISTRATION_STORE_SERVER_NAME (7), + ADMINISTRATIVE_DEREGISTRATION (8), + AUTHENTICATION_FAILURE (9), + AUTHENTICATION_TIMEOUT (10), + DEREGISTRATION_TOO_MUCH_DATA (11), + AAA_USER_DATA_REQUEST (12), + PGW_UPDATE (13), + RESTORATION (14) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// 3GPP 29.229 V12.3.0 +// AVP: Deregistration-Reason (615) 3GPP (10415) +// 6.3.16 +type AVP_Grouped CxDx_3GPP_Deregistration_Reason + +// 3GPP 29.229 V12.3.0 +// AVP: Reason-Code (616) 3GPP (10415) +// 6.3.17 +type enumerated CxDx_3GPP_Reason_Code { + PERMANENT_TERMINATION (0), + NEW_SERVER_ASSIGNED (1), + SERVER_CHANGE (2), + REMOVE_S_CSCF (3) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// 3GPP 29.229 V12.3.0 +// AVP: Reason-Info (617) 3GPP (10415) +// 6.3.18 +type AVP_UTF8String CxDx_3GPP_Reason_Info + +// 3GPP 29.229 V12.3.0 +// AVP: Charging-Information (618) 3GPP (10415) +// 6.3.19 +type AVP_Grouped CxDx_3GPP_Charging_Information + +// 3GPP 29.229 V12.3.0 +// AVP: Primary-Event-Charging-Function-Name (619) 3GPP (10415) +// 6.3.20 +type AVP_DiameterURI CxDx_3GPP_Primary_Event_Charging_Function_Name + +// 3GPP 29.229 V12.3.0 +// AVP: Secondary-Event-Charging-Function-Name (620) 3GPP (10415) +// 6.3.21 +type AVP_DiameterURI CxDx_3GPP_Secondary_Event_Charging_Function_Name + +// 3GPP 29.229 V12.3.0 +// AVP: Primary-Charging-Collection-Function-Name (621) 3GPP (10415) +// 6.3.22 +type AVP_DiameterURI CxDx_3GPP_Primary_Charging_Collection_Function_Name + +// 3GPP 29.229 V12.3.0 +// AVP: Secondary-Charging-Collection-Function-Name (622) 3GPP (10415) +// 6.3.23 +type AVP_DiameterURI CxDx_3GPP_Secondary_Charging_Collection_Function_Name + +// 3GPP 29.229 V12.3.0 +// AVP: User-Authorization-Type (623) 3GPP (10415) +// 6.3.24 +type enumerated CxDx_3GPP_User_Authorization_Type { + REGISTRATION (0), + DE_REGISTRATION (1), + REGISTRATION_AND_CAPABILITIES (2) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// 3GPP 29.229 V12.3.0 +// AVP: User-Data-Already-Available (624) 3GPP (10415) +// 6.3.26 +type enumerated CxDx_3GPP_User_Data_Already_Available { + USER_DATA_NOT_AVAILABLE (0), + USER_DATA_ALREADY_AVAILABLE (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// 3GPP 29.229 V12.3.0 +// AVP: Confidentiality-Key (625) 3GPP (10415) +// 6.3.27 +type AVP_OctetString CxDx_3GPP_Confidentiality_Key + +// 3GPP 29.229 V12.3.0 +// AVP: Integrity-Key (626) 3GPP (10415) +// 6.3.28 +type AVP_OctetString CxDx_3GPP_Integrity_Key + +// 3GPP 29.229 V12.3.0 +// AVP: Supported-Features (628) 3GPP (10415) +// 6.3.29 +type AVP_Grouped CxDx_3GPP_Supported_Features + +// 3GPP 29.229 V12.3.0 +// AVP: Feature-List-ID (629) 3GPP (10415) +// 6.3.30 +type AVP_Unsigned32 CxDx_3GPP_Feature_List_ID + +// 3GPP 29.229 V12.3.0 +// AVP: Feature-List (630) 3GPP (10415) +// 6.3.31 +type AVP_Unsigned32 CxDx_3GPP_Feature_List + +// 3GPP 29.229 V12.3.0 +// AVP: Supported-Applications (631) 3GPP (10415) +// 6.3.32 +type AVP_Grouped CxDx_3GPP_Supported_Applications + +// 3GPP 29.229 V12.3.0 +// AVP: Associated-Identities (632) 3GPP (10415) +// 6.3.33 +type AVP_Grouped CxDx_3GPP_Associated_Identities + +// 3GPP TS 29.229 V12.3.0 +// AVP: Originating-Request (633) 3GPP (10415) +// 6.3.34 +type enumerated CxDx_3GPP_Originating_Request { + ORIGINATING (0) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// 3GPP TS 29.229 V12.3.0 +// AVP: Wildcarded-Public-Identity (634) 3GPP (10415) +// 6.3.35 +type AVP_UTF8String CxDx_3GPP_Wildcarded_Public_Identity + +// 3GPP TS 29.229 V12.3.0 +// AVP: SIP-Digest-Authenticate (635) 3GPP (10415) +// 6.3.36 +type AVP_Grouped CxDx_3GPP_SIP_Digest_Authenticate + +// 3GPP 29.229 V12.3.0 +// AVP: Line-Identifier (500) ETSI (13019) +// 6.3.42 +type AVP_OctetString CxDx_ETSI_Line_Identifier + +// 3GPP TS 29.229 V12.3.0 +// AVP: UAR-Flags (637) 3GPP (10415) +// 6.3.44 +type AVP_Unsigned32 CxDx_3GPP_UAR_Flags + +// 3GPP TS 29.229 V12.3.0 +// AVP: Loose-Route-Indication (638) 3GPP (10415) +// 6.3.45 +type enumerated CxDx_3GPP_Loose_Route_Indication { + LOOSE_ROUTE_NOT_REQUIRED (0), + LOOSE_ROUTE_REQUIRED (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// 3GPP TS 29.229 V12.3.0 +// AVP: SCSCF-Restoration-Info (639) 3GPP (10415) +// 6.3.46 +type AVP_Grouped CxDx_3GPP_SCSCF_Restoration_Info + +// 3GPP TS 29.229 V12.3.0 +// AVP: Path (640) 3GPP (10415) +// 6.3.47 +type AVP_OctetString CxDx_3GPP_Path + +// 3GPP TS 29.229 V12.3.0 +// AVP: Contact (641) 3GPP (10415) +// 6.3.48 +type AVP_OctetString CxDx_3GPP_Contact + +// 3GPP TS 29.229 V12.3.0 +// AVP: Subscription-Info (642) 3GPP (10415) +// 6.3.49 +type AVP_Grouped CxDx_3GPP_Subscription_Info + +// 3GPP TS 29.229 V12.3.0 +// AVP: Call-ID-SIP-Header (643) 3GPP (10415) +// 6.3.49.1 +type AVP_OctetString CxDx_3GPP_Call_ID_SIP_Header + +// 3GPP TS 29.229 V12.3.0 +// AVP: From-SIP-Header (644) 3GPP (10415) +// 6.3.49.2 +type AVP_OctetString CxDx_3GPP_From_SIP_Header + +// 3GPP TS 29.229 V12.3.0 +// AVP: To-SIP-Header (645) 3GPP (10415) +// 6.3.49.3 +type AVP_OctetString CxDx_3GPP_To_SIP_Header + +// 3GPP TS 29.229 V12.3.0 +// AVP: Record-Route (646) 3GPP (10415) +// 6.3.49.4 +type AVP_OctetString CxDx_3GPP_Record_Route + +// 3GPP TS 29.229 V12.3.0 +// AVP: Associated-Registered-Identities (647) 3GPP (10415) +// 6.3.50 +type AVP_Grouped CxDx_3GPP_Associated_Registered_Identities + +// 3GPP TS 29.229 V12.3.0 +// AVP: Multiple-Registration-Indication (648) 3GPP (10415) +// 6.3.51 +type enumerated CxDx_3GPP_Multiple_Registration_Indication { + NOT_MULTIPLE_REGISTRATION (0), + MULTIPLE_REGISTRATION (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// 3GPP TS 29.229 V12.3.0 +// AVP: Restoration-Info (649) 3GPP (10415) +// 6.3.52 +type AVP_Grouped CxDx_3GPP_Restoration_Info + +// 3GPP TS 29.229 V12.3.0 +// AVP: Session-Priority (650) 3GPP (10415) +// 6.3.56 +type enumerated CxDx_3GPP_Session_Priority { + PRIORITY_0 (0), + PRIORITY_1 (1), + PRIORITY_2 (2), + PRIORITY_3 (3), + PRIORITY_4 (4) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// 3GPP TS 29.229 V12.3.0 +// AVP: Identity-with-Emergency-Registration (651) 3GPP (10415) +// 6.3.57 +type AVP_Grouped CxDx_3GPP_Identity_with_Emergency_Registration + +// 3GPP TS 29.229 V12.3.0 +// AVP: Priviledged-Sender-Indication (652) 3GPP (10415) +// 6.3.58 +type enumerated CxDx_3GPP_Priviledged_Sender_Indication { + NOT_PRIVILEDGED_SENDER (0), + PRIVILEDGED_SENDER (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// 3GPP TS 29.229 V12.3.0 +// AVP: LIA-Flags (653) 3GPP (10415) +// 6.3.59 +type AVP_Unsigned32 CxDx_3GPP_LIA_Flags + +// 3GPP TS 29.229 V12.3.0 +// AVP: Initial-CSeq-Sequence-Number (654) 3GPP (10415) +// 6.3.62 +type AVP_Unsigned32 CxDx_3GPP_Initial_CSeq_Sequence_Number + +// 3GPP TS 29.229 V12.3.0 +// AVP: SAR-Flags (655) 3GPP (10415) +// 6.3.63 +type AVP_Unsigned32 CxDx_3GPP_SAR_Flags + +/****************************************************************************** +* Copyright (c) 2000-2019 Ericsson Telecom AB +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v2.0 +* which accompanies this distribution, and is available at +* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html +* +* Contributors: +* M??t?? Kov??cs +******************************************************************************/ +// +// File: GiSGiInterface_3GPP_TS29061_d70.ddf +// Description: DDF for Gi/SGi according to 3GPP TS 29.061 V13.7.0 +// Rev: R55A +// Prodnr: CNL 113 462 +/////////////////////////////////////////////// + + +// APPLICATION-NAME: GI +// APPLICATION-REVISION: V13_7_0 + +// AVP implementations according to: +// 3GPP TS 29.061 V13.7.0 - Interworking between the Public Land Mobile Network (PLMN) supporting packet based services and Packet Data Networks (PDN) +// +// +// Dependant applications +// - + + +// 3GPP TS 29.061 V13.7.0 16a.4 +// WARNING: Enumeration item with code (265) exists in type Command_Code +// WARNING: Enumeration item with code (275) exists in type Command_Code +// WARNING: Enumeration item with code (274) exists in type Command_Code +// WARNING: Enumeration item with code (271) exists in type Command_Code + + + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-IMSI (1) 3GPP (10415) +// 16.4.7 +type AVP_UTF8String GI_3GPP_3GPP_IMSI + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-Charging-Id (2) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_Charging_Id + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-PDP-Type (3) 3GPP (10415) +// 16.4.7 +type enumerated GI_3GPP_3GPP_PDP_Type { + IPv4 (0), + PPP (1), + IPv6 (2), + IPv4v6 (3), + NonIp (4) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-CG-Address (4) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_CG_Address + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-GPRS-Negotiated-QoS-Profile (5) 3GPP (10415) +// 16.4.7 +type AVP_UTF8String GI_3GPP_3GPP_GPRS_Negotiated_QoS_Profile + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-SGSN-Address (6) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_SGSN_Address + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-GGSN-Address (7) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_GGSN_Address + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-IMSI-MCC-MNC (8) 3GPP (10415) +// 16.4.7 +type AVP_UTF8String GI_3GPP_3GPP_IMSI_MCC_MNC + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-GGSN-MCC-MNC (9) 3GPP (10415) +// 16.4.7 +type AVP_UTF8String GI_3GPP_3GPP_GGSN_MCC_MNC + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-NSAPI (10) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_NSAPI + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-Session-Stop-Indicator (11) 3GPP (10415) +type AVP_UTF8String GI_3GPP_3GPP_Session_Stop_Indicator + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-Selection-Mode (12) 3GPP (10415) +// 16.4.7 +type AVP_UTF8String GI_3GPP_3GPP_Selection_Mode + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-Charging-Characteristics (13) 3GPP (10415) +// 16.4.7 +type AVP_UTF8String GI_3GPP_3GPP_Charging_Characteristics + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-CG-IPv6-Address (14) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_CG_IPv6_Address + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-SGSN-IPv6-Address (15) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_SGSN_IPv6_Address + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-GGSN-IPv6-Address (16) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_GGSN_IPv6_Address + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-IPv6-DNS-Servers (17) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_IPv6_DNS_Servers + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-SGSN-MCC-MNC (18) 3GPP (10415) +// 16.4.7 +type AVP_UTF8String GI_3GPP_3GPP_SGSN_MCC_MNC + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-IMEISV (20) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_IMEISV + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-RAT-Type (21) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_RAT_Type + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-User-Location-Info (22) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_User_Location_Info + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-MS-TimeZone (23) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_MS_TimeZone + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-CAMEL-Charging-Info (24) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_CAMEL_Charging_Info + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-Packet-Filter (25) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_Packet_Filter + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-Negotiated-DSCP (26) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_Negotiated_DSCP + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-Allocate-IP-Type (27) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_Allocate_IP_Type + +// 3GPP TS 29.061 V13.7.0 +// AVP: External-Identifier (28) 3GPP (10415) +// 16.4.7 +type AVP_UTF8String GI_3GPP_External_Identifier + + +// 3GPP TS 29.061 V13.7.0 +// AVP: TWAN-Identifier (29) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_TWAN_Identifier + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-User-Location-Info-Time (30) 3GPP (10415) +// 16.4.7 +type AVP_Unsigned32 GI_3GPP_3GPP_User_Location_Info_Time + + + +// STATISTICS: 740 AVP descriptors found +// STATISTICS: 740 AVP type definitions matching AVP descriptors found // STATISTICS: duplicate AVP definitions deleted type enumerated Command_Code { - Abort_Session (274), Accounting (271), Capabilities_Exchange (257), Device_Watchdog (280), Disconnect_Peer (282), Re_Auth (258), Session_Termination (275), Experimental1 (16777214), Experimental2 (16777215) , Update_Location (316), Cancel_Location (317), Authentication_Information (318), Insert_Subscriber_Data (319), Delete_Subscriber_Data (320), Purge_UE (321), Reset (322), Notify (323), ME_Identity_Check (324), Update_VCSG_Location (8388638), Cancel_VCSG_Location (8388642), Credit_Control (272), TDF_Session (8388637), Subscriber_Information (8388641), Configuration_Information (8388718), Reporting_Information (8388719), NIDD_Information (8388726), Authorize_Authenticate (265) + Abort_Session (274), Accounting (271), Capabilities_Exchange (257), Device_Watchdog (280), Disconnect_Peer (282), Re_Auth (258), Session_Termination (275), Experimental1 (16777214), Experimental2 (16777215) , Update_Location (316), Cancel_Location (317), Authentication_Information (318), Insert_Subscriber_Data (319), Delete_Subscriber_Data (320), Purge_UE (321), Reset (322), Notify (323), ME_Identity_Check (324), Update_VCSG_Location (8388638), Cancel_VCSG_Location (8388642), Credit_Control (272), TDF_Session (8388637), Subscriber_Information (8388641), Configuration_Information (8388718), Reporting_Information (8388719), NIDD_Information (8388726), Authorize_Authenticate (265), User_Authorization (300), Server_Assignment (301), Location_Info (302), Multimedia_Auth (303), Registration_Termination (304), Push_Profile (305) } with { variant "FIELDLENGTH(24)" variant "BYTEORDER(last)" } type enumerated Vendor_Id { + vendor_id_ETSI (13019), vendor_id_NONE (0), vendor_id_3GPP (10415) } with { @@ -3965,80 +5575,222 @@ variant "BYTEORDER(last)" variant "COMP(2scompl)" } +type enumerated AVP_Code_ETSI { + avp_code_CxDx_ETSI_Line_Identifier (500) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} type enumerated AVP_Code_NONE { + avp_code_DNAS_NONE_Login_LAT_Service (34), + avp_code_DCC_NONE_Direct_Debiting_Failure_Handling (428), avp_code_MIPv6_NONE_MIP_Careof_Address (487), avp_code_BASE_NONE_Session_Id (263), + avp_code_DCC_NONE_Requested_Service_Unit (437), + avp_code_DNAS_NONE_Framed_Pool (88), + avp_code_DCC_NONE_CC_Time (420), + avp_code_DCC_NONE_Used_Service_Unit (446), avp_code_BASE_NONE_Auth_Application_Id (258), + avp_code_DNAS_NONE_Framed_Appletalk_Network (38), + avp_code_DNAS_NONE_Framed_IPv6_Prefix (97), avp_code_BASE_NONE_Firmware_Revision (267), avp_code_BASE_NONE_Auth_Grace_Period (276), avp_code_BASE_NONE_Re_Auth_Request_Type (285), + avp_code_DCC_NONE_Redirect_Address_Type (433), avp_code_MIPv6_NONE_MIP_MN_HA_MSA (492), + avp_code_DNAS_NONE_Tunnel_Medium_Type (65), + avp_code_DCC_NONE_User_Equipment_Info_Type (459), avp_code_MIPv6_NONE_QoS_Resources (508), + avp_code_DCC_NONE_Service_Parameter_Value (442), avp_code_MIPv6_NONE_MIP_Session_Key (343), + avp_code_DCC_NONE_Tariff_Time_Change (451), + avp_code_DNAS_NONE_Tunnel_Password (69), + avp_code_DCC_NONE_User_Equipment_Info_Value (460), + avp_code_DNAS_NONE_Tunneling (401), avp_code_BASE_NONE_Multi_Round_Time_Out (272), avp_code_BASE_NONE_Experimental_Result_Code (298), + avp_code_DNAS_NONE_Configuration_Token (78), + avp_code_DNAS_NONE_Callback_Number (19), avp_code_BASE_NONE_Error_Message (281), + avp_code_DNAS_NONE_NAS_Port_Type (61), + avp_code_DCC_NONE_Multiple_Services_Indicator (455), + avp_code_DNAS_NONE_Framed_Protocol (7), + avp_code_DNAS_NONE_Filter_Id (11), + avp_code_DNAS_NONE_ARAP_Password (70), + avp_code_DNAS_NONE_CHAP_Response (405), + avp_code_DNAS_NONE_Accounting_Input_Packets (365), + avp_code_DNAS_NONE_Callback_Id (20), + avp_code_DCC_NONE_CC_Output_Octets (414), + avp_code_DCC_NONE_Cost_Information (423), avp_code_BASE_NONE_Error_Reporting_Host (294), + avp_code_DNAS_NONE_Login_Service (15), + avp_code_DNAS_NONE_ARAP_Security_Data (74), + avp_code_DNAS_NONE_State (24), + avp_code_DNAS_NONE_Tunnel_Preference (83), + avp_code_DCC_NONE_CC_Session_Failover (418), avp_code_BASE_NONE_Proxy_State (33), + avp_code_DCC_NONE_Credit_Control_Failure_Handling (427), avp_code_BASE_NONE_Redirect_Max_Cache_Time (262), + avp_code_DCC_NONE_Requested_Action (436), + avp_code_DNAS_NONE_Idle_Timeout (28), + avp_code_DNAS_NONE_NAS_Port_Id (87), avp_code_BASE_NONE_Host_IP_Address (257), + avp_code_DNAS_NONE_Framed_Appletalk_Link (37), + avp_code_DNAS_NONE_Framed_Interface_Id (96), avp_code_BASE_NONE_Vendor_Id (266), + avp_code_DNAS_NONE_Acct_Session_Time (46), avp_code_BASE_NONE_Event_Timestamp (55), + avp_code_DCC_NONE_Final_Unit_Action (449), + avp_code_DNAS_NONE_Framed_IPv6_Pool (100), + avp_code_DCC_NONE_Rating_Group (432), avp_code_MIPv6_NONE_MIP_MN_HA_SPI (491), + avp_code_DCC_NONE_User_Equipment_Info (458), avp_code_MIPv6_NONE_MIP_Mobile_Node_Address (333), + avp_code_DCC_NONE_Service_Parameter_Type (441), avp_code_BASE_NONE_Failed_AVP (279), + avp_code_DCC_NONE_Subscription_Id_Type (450), + avp_code_DNAS_NONE_User_Password (2), + avp_code_DNAS_NONE_Acct_Tunnel_Connection (68), + avp_code_DNAS_NONE_NAS_Filter_Rule (400), avp_code_BASE_NONE_Session_Server_Failover (271), avp_code_BASE_NONE_Experimental_Result (297), + avp_code_DNAS_NONE_Acct_Link_Count (51), + avp_code_DCC_NONE_Unit_Value (445), + avp_code_DNAS_NONE_Reply_Message (18), + avp_code_DNAS_NONE_Connect_Info (77), avp_code_MIPv6_NONE_MIP_Replay_Mode (346), avp_code_BASE_NONE_Proxy_Host (280), + avp_code_DNAS_NONE_CHAP_Challenge (60), + avp_code_DCC_NONE_CC_Unit_Type (454), + avp_code_DNAS_NONE_Service_Type (6), + avp_code_DNAS_NONE_Framed_Routing (10), + avp_code_DNAS_NONE_CHAP_Ident (404), + avp_code_DCC_NONE_CC_Money (413), avp_code_BASE_NONE_Proxy_Info (284), + avp_code_DNAS_NONE_Tunnel_Type (64), + avp_code_DCC_NONE_Check_Balance_Result (422), avp_code_BASE_NONE_Destination_Host (293), + avp_code_DNAS_NONE_Login_IP_Host (14), + avp_code_DNAS_NONE_ARAP_Security (73), + avp_code_DNAS_NONE_Origin_AAA_Protocol (408), + avp_code_DNAS_NONE_Tunnel_Assignment_Id (82), + avp_code_DNAS_NONE_Framed_IPX_Network (23), + avp_code_DCC_NONE_CC_Service_Specific_Units (417), + avp_code_DNAS_NONE_NAS_Identifier (32), + avp_code_DNAS_NONE_Tunnel_Server_Auth_Id (91), + avp_code_DCC_NONE_Credit_Control (426), avp_code_BASE_NONE_Accounting_Record_Number (485), avp_code_BASE_NONE_Redirect_Host_Usage (261), + avp_code_DCC_NONE_Redirect_Server_Address (435), avp_code_MIPv6_NONE_MIP6_Auth_Mode (494), + avp_code_DNAS_NONE_Acct_Tunnel_Packets_Lost (86), avp_code_BASE_NONE_Session_Timeout (27), + avp_code_DNAS_NONE_NAS_IPv6_Address (95), + avp_code_DNAS_NONE_Login_LAT_Group (36), avp_code_MIPv6_NONE_MIP_MAC_Mobility_Data (489), + avp_code_DNAS_NONE_Accounting_Output_Octets (364), avp_code_BASE_NONE_Supported_Vendor_Id (265), + avp_code_DNAS_NONE_Acct_Authentic (45), + avp_code_DCC_NONE_Service_Identifier (439), avp_code_BASE_NONE_Auth_Request_Type (274), + avp_code_DCC_NONE_Validity_Time (448), + avp_code_DNAS_NONE_Framed_IPv6_Route (99), + avp_code_DCC_NONE_Granted_Service_Unit (431), avp_code_MIPv6_NONE_MIP_Timestamp (490), avp_code_BASE_NONE_Product_Name (269), + avp_code_DNAS_NONE_Framed_IP_Netmask (9), + avp_code_DCC_NONE_Service_Parameter_Info (440), avp_code_BASE_NONE_Origin_State_Id (278), avp_code_BASE_NONE_User_Name (1), avp_code_BASE_NONE_Accounting_Sub_Session_Id (287), + avp_code_DNAS_NONE_Acct_Delay_Time (41), + avp_code_DNAS_NONE_Tunnel_Server_Endpoint (67), avp_code_BASE_NONE_Session_Binding (270), avp_code_BASE_NONE_Acct_Multi_Session_Id (50), + avp_code_DCC_NONE_Subscription_Id_Data (444), avp_code_MIPv6_NONE_MIP_Algorithm_Type (345), avp_code_MIPv6_NONE_QoS_Capability (578), + avp_code_DCC_NONE_G_S_U_Pool_Identifier (453), + avp_code_DNAS_NONE_NAS_Port (5), + avp_code_DNAS_NONE_CHAP_Algorithm (403), + avp_code_DCC_NONE_CC_Input_Octets (412), avp_code_BASE_NONE_Destination_Realm (283), + avp_code_DNAS_NONE_Login_LAT_Port (63), + avp_code_DCC_NONE_G_S_U_Pool_Reference (457), avp_code_MIPv6_NONE_Chargable_User_Identity (89), avp_code_BASE_NONE_Redirect_Host (292), + avp_code_DNAS_NONE_ARAP_Zone_Access (72), + avp_code_DNAS_NONE_Framed_Compression (13), + avp_code_DNAS_NONE_QoS_Filter_Rule (407), avp_code_MIPv6_NONE_MIP_MN_AAA_SPI (341), avp_code_MIPv6_NONE_MIP_MSA_Lifetime (367), + avp_code_DNAS_NONE_Tunnel_Private_Group_Id (81), + avp_code_DNAS_NONE_Framed_Route (22), + avp_code_DCC_NONE_CC_Request_Type (416), + avp_code_DNAS_NONE_Tunnel_Client_Auth_Id (90), + avp_code_DNAS_NONE_Calling_Station_Id (31), + avp_code_DCC_NONE_Currency_Code (425), avp_code_BASE_NONE_E2E_Sequence (300), avp_code_BASE_NONE_Origin_Realm (296), + avp_code_DNAS_NONE_Prompt (76), + avp_code_DCC_NONE_Redirect_Server (434), avp_code_BASE_NONE_Acct_Interim_Interval (85), + avp_code_DNAS_NONE_Login_LAT_Node (35), + avp_code_DNAS_NONE_Originating_Line_Info (94), + avp_code_DCC_NONE_Exponent (429), avp_code_MIPv6_NONE_MIP_Authenticator (488), + avp_code_DNAS_NONE_Accounting_Input_Octets (363), avp_code_BASE_NONE_Origin_Host (264), avp_code_BASE_NONE_Accounting_Session_Id (44), + avp_code_DCC_NONE_Restriction_Filter_Rule (438), avp_code_BASE_NONE_Disconnect_Cause (273), + avp_code_DCC_NONE_CC_Total_Octets (421), avp_code_BASE_NONE_Accounting_Record_Type (480), + avp_code_DCC_NONE_Value_Digits (447), avp_code_BASE_NONE_Acct_Application_Id (259), + avp_code_DNAS_NONE_Login_IPv6_Host (98), + avp_code_DNAS_NONE_Framed_Appletalk_Zone (39), + avp_code_DCC_NONE_Final_Unit_Indication (430), avp_code_BASE_NONE_Result_Code (268), + avp_code_DNAS_NONE_Framed_IP_Address (8), avp_code_BASE_NONE_Auth_Session_State (277), avp_code_BASE_NONE_Vendor_Specific_Application_Id (260), avp_code_MIPv6_NONE_Service_Selection (493), + avp_code_DNAS_NONE_Tunnel_Client_Endpoint (66), + avp_code_DCC_NONE_Subscription_Id (443), + avp_code_DCC_NONE_Tariff_Change_Usage (452), + avp_code_DNAS_NONE_NAS_IP_Address (4), + avp_code_DCC_NONE_Service_Context_Id (461), + avp_code_DNAS_NONE_CHAP_Auth (402), avp_code_BASE_NONE_Inband_Security_Id (299), + avp_code_DCC_NONE_CC_Correlation_Id (411), avp_code_BASE_NONE_Route_Record (282), + avp_code_DNAS_NONE_Port_Limit (62), + avp_code_DCC_NONE_Multiple_Services_Credit_Control (456), avp_code_BASE_NONE_Authorization_Lifetime (291), + avp_code_DNAS_NONE_ARAP_Features (71), + avp_code_DNAS_NONE_Framed_MTU (12), + avp_code_DNAS_NONE_Accounting_Auth_Method (406), + avp_code_DNAS_NONE_Accounting_Output_Packets (366), + avp_code_DCC_NONE_CC_Request_Number (415), + avp_code_DNAS_NONE_Called_Station_Id (30), + avp_code_DCC_NONE_Cost_Unit (424), avp_code_BASE_NONE_Accounting_Realtime_Required (483), avp_code_BASE_NONE_Termination_Cause (295), - avp_code_BASE_NONE_Class (25) + avp_code_DNAS_NONE_Login_TCP_Port (16), + avp_code_DNAS_NONE_Password_Retry (75), + avp_code_DNAS_NONE_ARAP_Challenge_Response (84), + avp_code_BASE_NONE_Class (25), + avp_code_DCC_NONE_CC_Sub_Session_Id (419) } with { variant "FIELDLENGTH(32)" variant "BYTEORDER(last)" variant "COMP(2scompl)" } type enumerated AVP_Code_3GPP { + avp_code_GI_3GPP_3GPP_SGSN_IPv6_Address (15), + avp_code_GI_3GPP_3GPP_GGSN_MCC_MNC (9), avp_code_PCC_3GPP_Bearer_Identifier (1020), avp_code_RX_3GPP_Content_Version (552), avp_code_RX_3GPP_Media_Component_Description (517), @@ -4050,9 +5802,11 @@ avp_code_AAA_3GPP_List_Of_Measurements (1625), avp_code_PCC_3GPP_Default_QoS_Name (2817), avp_code_AAA_3GPP_UVA_Flags (1640), + avp_code_CxDx_3GPP_SAR_Flags (655), avp_code_AAA_3GPP_Group_Service_Id (1676), avp_code_PCC_3GPP_TDF_Information (1087), avp_code_AAA_3GPP_Requested_EUTRAN_Authentication_Info (1408), + avp_code_CxDx_3GPP_SIP_Digest_Authenticate (635), avp_code_AAA_3GPP_Last_UE_Activity_Time (1494), avp_code_AAA_3GPP_Context_Identifier (1423), avp_code_AAA_3GPP_Trace_Reference (1459), @@ -4069,7 +5823,9 @@ avp_code_AAA_3GPP_SGs_MME_Identity (1664), avp_code_PCC_3GPP_Routing_Rule_Remove (1075), avp_code_S6_3GPP_Roaming_Information (3139), + avp_code_CxDx_3GPP_SIP_Authentication_Scheme (608), avp_code_AAA_3GPP_Event_Threshold_RSRP (1629), + avp_code_CxDx_3GPP_User_Authorization_Type (623), avp_code_AAA_3GPP_PLMN_Client (1482), avp_code_AAA_3GPP_Re_Synchronization_Info (1411), avp_code_AAA_3GPP_RAND (1447), @@ -4087,12 +5843,17 @@ avp_code_AAA_3GPP_VPLMN_LIPA_Allowed (1617), avp_code_PCC_3GPP_QoS_Class_Identifier (1028), avp_code_PCC_3GPP_Mute_Notification (2809), + avp_code_CxDx_3GPP_SIP_Authentication_Context (611), avp_code_AAA_3GPP_Logging_Duration (1632), + avp_code_CxDx_3GPP_Associated_Registered_Identities (647), avp_code_AAA_3GPP_WLAN_offloadability_EUTRAN (1668), avp_code_PCC_3GPP_Routing_IP_Address (1079), avp_code_AAA_3GPP_KASME (1450), + avp_code_GI_3GPP_3GPP_User_Location_Info_Time (30), avp_code_AAA_3GPP_Teleservice_List (1486), avp_code_AAA_3GPP_UTRAN_Vector (1415), + avp_code_GI_3GPP_3GPP_NSAPI (10), + avp_code_GI_3GPP_3GPP_CG_Address (4), avp_code_RX_3GPP_Application_Service_Provider_Identity (532), avp_code_S6_3GPP_NIDD_Authorization_Request (3150), avp_code_PCC_3GPP_QoS_Rule_Install (1051), @@ -4111,12 +5872,15 @@ avp_code_AAA_3GPP_Measurement_Period_LTE (1656), avp_code_PCC_3GPP_Usage_Monitoring_Information (1067), avp_code_PCC_3GPP_Extended_APN_AMBR_DL (2848), + avp_code_CxDx_3GPP_Session_Priority (650), + avp_code_CxDx_3GPP_Deregistration_Reason (615), avp_code_AAA_3GPP_GMLC_Number (1474), avp_code_AAA_3GPP_Software_Version (1403), avp_code_AAA_3GPP_Expiration_Date (1439), avp_code_AAA_3GPP_SRES (1454), avp_code_AAA_3GPP_Item_Number (1419), avp_code_S6_3GPP_Service_ID (3103), + avp_code_GI_3GPP_3GPP_IMSI_MCC_MNC (8), avp_code_RX_3GPP_Abort_Cause (500), avp_code_PCC_3GPP_Charging_Rule_Base_Name (1004), avp_code_RX_3GPP_Required_Access_Info (536), @@ -4129,8 +5893,13 @@ avp_code_AAA_3GPP_Geodetic_Information (1609), avp_code_PCC_3GPP_Extended_GBR_UL (2851), avp_code_AAA_3GPP_MBSFN_Area_ID (1695), + avp_code_CxDx_3GPP_Server_Capabilities (603), avp_code_AAA_3GPP_Area_Scope (1624), + avp_code_CxDx_3GPP_SCSCF_Restoration_Info (639), + avp_code_CxDx_3GPP_Initial_CSeq_Sequence_Number (654), avp_code_AAA_3GPP_PUA_Flags (1442), + avp_code_CxDx_3GPP_Primary_Event_Charging_Function_Name (619), + avp_code_GI_3GPP_3GPP_User_Location_Info (22), avp_code_AAA_3GPP_Notification_To_UE_User (1478), avp_code_AAA_3GPP_Visited_PLMN_Id (1407), avp_code_AAA_3GPP_Homogeneous_Support_of_IMS_Voice_Over_PS_Sessions (1493), @@ -4150,10 +5919,13 @@ avp_code_PCC_3GPP_HeNB_Local_IP_Address (2804), avp_code_AAA_3GPP_SMS_Register_Request (1648), avp_code_PCC_3GPP_Packet_Filter_Content (1059), + avp_code_CxDx_3GPP_Subscription_Info (642), avp_code_AAA_3GPP_APN_Configuration (1430), + avp_code_CxDx_3GPP_SIP_Number_Auth_Items (607), avp_code_AAA_3GPP_OMC_Id (1466), avp_code_AAA_3GPP_GMLC_Restriction (1481), avp_code_AAA_3GPP_Regional_Subscription_Zone_Code (1446), + avp_code_GI_3GPP_3GPP_Negotiated_DSCP (26), avp_code_S6_3GPP_SIR_Flags (3110), avp_code_RX_3GPP_MPS_Identifier (528), avp_code_AAA_3GPP_MDT_Allowed_PLMN_Id (1671), @@ -4165,11 +5937,14 @@ avp_code_AAA_3GPP_Subscribed_VSRVCC (1636), avp_code_PCC_3GPP_Pre_emption_Capability (1047), avp_code_PCC_3GPP_Monitoring_Flags (2828), + avp_code_CxDx_3GPP_Feature_List (630), avp_code_PCC_3GPP_TCP_Source_Port (2843), avp_code_PCC_3GPP_Application_Detection_Information (1098), avp_code_AAA_3GPP_Emergency_Info (1687), avp_code_AAA_3GPP_MPS_Priority (1616), + avp_code_CxDx_3GPP_Record_Route (646), avp_code_AAA_3GPP_Alert_Reason (1434), + avp_code_GI_3GPP_3GPP_CG_IPv6_Address (14), avp_code_AAA_3GPP_MO_LR (1485), avp_code_RX_3GPP_Max_Requested_Bandwidth_UL (516), avp_code_PCC_3GPP_Usage_Monitoring_Support (1070), @@ -4183,10 +5958,12 @@ avp_code_AAA_3GPP_IMSI_Group_Id (1675), avp_code_AAA_3GPP_Cell_Global_Identity (1604), avp_code_AAA_3GPP_PDN_Connection_Continuity (1690), + avp_code_CxDx_3GPP_Wildcarded_Public_Identity (634), avp_code_AAA_3GPP_DSA_Flags (1422), avp_code_AAA_3GPP_Trace_Data (1458), avp_code_AAA_3GPP_LCS_Info (1473), avp_code_AAA_3GPP_PDN_GW_Allocation_Type (1438), + avp_code_GI_3GPP_3GPP_SGSN_MCC_MNC (18), avp_code_RX_3GPP_Extended_Max_Requested_BW_UL (555), avp_code_S6_3GPP_User_Identifier (3102), avp_code_PCC_3GPP_QoS_Rule_Base_Name (1074), @@ -4196,13 +5973,16 @@ avp_code_RX_3GPP_Min_Requested_Bandwidth_UL (535), avp_code_AAA_3GPP_Report_Amount (1628), avp_code_PCC_3GPP_CoA_Information (1039), + avp_code_CxDx_3GPP_Secondary_Charging_Collection_Function_Name (622), avp_code_AAA_3GPP_A_MSISDN (1643), avp_code_PCC_3GPP_Routing_Rule_Report (2835), avp_code_AAA_3GPP_Number_Of_Requested_Vectors (1410), avp_code_AAA_3GPP_AIR_Flags (1679), avp_code_AAA_3GPP_Geographical_Information (1608), + avp_code_CxDx_3GPP_Loose_Route_Indication (638), avp_code_AAA_3GPP_MME_User_State (1497), avp_code_AAA_3GPP_Access_Restriction_Data (1426), + avp_code_GI_3GPP_3GPP_RAT_Type (21), avp_code_AAA_3GPP_SS_Status (1477), avp_code_S6_3GPP_NIDD_Authorization_Update (3161), avp_code_PCC_3GPP_Packet_Filter_Operation (1062), @@ -4211,6 +5991,7 @@ avp_code_S6_3GPP_IMEI_Change (3141), avp_code_PCC_3GPP_IP_CAN_Type (1027), avp_code_RX_3GPP_Extended_Min_Desired_BW_UL (559), + avp_code_CxDx_3GPP_SIP_Authorization (610), avp_code_PCC_3GPP_Revalidation_Time (1042), avp_code_AAA_3GPP_Logging_Interval (1631), avp_code_PCC_3GPP_Presence_Reporting_Area_Status (2823), @@ -4218,8 +5999,10 @@ avp_code_PCC_3GPP_Routing_Filter (1078), avp_code_PCC_3GPP_Metering_Method (1007), avp_code_AAA_3GPP_Non_IP_Data_Delivery_Mechanism (1682), + avp_code_CxDx_3GPP_Integrity_Key (626), avp_code_AAA_3GPP_E_UTRAN_Vector (1414), avp_code_AAA_3GPP_Trace_Event_List (1465), + avp_code_GI_3GPP_3GPP_PDP_Type (3), avp_code_S6_3GPP_Communication_Pattern_Set (3114), avp_code_RX_3GPP_Flow_Status (511), avp_code_RX_3GPP_MCPTT_Identifier (547), @@ -4231,13 +6014,16 @@ avp_code_PCC_3GPP_3GPP_PS_Data_Off_Status (2847), avp_code_AAA_3GPP_Reset_ID (1670), avp_code_PCC_3GPP_Routing_Rule_Install (1081), + avp_code_CxDx_3GPP_Server_Assignment_Type (614), avp_code_AAA_3GPP_PUR_Flags (1635), avp_code_PCC_3GPP_IP_CAN_Session_Charging_Scope (2827), avp_code_AAA_3GPP_IMEI (1402), avp_code_AAA_3GPP_Kc (1453), avp_code_AAA_3GPP_SGSN_Number (1489), avp_code_AAA_3GPP_HPLMN_ODB (1418), + avp_code_GI_3GPP_3GPP_Charging_Characteristics (13), avp_code_AAA_3GPP_PDP_Context (1469), + avp_code_GI_3GPP_3GPP_GGSN_Address (7), avp_code_S6_3GPP_Node_Type (3153), avp_code_RX_3GPP_Priority_Sharing_Indicator (550), avp_code_PCC_3GPP_QoS_Rule_Name (1054), @@ -4247,12 +6033,15 @@ avp_code_PCC_3GPP_PCC_Rule_Status (1019), avp_code_PCC_3GPP_Extended_GBR_DL (2850), avp_code_AAA_3GPP_MBSFN_Area (1694), + avp_code_CxDx_3GPP_Server_Name (602), avp_code_S6_3GPP_APN_Validity_Time (3169), avp_code_AAA_3GPP_Job_Type (1623), avp_code_PCC_3GPP_Allocation_Retention_Priority (1034), avp_code_AAA_3GPP_Positioning_Method (1659), + avp_code_CxDx_3GPP_LIA_Flags (653), avp_code_AAA_3GPP_DL_Buffering_Suggested_Packet_Count (1674), avp_code_AAA_3GPP_IDA_Flags (1441), + avp_code_CxDx_3GPP_Charging_Information (618), avp_code_AAA_3GPP_ULA_Flags (1406), avp_code_AAA_3GPP_IMS_Voice_Over_PS_Sessions_Supported (1492), avp_code_AAA_3GPP_Roaming_Restricted_Due_To_Unsupported_Feature (1457), @@ -4267,12 +6056,15 @@ avp_code_RX_3GPP_Extended_Max_Requested_BW_DL (554), avp_code_PCC_3GPP_Flow_Information (1058), avp_code_PCC_3GPP_Execution_Time (2839), + avp_code_CxDx_3GPP_Contact (641), avp_code_AAA_3GPP_Event_Threshold_Event_1I (1662), avp_code_PCC_3GPP_Charging_Correlation_Indicator (1073), + avp_code_CxDx_3GPP_User_Data (606), avp_code_AAA_3GPP_Report_Interval (1627), avp_code_PCC_3GPP_RAN_NAS_Release_Cause (2819), avp_code_AAA_3GPP_Client_Identity (1480), avp_code_AAA_3GPP_Equipment_Status (1445), + avp_code_GI_3GPP_3GPP_Packet_Filter (25), avp_code_AAA_3GPP_EPS_Location_Information (1496), avp_code_RX_3GPP_Service_Info_Status (527), avp_code_S6_3GPP_CIR_Flags (3145), @@ -4289,10 +6081,12 @@ avp_code_PCC_3GPP_ADC_Rule_Report (1097), avp_code_AAA_3GPP_UE_SRVCC_Capability (1615), avp_code_PCC_3GPP_Guaranteed_Bitrate_UL (1026), + avp_code_CxDx_3GPP_To_SIP_Header (645), avp_code_AAA_3GPP_Coupled_Node_Diameter_ID (1666), avp_code_AAA_3GPP_STN_SR (1433), avp_code_AAA_3GPP_ServiceTypeIdentity (1484), avp_code_AAA_3GPP_AUTN (1449), + avp_code_GI_3GPP_TWAN_Identifier (29), avp_code_RX_3GPP_Sponsored_Connectivity_Data (530), avp_code_S6_3GPP_AESE_Communication_Pattern (3113), avp_code_PCC_3GPP_NBIFOM_Mode (2830), @@ -4302,6 +6096,7 @@ avp_code_PCC_3GPP_ToS_Traffic_Class (1014), avp_code_RX_3GPP_Min_Desired_Bandwidth_UL (546), avp_code_AAA_3GPP_UVR_Flags (1639), + avp_code_CxDx_3GPP_Originating_Request (633), avp_code_AAA_3GPP_Subscription_Data_Flags (1654), avp_code_PCC_3GPP_PDN_Connection_ID (1065), avp_code_AAA_3GPP_DSR_Flags (1421), @@ -4309,7 +6104,9 @@ avp_code_AAA_3GPP_Subscribed_Periodic_RAU_TAU_Timer (1619), avp_code_AAA_3GPP_Specific_APN_Info (1472), avp_code_AAA_3GPP_Terminal_Information (1401), + avp_code_CxDx_3GPP_Restoration_Info (649), avp_code_AAA_3GPP_CSG_Id (1437), + avp_code_GI_3GPP_3GPP_IPv6_DNS_Servers (17), avp_code_AAA_3GPP_Call_Barring_Info (1488), avp_code_S6_3GPP_IP_SM_GW_Name (3101), avp_code_RX_3GPP_Media_Sub_Component (519), @@ -4318,6 +6115,7 @@ avp_code_RX_3GPP_Min_Requested_Bandwidth_DL (534), avp_code_S6_3GPP_Service_Report (3152), avp_code_PCC_3GPP_Tunnel_Information (1038), + avp_code_CxDx_3GPP_Primary_Charging_Collection_Function_Name (621), avp_code_AAA_3GPP_Time_Zone (1642), avp_code_PCC_3GPP_QoS_Rule_Definition (1053), avp_code_S6_3GPP_Periodic_Time (3117), @@ -4327,8 +6125,11 @@ avp_code_AAA_3GPP_Service_Area_Identity (1607), avp_code_PCC_3GPP_Charging_Rule_Report (1018), avp_code_AAA_3GPP_UE_PC5_AMBR (1693), + avp_code_CxDx_3GPP_Public_Identity (601), + avp_code_CxDx_3GPP_UAR_Flags (637), avp_code_AAA_3GPP_Collection_Period_RRM_UMTS (1658), avp_code_AAA_3GPP_Operator_Determined_Barring (1425), + avp_code_GI_3GPP_3GPP_IMEISV (20), avp_code_AAA_3GPP_SS_Code (1476), avp_code_RX_3GPP_RS_Bandwidth (522), avp_code_S6_3GPP_Reachability_Information (3140), @@ -4342,10 +6143,13 @@ avp_code_RX_3GPP_GCS_Identifier (538), avp_code_AAA_3GPP_Non_IP_PDN_Type_Indicator (1681), avp_code_PCC_3GPP_ADC_Rule_Install (1092), + avp_code_CxDx_3GPP_Confidentiality_Key (625), avp_code_PCC_3GPP_Flow_Label (1057), avp_code_AAA_3GPP_Authentication_Info (1413), avp_code_AAA_3GPP_Trace_Interface_List (1464), + avp_code_GI_3GPP_3GPP_Charging_Id (2), avp_code_AAA_3GPP_APN_Configuration_Profile (1429), + avp_code_GI_3GPP_3GPP_CAMEL_Charging_Info (24), avp_code_RX_3GPP_Flows (510), avp_code_S6_3GPP_CIA_Flags (3164), avp_code_RX_3GPP_Extended_Min_Requested_BW_UL (561), @@ -4354,27 +6158,35 @@ avp_code_RX_3GPP_Acceptable_Service_Info (526), avp_code_PCC_3GPP_Flow_Direction (1080), avp_code_S6_3GPP_Supported_Monitoring_Events (3144), + avp_code_CxDx_3GPP_SIP_Item_Number (613), avp_code_PCC_3GPP_Session_Release_Cause (1045), avp_code_AAA_3GPP_MDT_User_Consent (1634), avp_code_S6_3GPP_HSS_Cause (3109), avp_code_PCC_3GPP_PCSCF_Restoration_Indication (2826), avp_code_AAA_3GPP_Subscription_Data_Deletion (1685), avp_code_AAA_3GPP_Trace_Collection_Entity (1452), + avp_code_CxDx_3GPP_Feature_List_ID (629), avp_code_AAA_3GPP_Network_Access_Mode (1417), + avp_code_GI_3GPP_3GPP_Selection_Mode (12), avp_code_AAA_3GPP_Complete_Data_List_Included_Indicator (1468), + avp_code_GI_3GPP_3GPP_SGSN_Address (6), + avp_code_GI_3GPP_External_Identifier (28), avp_code_S6_3GPP_Reachability_Type (3132), avp_code_S6_3GPP_Type_Of_External_Identifier (3168), avp_code_PCC_3GPP_Event_Report_Indication (1033), avp_code_AAA_3GPP_MDT_Configuration (1622), avp_code_PCC_3GPP_Usage_Monitoring_Report (1069), + avp_code_CxDx_3GPP_Priviledged_Sender_Indication (652), avp_code_AAA_3GPP_Adjacent_Access_Restriction_Data (1673), avp_code_AAA_3GPP_RAT_Frequency_Selection_Priority_ID (1440), + avp_code_CxDx_3GPP_Reason_Info (617), avp_code_AAA_3GPP_CLR_Flags (1638), avp_code_PCC_3GPP_Default_EPS_Bearer_QoS (1049), avp_code_AAA_3GPP_ULR_Flags (1405), avp_code_AAA_3GPP_ICS_Indicator (1491), avp_code_AAA_3GPP_Cancellation_Type (1420), avp_code_AAA_3GPP_PDN_Type (1456), + avp_code_GI_3GPP_3GPP_GGSN_IPv6_Address (16), avp_code_RX_3GPP_Access_Network_Charging_Identifier (502), avp_code_S6_3GPP_AESE_Communication_Pattern_Config_Status (3120), avp_code_S6_3GPP_Enhanced_Coverage_Restriction_Data (3156), @@ -4383,13 +6195,16 @@ avp_code_RX_3GPP_Pre_emption_Control_Info (553), avp_code_PCC_3GPP_TDF_Application_Instance_Identifier (2802), avp_code_RX_3GPP_Media_Component_Number (518), + avp_code_CxDx_3GPP_Path (640), avp_code_AAA_3GPP_Event_Threshold_Event_1F (1661), avp_code_PCC_3GPP_Packet_Filter_Usage (1072), avp_code_S6_3GPP_MONTE_Location_Type (3136), avp_code_AAA_3GPP_RDS_Indicator (1697), + avp_code_CxDx_3GPP_Optional_Capability (605), avp_code_AAA_3GPP_Reporting_Trigger (1626), avp_code_PCC_3GPP_Tunnel_Header_Length (1037), avp_code_PCC_3GPP_Conditional_APN_Aggregate_Max_Bitrate (2818), + avp_code_CxDx_3GPP_Secondary_Event_Charging_Function_Name (620), avp_code_AAA_3GPP_Group_PLMN_Id (1677), avp_code_AAA_3GPP_User_Id (1444), avp_code_AAA_3GPP_Requested_UTRAN_GERAN_Authentication_Info (1409), @@ -4403,12 +6218,15 @@ avp_code_PCC_3GPP_Guaranteed_Bitrate_DL (1025), avp_code_RX_3GPP_Extended_Max_Supported_BW_UL (557), avp_code_PCC_3GPP_UDP_Source_Port (2806), + avp_code_CxDx_3GPP_From_SIP_Header (644), avp_code_AAA_3GPP_SIPTO_Local_Network_Permission (1665), avp_code_PCC_3GPP_Routing_Rule_Definition (1076), avp_code_AAA_3GPP_VPLMN_Dynamic_Address_Allowed (1432), + avp_code_CxDx_3GPP_SIP_Authenticate (609), avp_code_AAA_3GPP_Service_Type (1483), avp_code_AAA_3GPP_Immediate_Response_Preferred (1412), avp_code_AAA_3GPP_XRES (1448), + avp_code_GI_3GPP_3GPP_IMSI (1), avp_code_AAA_3GPP_User_State (1499), avp_code_S6_3GPP_IP_SM_GW_Realm (3112), avp_code_S6_3GPP_Reference_ID_Validity_Time (3148), @@ -4416,14 +6234,17 @@ avp_code_PCC_3GPP_TFT_Packet_Filter_Information (1013), avp_code_RX_3GPP_Min_Desired_Bandwidth_DL (545), avp_code_S6_3GPP_Group_Reporting_Guard_Timer (3163), + avp_code_CxDx_3GPP_Associated_Identities (632), avp_code_PCC_3GPP_Session_Linking_Indicator (1064), avp_code_S6_3GPP_Maximum_Number_of_Reports (3128), avp_code_PCC_3GPP_PRA_Install (2845), avp_code_AAA_3GPP_V2X_Permission (1689), avp_code_AAA_3GPP_LIPA_Permission (1618), avp_code_PCC_3GPP_QoS_Negotiation (1029), + avp_code_CxDx_3GPP_SIP_Auth_Data_Item (612), avp_code_AAA_3GPP_3GPP2_MEID (1471), avp_code_AAA_3GPP_Subscription_Data (1400), + avp_code_CxDx_3GPP_Multiple_Registration_Indication (648), avp_code_AAA_3GPP_WLAN_offloadability_UTRAN (1669), avp_code_AAA_3GPP_CSG_Subscription_Data (1436), avp_code_AAA_3GPP_TS_Code (1487), @@ -4439,11 +6260,13 @@ avp_code_AAA_3GPP_Location_Area_Identity (1606), avp_code_RX_3GPP_Media_Component_Status (549), avp_code_AAA_3GPP_eDRX_Cycle_Length_Value (1692), + avp_code_CxDx_3GPP_Visited_Network_Identifier (600), avp_code_S6_3GPP_RIR_Flags (3167), avp_code_AAA_3GPP_Collection_Period_RRM_LTE (1657), avp_code_PCC_3GPP_Usage_Monitoring_Level (1068), avp_code_AAA_3GPP_Subscriber_Status (1424), avp_code_PCC_3GPP_Extended_APN_AMBR_UL (2849), + avp_code_CxDx_3GPP_Identity_with_Emergency_Registration (651), avp_code_AAA_3GPP_LCS_PrivacyException (1475), avp_code_AAA_3GPP_QoS_Subscribed (1404), avp_code_RX_3GPP_RR_Bandwidth (521), @@ -4456,13 +6279,16 @@ avp_code_AAA_3GPP_UE_Usage_Type (1680), avp_code_PCC_3GPP_TDF_IP_Address (1091), avp_code_S6_3GPP_Enhanced_Coverage_Restriction (3155), + avp_code_CxDx_3GPP_User_Data_Already_Available (624), avp_code_AAA_3GPP_MME_Number_for_MT_SMS (1645), avp_code_PCC_3GPP_Security_Parameter_Index (1056), avp_code_PCC_3GPP_Traffic_Steering_Policy_Identifier_UL (2837), avp_code_AAA_3GPP_Carrier_Frequency (1696), + avp_code_CxDx_3GPP_Mandatory_Capability (604), avp_code_AAA_3GPP_Trace_NE_Type_List (1463), avp_code_AAA_3GPP_All_APN_Configurations_Included_Indicator (1428), avp_code_AAA_3GPP_NOR_Flags (1443), + avp_code_GI_3GPP_3GPP_MS_TimeZone (23), avp_code_AAA_3GPP_External_Client (1479), avp_code_RX_3GPP_Extended_Min_Requested_BW_DL (560), avp_code_RX_3GPP_Service_URN (525), @@ -4475,10 +6301,15 @@ avp_code_PCC_3GPP_ADC_Rule_Base_Name (1095), avp_code_AAA_3GPP_SCEF_Realm (1684), avp_code_S6_3GPP_Requested_Validity_Time (3159), + avp_code_CxDx_3GPP_Supported_Features (628), avp_code_AAA_3GPP_Local_Time_Zone (1649), avp_code_AAA_3GPP_GERAN_Vector (1416), + avp_code_CxDx_3GPP_Call_ID_SIP_Header (643), avp_code_AAA_3GPP_EPS_Subscribed_QoS_Profile (1431), + avp_code_GI_3GPP_3GPP_Session_Stop_Indicator (11), avp_code_AAA_3GPP_GPRS_Subscription_Data (1467), + avp_code_GI_3GPP_3GPP_GPRS_Negotiated_QoS_Profile (5), + avp_code_GI_3GPP_3GPP_Allocate_IP_Type (27), avp_code_RX_3GPP_Specific_Action (513), avp_code_S6_3GPP_Maximum_Detection_Time (3131), avp_code_AAA_3GPP_Ext_PDP_Address (1621), @@ -4487,9 +6318,11 @@ avp_code_AAA_3GPP_Adjacent_PLMNs (1672), avp_code_S6_3GPP_Service_Result_Code (3147), avp_code_AAA_3GPP_SGSN_Location_Information (1601), + avp_code_CxDx_3GPP_Reason_Code (616), avp_code_PCC_3GPP_Pre_emption_Vulnerability (1048), avp_code_AAA_3GPP_Equivalent_PLMN_List (1637), avp_code_PCC_3GPP_Default_Access (2829), + avp_code_CxDx_3GPP_Supported_Applications (631), avp_code_AAA_3GPP_IDR_Flags (1490), avp_code_AAA_3GPP_V2X_Subscription_Data (1688), avp_code_PCC_3GPP_PS_to_CS_Session_Continuity (1099), @@ -4501,6 +6334,7 @@ variant "COMP(2scompl)" } type union AVP_Code { + AVP_Code_ETSI vendor_id_ETSI, AVP_Code_NONE vendor_id_NONE, AVP_Code_3GPP vendor_id_3GPP } @@ -4517,12 +6351,18 @@ VMPxxxxx = '11100000'B } )" variant (avp_code) "CROSSTAG( + vendor_id_ETSI, vendor_id = vendor_id_ETSI; vendor_id_NONE, vendor_id = omit; vendor_id_3GPP, vendor_id = vendor_id_3GPP; )" } type union AVP_Data { + GI_3GPP_3GPP_SGSN_IPv6_Address avp_GI_3GPP_3GPP_SGSN_IPv6_Address, + DNAS_NONE_Login_LAT_Service avp_DNAS_NONE_Login_LAT_Service, + GI_3GPP_3GPP_GGSN_MCC_MNC avp_GI_3GPP_3GPP_GGSN_MCC_MNC, + DCC_NONE_Direct_Debiting_Failure_Handling avp_DCC_NONE_Direct_Debiting_Failure_Handling, MIPv6_NONE_MIP_Careof_Address avp_MIPv6_NONE_MIP_Careof_Address, + CxDx_ETSI_Line_Identifier avp_CxDx_ETSI_Line_Identifier, PCC_3GPP_Bearer_Identifier avp_PCC_3GPP_Bearer_Identifier, RX_3GPP_Content_Version avp_RX_3GPP_Content_Version, BASE_NONE_Session_Id avp_BASE_NONE_Session_Id, @@ -4533,15 +6373,23 @@ PCC_3GPP_Bearer_Usage avp_PCC_3GPP_Bearer_Usage, PCC_3GPP_Tunnel_Header_Filter avp_PCC_3GPP_Tunnel_Header_Filter, AAA_3GPP_List_Of_Measurements avp_AAA_3GPP_List_Of_Measurements, + DCC_NONE_Requested_Service_Unit avp_DCC_NONE_Requested_Service_Unit, PCC_3GPP_Default_QoS_Name avp_PCC_3GPP_Default_QoS_Name, AAA_3GPP_UVA_Flags avp_AAA_3GPP_UVA_Flags, + CxDx_3GPP_SAR_Flags avp_CxDx_3GPP_SAR_Flags, AAA_3GPP_Group_Service_Id avp_AAA_3GPP_Group_Service_Id, PCC_3GPP_TDF_Information avp_PCC_3GPP_TDF_Information, + DNAS_NONE_Framed_Pool avp_DNAS_NONE_Framed_Pool, + DCC_NONE_CC_Time avp_DCC_NONE_CC_Time, AAA_3GPP_Requested_EUTRAN_Authentication_Info avp_AAA_3GPP_Requested_EUTRAN_Authentication_Info, + CxDx_3GPP_SIP_Digest_Authenticate avp_CxDx_3GPP_SIP_Digest_Authenticate, AAA_3GPP_Last_UE_Activity_Time avp_AAA_3GPP_Last_UE_Activity_Time, AAA_3GPP_Context_Identifier avp_AAA_3GPP_Context_Identifier, + DCC_NONE_Used_Service_Unit avp_DCC_NONE_Used_Service_Unit, BASE_NONE_Auth_Application_Id avp_BASE_NONE_Auth_Application_Id, AAA_3GPP_Trace_Reference avp_AAA_3GPP_Trace_Reference, + DNAS_NONE_Framed_Appletalk_Network avp_DNAS_NONE_Framed_Appletalk_Network, + DNAS_NONE_Framed_IPv6_Prefix avp_DNAS_NONE_Framed_IPv6_Prefix, RX_3GPP_Sharing_Key_UL avp_RX_3GPP_Sharing_Key_UL, RX_3GPP_AF_Charging_Identifier avp_RX_3GPP_AF_Charging_Identifier, S6_3GPP_Monitoring_Event_Report avp_S6_3GPP_Monitoring_Event_Report, @@ -4556,7 +6404,9 @@ AAA_3GPP_SGs_MME_Identity avp_AAA_3GPP_SGs_MME_Identity, PCC_3GPP_Routing_Rule_Remove avp_PCC_3GPP_Routing_Rule_Remove, S6_3GPP_Roaming_Information avp_S6_3GPP_Roaming_Information, + CxDx_3GPP_SIP_Authentication_Scheme avp_CxDx_3GPP_SIP_Authentication_Scheme, AAA_3GPP_Event_Threshold_RSRP avp_AAA_3GPP_Event_Threshold_RSRP, + CxDx_3GPP_User_Authorization_Type avp_CxDx_3GPP_User_Authorization_Type, AAA_3GPP_PLMN_Client avp_AAA_3GPP_PLMN_Client, AAA_3GPP_Re_Synchronization_Info avp_AAA_3GPP_Re_Synchronization_Info, BASE_NONE_Auth_Grace_Period avp_BASE_NONE_Auth_Grace_Period, @@ -4566,10 +6416,13 @@ AAA_3GPP_APN_OI_Replacement avp_AAA_3GPP_APN_OI_Replacement, BASE_NONE_Re_Auth_Request_Type avp_BASE_NONE_Re_Auth_Request_Type, S6_3GPP_External_Identifier avp_S6_3GPP_External_Identifier, + DCC_NONE_Redirect_Address_Type avp_DCC_NONE_Redirect_Address_Type, MIPv6_NONE_MIP_MN_HA_MSA avp_MIPv6_NONE_MIP_MN_HA_MSA, PCC_3GPP_TFT_Filter avp_PCC_3GPP_TFT_Filter, RX_3GPP_Max_Supported_Bandwidth_UL avp_RX_3GPP_Max_Supported_Bandwidth_UL, + DNAS_NONE_Tunnel_Medium_Type avp_DNAS_NONE_Tunnel_Medium_Type, S6_3GPP_Loss_Of_Connectivity_Reason avp_S6_3GPP_Loss_Of_Connectivity_Reason, + DCC_NONE_User_Equipment_Info_Type avp_DCC_NONE_User_Equipment_Info_Type, RX_3GPP_Flow_Number avp_RX_3GPP_Flow_Number, PCC_3GPP_Resource_Allocation_Notification avp_PCC_3GPP_Resource_Allocation_Notification, S6_3GPP_Monitoring_Type avp_S6_3GPP_Monitoring_Type, @@ -4577,23 +6430,33 @@ AAA_3GPP_VPLMN_LIPA_Allowed avp_AAA_3GPP_VPLMN_LIPA_Allowed, PCC_3GPP_QoS_Class_Identifier avp_PCC_3GPP_QoS_Class_Identifier, PCC_3GPP_Mute_Notification avp_PCC_3GPP_Mute_Notification, + CxDx_3GPP_SIP_Authentication_Context avp_CxDx_3GPP_SIP_Authentication_Context, MIPv6_NONE_QoS_Resources avp_MIPv6_NONE_QoS_Resources, AAA_3GPP_Logging_Duration avp_AAA_3GPP_Logging_Duration, + DCC_NONE_Service_Parameter_Value avp_DCC_NONE_Service_Parameter_Value, + CxDx_3GPP_Associated_Registered_Identities avp_CxDx_3GPP_Associated_Registered_Identities, AAA_3GPP_WLAN_offloadability_EUTRAN avp_AAA_3GPP_WLAN_offloadability_EUTRAN, PCC_3GPP_Routing_IP_Address avp_PCC_3GPP_Routing_IP_Address, MIPv6_NONE_MIP_Session_Key avp_MIPv6_NONE_MIP_Session_Key, AAA_3GPP_KASME avp_AAA_3GPP_KASME, + GI_3GPP_3GPP_User_Location_Info_Time avp_GI_3GPP_3GPP_User_Location_Info_Time, AAA_3GPP_Teleservice_List avp_AAA_3GPP_Teleservice_List, AAA_3GPP_UTRAN_Vector avp_AAA_3GPP_UTRAN_Vector, + DCC_NONE_Tariff_Time_Change avp_DCC_NONE_Tariff_Time_Change, + GI_3GPP_3GPP_NSAPI avp_GI_3GPP_3GPP_NSAPI, + GI_3GPP_3GPP_CG_Address avp_GI_3GPP_3GPP_CG_Address, RX_3GPP_Application_Service_Provider_Identity avp_RX_3GPP_Application_Service_Provider_Identity, S6_3GPP_NIDD_Authorization_Request avp_S6_3GPP_NIDD_Authorization_Request, PCC_3GPP_QoS_Rule_Install avp_PCC_3GPP_QoS_Rule_Install, S6_3GPP_Periodic_Communication_Indicator avp_S6_3GPP_Periodic_Communication_Indicator, RX_3GPP_Flow_Usage avp_RX_3GPP_Flow_Usage, PCC_3GPP_RAN_Rule_Support avp_PCC_3GPP_RAN_Rule_Support, + DNAS_NONE_Tunnel_Password avp_DNAS_NONE_Tunnel_Password, S6_3GPP_Monitoring_Duration avp_S6_3GPP_Monitoring_Duration, AAA_3GPP_Routing_Area_Identity avp_AAA_3GPP_Routing_Area_Identity, PCC_3GPP_QoS_Information avp_PCC_3GPP_QoS_Information, + DCC_NONE_User_Equipment_Info_Value avp_DCC_NONE_User_Equipment_Info_Value, + DNAS_NONE_Tunneling avp_DNAS_NONE_Tunneling, RX_3GPP_Service_Authorization_Info avp_RX_3GPP_Service_Authorization_Info, BASE_NONE_Multi_Round_Time_Out avp_BASE_NONE_Multi_Round_Time_Out, AAA_3GPP_eDRX_Cycle_Length avp_AAA_3GPP_eDRX_Cycle_Length, @@ -4605,32 +6468,52 @@ PCC_3GPP_Usage_Monitoring_Information avp_PCC_3GPP_Usage_Monitoring_Information, BASE_NONE_Experimental_Result_Code avp_BASE_NONE_Experimental_Result_Code, PCC_3GPP_Extended_APN_AMBR_DL avp_PCC_3GPP_Extended_APN_AMBR_DL, + CxDx_3GPP_Session_Priority avp_CxDx_3GPP_Session_Priority, + CxDx_3GPP_Deregistration_Reason avp_CxDx_3GPP_Deregistration_Reason, AAA_3GPP_GMLC_Number avp_AAA_3GPP_GMLC_Number, + DNAS_NONE_Configuration_Token avp_DNAS_NONE_Configuration_Token, + DNAS_NONE_Callback_Number avp_DNAS_NONE_Callback_Number, AAA_3GPP_Software_Version avp_AAA_3GPP_Software_Version, AAA_3GPP_Expiration_Date avp_AAA_3GPP_Expiration_Date, BASE_NONE_Error_Message avp_BASE_NONE_Error_Message, AAA_3GPP_SRES avp_AAA_3GPP_SRES, + DNAS_NONE_NAS_Port_Type avp_DNAS_NONE_NAS_Port_Type, AAA_3GPP_Item_Number avp_AAA_3GPP_Item_Number, + DCC_NONE_Multiple_Services_Indicator avp_DCC_NONE_Multiple_Services_Indicator, + DNAS_NONE_Framed_Protocol avp_DNAS_NONE_Framed_Protocol, S6_3GPP_Service_ID avp_S6_3GPP_Service_ID, + GI_3GPP_3GPP_IMSI_MCC_MNC avp_GI_3GPP_3GPP_IMSI_MCC_MNC, RX_3GPP_Abort_Cause avp_RX_3GPP_Abort_Cause, PCC_3GPP_Charging_Rule_Base_Name avp_PCC_3GPP_Charging_Rule_Base_Name, RX_3GPP_Required_Access_Info avp_RX_3GPP_Required_Access_Info, PCC_3GPP_TDF_Destination_Realm avp_PCC_3GPP_TDF_Destination_Realm, S6_3GPP_S6t_HSS_Cause avp_S6_3GPP_S6t_HSS_Cause, RX_3GPP_AF_Requested_Data avp_RX_3GPP_AF_Requested_Data, + DNAS_NONE_Filter_Id avp_DNAS_NONE_Filter_Id, + DNAS_NONE_ARAP_Password avp_DNAS_NONE_ARAP_Password, PCC_3GPP_QoS_Rule_Report avp_PCC_3GPP_QoS_Rule_Report, + DNAS_NONE_CHAP_Response avp_DNAS_NONE_CHAP_Response, S6_3GPP_Stationary_Indication avp_S6_3GPP_Stationary_Indication, PCC_3GPP_Traffic_Steering_Policy_Identifier_DL avp_PCC_3GPP_Traffic_Steering_Policy_Identifier_DL, AAA_3GPP_Geodetic_Information avp_AAA_3GPP_Geodetic_Information, PCC_3GPP_Extended_GBR_UL avp_PCC_3GPP_Extended_GBR_UL, AAA_3GPP_MBSFN_Area_ID avp_AAA_3GPP_MBSFN_Area_ID, + CxDx_3GPP_Server_Capabilities avp_CxDx_3GPP_Server_Capabilities, AAA_3GPP_Area_Scope avp_AAA_3GPP_Area_Scope, + DNAS_NONE_Accounting_Input_Packets avp_DNAS_NONE_Accounting_Input_Packets, + CxDx_3GPP_SCSCF_Restoration_Info avp_CxDx_3GPP_SCSCF_Restoration_Info, + CxDx_3GPP_Initial_CSeq_Sequence_Number avp_CxDx_3GPP_Initial_CSeq_Sequence_Number, AAA_3GPP_PUA_Flags avp_AAA_3GPP_PUA_Flags, + DNAS_NONE_Callback_Id avp_DNAS_NONE_Callback_Id, + CxDx_3GPP_Primary_Event_Charging_Function_Name avp_CxDx_3GPP_Primary_Event_Charging_Function_Name, + DCC_NONE_CC_Output_Octets avp_DCC_NONE_CC_Output_Octets, + GI_3GPP_3GPP_User_Location_Info avp_GI_3GPP_3GPP_User_Location_Info, AAA_3GPP_Notification_To_UE_User avp_AAA_3GPP_Notification_To_UE_User, AAA_3GPP_Visited_PLMN_Id avp_AAA_3GPP_Visited_PLMN_Id, AAA_3GPP_Homogeneous_Support_of_IMS_Voice_Over_PS_Sessions avp_AAA_3GPP_Homogeneous_Support_of_IMS_Voice_Over_PS_Sessions, RX_3GPP_Codec_Data avp_RX_3GPP_Codec_Data, S6_3GPP_Monitoring_Event_Config_Status avp_S6_3GPP_Monitoring_Event_Config_Status, + DCC_NONE_Cost_Information avp_DCC_NONE_Cost_Information, BASE_NONE_Error_Reporting_Host avp_BASE_NONE_Error_Reporting_Host, PCC_3GPP_Rule_Activation_Time avp_PCC_3GPP_Rule_Activation_Time, S6_3GPP_Service_Data avp_S6_3GPP_Service_Data, @@ -4638,6 +6521,8 @@ PCC_3GPP_NetLoc_Access_Support avp_PCC_3GPP_NetLoc_Access_Support, S6_3GPP_Monitoring_Event_Configuration avp_S6_3GPP_Monitoring_Event_Configuration, PCC_3GPP_Offline avp_PCC_3GPP_Offline, + DNAS_NONE_Login_Service avp_DNAS_NONE_Login_Service, + DNAS_NONE_ARAP_Security_Data avp_DNAS_NONE_ARAP_Security_Data, AAA_3GPP_Additional_Context_ID avp_AAA_3GPP_Additional_Context_ID, PCC_3GPP_ADC_Rule_Definition avp_PCC_3GPP_ADC_Rule_Definition, S6_3GPP_Allowed_PLMN_List avp_S6_3GPP_Allowed_PLMN_List, @@ -4646,11 +6531,18 @@ PCC_3GPP_HeNB_Local_IP_Address avp_PCC_3GPP_HeNB_Local_IP_Address, AAA_3GPP_SMS_Register_Request avp_AAA_3GPP_SMS_Register_Request, PCC_3GPP_Packet_Filter_Content avp_PCC_3GPP_Packet_Filter_Content, + CxDx_3GPP_Subscription_Info avp_CxDx_3GPP_Subscription_Info, AAA_3GPP_APN_Configuration avp_AAA_3GPP_APN_Configuration, + CxDx_3GPP_SIP_Number_Auth_Items avp_CxDx_3GPP_SIP_Number_Auth_Items, AAA_3GPP_OMC_Id avp_AAA_3GPP_OMC_Id, AAA_3GPP_GMLC_Restriction avp_AAA_3GPP_GMLC_Restriction, + DNAS_NONE_State avp_DNAS_NONE_State, + DNAS_NONE_Tunnel_Preference avp_DNAS_NONE_Tunnel_Preference, + DCC_NONE_CC_Session_Failover avp_DCC_NONE_CC_Session_Failover, AAA_3GPP_Regional_Subscription_Zone_Code avp_AAA_3GPP_Regional_Subscription_Zone_Code, + GI_3GPP_3GPP_Negotiated_DSCP avp_GI_3GPP_3GPP_Negotiated_DSCP, BASE_NONE_Proxy_State avp_BASE_NONE_Proxy_State, + DCC_NONE_Credit_Control_Failure_Handling avp_DCC_NONE_Credit_Control_Failure_Handling, S6_3GPP_SIR_Flags avp_S6_3GPP_SIR_Flags, RX_3GPP_MPS_Identifier avp_RX_3GPP_MPS_Identifier, AAA_3GPP_MDT_Allowed_PLMN_Id avp_AAA_3GPP_MDT_Allowed_PLMN_Id, @@ -4663,17 +6555,25 @@ PCC_3GPP_Pre_emption_Capability avp_PCC_3GPP_Pre_emption_Capability, PCC_3GPP_Monitoring_Flags avp_PCC_3GPP_Monitoring_Flags, BASE_NONE_Redirect_Max_Cache_Time avp_BASE_NONE_Redirect_Max_Cache_Time, + CxDx_3GPP_Feature_List avp_CxDx_3GPP_Feature_List, PCC_3GPP_TCP_Source_Port avp_PCC_3GPP_TCP_Source_Port, PCC_3GPP_Application_Detection_Information avp_PCC_3GPP_Application_Detection_Information, AAA_3GPP_Emergency_Info avp_AAA_3GPP_Emergency_Info, AAA_3GPP_MPS_Priority avp_AAA_3GPP_MPS_Priority, + DCC_NONE_Requested_Action avp_DCC_NONE_Requested_Action, + CxDx_3GPP_Record_Route avp_CxDx_3GPP_Record_Route, AAA_3GPP_Alert_Reason avp_AAA_3GPP_Alert_Reason, + GI_3GPP_3GPP_CG_IPv6_Address avp_GI_3GPP_3GPP_CG_IPv6_Address, + DNAS_NONE_Idle_Timeout avp_DNAS_NONE_Idle_Timeout, + DNAS_NONE_NAS_Port_Id avp_DNAS_NONE_NAS_Port_Id, AAA_3GPP_MO_LR avp_AAA_3GPP_MO_LR, BASE_NONE_Host_IP_Address avp_BASE_NONE_Host_IP_Address, RX_3GPP_Max_Requested_Bandwidth_UL avp_RX_3GPP_Max_Requested_Bandwidth_UL, PCC_3GPP_Usage_Monitoring_Support avp_PCC_3GPP_Usage_Monitoring_Support, S6_3GPP_Maximum_Response_Time avp_S6_3GPP_Maximum_Response_Time, RX_3GPP_Sponsor_Identity avp_RX_3GPP_Sponsor_Identity, + DNAS_NONE_Framed_Appletalk_Link avp_DNAS_NONE_Framed_Appletalk_Link, + DNAS_NONE_Framed_Interface_Id avp_DNAS_NONE_Framed_Interface_Id, PCC_3GPP_CoA_IP_Address avp_PCC_3GPP_CoA_IP_Address, PCC_3GPP_Default_QoS_Information avp_PCC_3GPP_Default_QoS_Information, PCC_3GPP_AN_GW_Address avp_PCC_3GPP_AN_GW_Address, @@ -4683,72 +6583,104 @@ AAA_3GPP_Cell_Global_Identity avp_AAA_3GPP_Cell_Global_Identity, BASE_NONE_Vendor_Id avp_BASE_NONE_Vendor_Id, AAA_3GPP_PDN_Connection_Continuity avp_AAA_3GPP_PDN_Connection_Continuity, + CxDx_3GPP_Wildcarded_Public_Identity avp_CxDx_3GPP_Wildcarded_Public_Identity, + DNAS_NONE_Acct_Session_Time avp_DNAS_NONE_Acct_Session_Time, AAA_3GPP_DSA_Flags avp_AAA_3GPP_DSA_Flags, AAA_3GPP_Trace_Data avp_AAA_3GPP_Trace_Data, AAA_3GPP_LCS_Info avp_AAA_3GPP_LCS_Info, AAA_3GPP_PDN_GW_Allocation_Type avp_AAA_3GPP_PDN_GW_Allocation_Type, + GI_3GPP_3GPP_SGSN_MCC_MNC avp_GI_3GPP_3GPP_SGSN_MCC_MNC, BASE_NONE_Event_Timestamp avp_BASE_NONE_Event_Timestamp, + DCC_NONE_Final_Unit_Action avp_DCC_NONE_Final_Unit_Action, RX_3GPP_Extended_Max_Requested_BW_UL avp_RX_3GPP_Extended_Max_Requested_BW_UL, S6_3GPP_User_Identifier avp_S6_3GPP_User_Identifier, + DNAS_NONE_Framed_IPv6_Pool avp_DNAS_NONE_Framed_IPv6_Pool, PCC_3GPP_QoS_Rule_Base_Name avp_PCC_3GPP_QoS_Rule_Base_Name, AAA_3GPP_Restoration_Priority avp_AAA_3GPP_Restoration_Priority, + DCC_NONE_Rating_Group avp_DCC_NONE_Rating_Group, MIPv6_NONE_MIP_MN_HA_SPI avp_MIPv6_NONE_MIP_MN_HA_SPI, S6_3GPP_Association_Type avp_S6_3GPP_Association_Type, PCC_3GPP_Charging_Rule_Definition avp_PCC_3GPP_Charging_Rule_Definition, RX_3GPP_Min_Requested_Bandwidth_UL avp_RX_3GPP_Min_Requested_Bandwidth_UL, AAA_3GPP_Report_Amount avp_AAA_3GPP_Report_Amount, PCC_3GPP_CoA_Information avp_PCC_3GPP_CoA_Information, + CxDx_3GPP_Secondary_Charging_Collection_Function_Name avp_CxDx_3GPP_Secondary_Charging_Collection_Function_Name, + DCC_NONE_User_Equipment_Info avp_DCC_NONE_User_Equipment_Info, AAA_3GPP_A_MSISDN avp_AAA_3GPP_A_MSISDN, MIPv6_NONE_MIP_Mobile_Node_Address avp_MIPv6_NONE_MIP_Mobile_Node_Address, PCC_3GPP_Routing_Rule_Report avp_PCC_3GPP_Routing_Rule_Report, AAA_3GPP_Number_Of_Requested_Vectors avp_AAA_3GPP_Number_Of_Requested_Vectors, AAA_3GPP_AIR_Flags avp_AAA_3GPP_AIR_Flags, AAA_3GPP_Geographical_Information avp_AAA_3GPP_Geographical_Information, + CxDx_3GPP_Loose_Route_Indication avp_CxDx_3GPP_Loose_Route_Indication, + DCC_NONE_Service_Parameter_Type avp_DCC_NONE_Service_Parameter_Type, AAA_3GPP_MME_User_State avp_AAA_3GPP_MME_User_State, AAA_3GPP_Access_Restriction_Data avp_AAA_3GPP_Access_Restriction_Data, BASE_NONE_Failed_AVP avp_BASE_NONE_Failed_AVP, + GI_3GPP_3GPP_RAT_Type avp_GI_3GPP_3GPP_RAT_Type, AAA_3GPP_SS_Status avp_AAA_3GPP_SS_Status, S6_3GPP_NIDD_Authorization_Update avp_S6_3GPP_NIDD_Authorization_Update, + DCC_NONE_Subscription_Id_Type avp_DCC_NONE_Subscription_Id_Type, PCC_3GPP_Packet_Filter_Operation avp_PCC_3GPP_Packet_Filter_Operation, S6_3GPP_SCEF_Reference_ID_for_Deletion avp_S6_3GPP_SCEF_Reference_ID_for_Deletion, RX_3GPP_SIP_Forking_Indication avp_RX_3GPP_SIP_Forking_Indication, + DNAS_NONE_User_Password avp_DNAS_NONE_User_Password, S6_3GPP_IMEI_Change avp_S6_3GPP_IMEI_Change, PCC_3GPP_IP_CAN_Type avp_PCC_3GPP_IP_CAN_Type, RX_3GPP_Extended_Min_Desired_BW_UL avp_RX_3GPP_Extended_Min_Desired_BW_UL, + CxDx_3GPP_SIP_Authorization avp_CxDx_3GPP_SIP_Authorization, PCC_3GPP_Revalidation_Time avp_PCC_3GPP_Revalidation_Time, AAA_3GPP_Logging_Interval avp_AAA_3GPP_Logging_Interval, PCC_3GPP_Presence_Reporting_Area_Status avp_PCC_3GPP_Presence_Reporting_Area_Status, AAA_3GPP_WLAN_offloadability avp_AAA_3GPP_WLAN_offloadability, PCC_3GPP_Routing_Filter avp_PCC_3GPP_Routing_Filter, PCC_3GPP_Metering_Method avp_PCC_3GPP_Metering_Method, + DNAS_NONE_Acct_Tunnel_Connection avp_DNAS_NONE_Acct_Tunnel_Connection, AAA_3GPP_Non_IP_Data_Delivery_Mechanism avp_AAA_3GPP_Non_IP_Data_Delivery_Mechanism, + DNAS_NONE_NAS_Filter_Rule avp_DNAS_NONE_NAS_Filter_Rule, BASE_NONE_Session_Server_Failover avp_BASE_NONE_Session_Server_Failover, + CxDx_3GPP_Integrity_Key avp_CxDx_3GPP_Integrity_Key, AAA_3GPP_E_UTRAN_Vector avp_AAA_3GPP_E_UTRAN_Vector, BASE_NONE_Experimental_Result avp_BASE_NONE_Experimental_Result, + DNAS_NONE_Acct_Link_Count avp_DNAS_NONE_Acct_Link_Count, + DCC_NONE_Unit_Value avp_DCC_NONE_Unit_Value, AAA_3GPP_Trace_Event_List avp_AAA_3GPP_Trace_Event_List, + GI_3GPP_3GPP_PDP_Type avp_GI_3GPP_3GPP_PDP_Type, + DNAS_NONE_Reply_Message avp_DNAS_NONE_Reply_Message, + DNAS_NONE_Connect_Info avp_DNAS_NONE_Connect_Info, MIPv6_NONE_MIP_Replay_Mode avp_MIPv6_NONE_MIP_Replay_Mode, BASE_NONE_Proxy_Host avp_BASE_NONE_Proxy_Host, S6_3GPP_Communication_Pattern_Set avp_S6_3GPP_Communication_Pattern_Set, RX_3GPP_Flow_Status avp_RX_3GPP_Flow_Status, + DNAS_NONE_CHAP_Challenge avp_DNAS_NONE_CHAP_Challenge, + DCC_NONE_CC_Unit_Type avp_DCC_NONE_CC_Unit_Type, RX_3GPP_MCPTT_Identifier avp_RX_3GPP_MCPTT_Identifier, S6_3GPP_Group_Monitoring_Event_Report avp_S6_3GPP_Group_Monitoring_Event_Report, PCC_3GPP_QoS_Upgrade avp_PCC_3GPP_QoS_Upgrade, + DNAS_NONE_Service_Type avp_DNAS_NONE_Service_Type, PCC_3GPP_AN_GW_Status avp_PCC_3GPP_AN_GW_Status, AAA_3GPP_Measurement_Period_UMTS avp_AAA_3GPP_Measurement_Period_UMTS, PCC_3GPP_Monitoring_Key avp_PCC_3GPP_Monitoring_Key, PCC_3GPP_3GPP_PS_Data_Off_Status avp_PCC_3GPP_3GPP_PS_Data_Off_Status, AAA_3GPP_Reset_ID avp_AAA_3GPP_Reset_ID, PCC_3GPP_Routing_Rule_Install avp_PCC_3GPP_Routing_Rule_Install, + CxDx_3GPP_Server_Assignment_Type avp_CxDx_3GPP_Server_Assignment_Type, AAA_3GPP_PUR_Flags avp_AAA_3GPP_PUR_Flags, + DNAS_NONE_Framed_Routing avp_DNAS_NONE_Framed_Routing, PCC_3GPP_IP_CAN_Session_Charging_Scope avp_PCC_3GPP_IP_CAN_Session_Charging_Scope, AAA_3GPP_IMEI avp_AAA_3GPP_IMEI, + DNAS_NONE_CHAP_Ident avp_DNAS_NONE_CHAP_Ident, AAA_3GPP_Kc avp_AAA_3GPP_Kc, AAA_3GPP_SGSN_Number avp_AAA_3GPP_SGSN_Number, AAA_3GPP_HPLMN_ODB avp_AAA_3GPP_HPLMN_ODB, + GI_3GPP_3GPP_Charging_Characteristics avp_GI_3GPP_3GPP_Charging_Characteristics, AAA_3GPP_PDP_Context avp_AAA_3GPP_PDP_Context, + DCC_NONE_CC_Money avp_DCC_NONE_CC_Money, + GI_3GPP_3GPP_GGSN_Address avp_GI_3GPP_3GPP_GGSN_Address, BASE_NONE_Proxy_Info avp_BASE_NONE_Proxy_Info, S6_3GPP_Node_Type avp_S6_3GPP_Node_Type, RX_3GPP_Priority_Sharing_Indicator avp_RX_3GPP_Priority_Sharing_Indicator, + DNAS_NONE_Tunnel_Type avp_DNAS_NONE_Tunnel_Type, PCC_3GPP_QoS_Rule_Name avp_PCC_3GPP_QoS_Rule_Name, S6_3GPP_Scheduled_Communication_Time avp_S6_3GPP_Scheduled_Communication_Time, RX_3GPP_Max_Requested_Bandwidth_DL avp_RX_3GPP_Max_Requested_Bandwidth_DL, @@ -4756,16 +6688,26 @@ PCC_3GPP_PCC_Rule_Status avp_PCC_3GPP_PCC_Rule_Status, PCC_3GPP_Extended_GBR_DL avp_PCC_3GPP_Extended_GBR_DL, AAA_3GPP_MBSFN_Area avp_AAA_3GPP_MBSFN_Area, + CxDx_3GPP_Server_Name avp_CxDx_3GPP_Server_Name, + DCC_NONE_Check_Balance_Result avp_DCC_NONE_Check_Balance_Result, S6_3GPP_APN_Validity_Time avp_S6_3GPP_APN_Validity_Time, AAA_3GPP_Job_Type avp_AAA_3GPP_Job_Type, PCC_3GPP_Allocation_Retention_Priority avp_PCC_3GPP_Allocation_Retention_Priority, BASE_NONE_Destination_Host avp_BASE_NONE_Destination_Host, AAA_3GPP_Positioning_Method avp_AAA_3GPP_Positioning_Method, + CxDx_3GPP_LIA_Flags avp_CxDx_3GPP_LIA_Flags, AAA_3GPP_DL_Buffering_Suggested_Packet_Count avp_AAA_3GPP_DL_Buffering_Suggested_Packet_Count, + DNAS_NONE_Login_IP_Host avp_DNAS_NONE_Login_IP_Host, + DNAS_NONE_ARAP_Security avp_DNAS_NONE_ARAP_Security, AAA_3GPP_IDA_Flags avp_AAA_3GPP_IDA_Flags, + DNAS_NONE_Origin_AAA_Protocol avp_DNAS_NONE_Origin_AAA_Protocol, + CxDx_3GPP_Charging_Information avp_CxDx_3GPP_Charging_Information, AAA_3GPP_ULA_Flags avp_AAA_3GPP_ULA_Flags, AAA_3GPP_IMS_Voice_Over_PS_Sessions_Supported avp_AAA_3GPP_IMS_Voice_Over_PS_Sessions_Supported, AAA_3GPP_Roaming_Restricted_Due_To_Unsupported_Feature avp_AAA_3GPP_Roaming_Restricted_Due_To_Unsupported_Feature, + DNAS_NONE_Tunnel_Assignment_Id avp_DNAS_NONE_Tunnel_Assignment_Id, + DNAS_NONE_Framed_IPX_Network avp_DNAS_NONE_Framed_IPX_Network, + DCC_NONE_CC_Service_Specific_Units avp_DCC_NONE_CC_Service_Specific_Units, S6_3GPP_T4_Parameters avp_S6_3GPP_T4_Parameters, RX_3GPP_Access_Network_Charging_Identifier_Value avp_RX_3GPP_Access_Network_Charging_Identifier_Value, S6_3GPP_AESE_Error_Report avp_S6_3GPP_AESE_Error_Report, @@ -4776,17 +6718,25 @@ PCC_3GPP_Access_Network_Charging_Identifier_Gx avp_PCC_3GPP_Access_Network_Charging_Identifier_Gx, RX_3GPP_Extended_Max_Requested_BW_DL avp_RX_3GPP_Extended_Max_Requested_BW_DL, PCC_3GPP_Flow_Information avp_PCC_3GPP_Flow_Information, + DNAS_NONE_NAS_Identifier avp_DNAS_NONE_NAS_Identifier, + DNAS_NONE_Tunnel_Server_Auth_Id avp_DNAS_NONE_Tunnel_Server_Auth_Id, PCC_3GPP_Execution_Time avp_PCC_3GPP_Execution_Time, + CxDx_3GPP_Contact avp_CxDx_3GPP_Contact, + DCC_NONE_Credit_Control avp_DCC_NONE_Credit_Control, BASE_NONE_Accounting_Record_Number avp_BASE_NONE_Accounting_Record_Number, AAA_3GPP_Event_Threshold_Event_1I avp_AAA_3GPP_Event_Threshold_Event_1I, PCC_3GPP_Charging_Correlation_Indicator avp_PCC_3GPP_Charging_Correlation_Indicator, + CxDx_3GPP_User_Data avp_CxDx_3GPP_User_Data, AAA_3GPP_Report_Interval avp_AAA_3GPP_Report_Interval, PCC_3GPP_RAN_NAS_Release_Cause avp_PCC_3GPP_RAN_NAS_Release_Cause, AAA_3GPP_Client_Identity avp_AAA_3GPP_Client_Identity, BASE_NONE_Redirect_Host_Usage avp_BASE_NONE_Redirect_Host_Usage, AAA_3GPP_Equipment_Status avp_AAA_3GPP_Equipment_Status, + GI_3GPP_3GPP_Packet_Filter avp_GI_3GPP_3GPP_Packet_Filter, + DCC_NONE_Redirect_Server_Address avp_DCC_NONE_Redirect_Server_Address, MIPv6_NONE_MIP6_Auth_Mode avp_MIPv6_NONE_MIP6_Auth_Mode, AAA_3GPP_EPS_Location_Information avp_AAA_3GPP_EPS_Location_Information, + DNAS_NONE_Acct_Tunnel_Packets_Lost avp_DNAS_NONE_Acct_Tunnel_Packets_Lost, BASE_NONE_Session_Timeout avp_BASE_NONE_Session_Timeout, RX_3GPP_Service_Info_Status avp_RX_3GPP_Service_Info_Status, S6_3GPP_CIR_Flags avp_S6_3GPP_CIR_Flags, @@ -4803,33 +6753,48 @@ PCC_3GPP_ADC_Rule_Report avp_PCC_3GPP_ADC_Rule_Report, AAA_3GPP_UE_SRVCC_Capability avp_AAA_3GPP_UE_SRVCC_Capability, PCC_3GPP_Guaranteed_Bitrate_UL avp_PCC_3GPP_Guaranteed_Bitrate_UL, + DNAS_NONE_NAS_IPv6_Address avp_DNAS_NONE_NAS_IPv6_Address, + DNAS_NONE_Login_LAT_Group avp_DNAS_NONE_Login_LAT_Group, MIPv6_NONE_MIP_MAC_Mobility_Data avp_MIPv6_NONE_MIP_MAC_Mobility_Data, + DNAS_NONE_Accounting_Output_Octets avp_DNAS_NONE_Accounting_Output_Octets, + CxDx_3GPP_To_SIP_Header avp_CxDx_3GPP_To_SIP_Header, AAA_3GPP_Coupled_Node_Diameter_ID avp_AAA_3GPP_Coupled_Node_Diameter_ID, AAA_3GPP_STN_SR avp_AAA_3GPP_STN_SR, BASE_NONE_Supported_Vendor_Id avp_BASE_NONE_Supported_Vendor_Id, AAA_3GPP_ServiceTypeIdentity avp_AAA_3GPP_ServiceTypeIdentity, + DNAS_NONE_Acct_Authentic avp_DNAS_NONE_Acct_Authentic, + DCC_NONE_Service_Identifier avp_DCC_NONE_Service_Identifier, AAA_3GPP_AUTN avp_AAA_3GPP_AUTN, + GI_3GPP_TWAN_Identifier avp_GI_3GPP_TWAN_Identifier, RX_3GPP_Sponsored_Connectivity_Data avp_RX_3GPP_Sponsored_Connectivity_Data, BASE_NONE_Auth_Request_Type avp_BASE_NONE_Auth_Request_Type, S6_3GPP_AESE_Communication_Pattern avp_S6_3GPP_AESE_Communication_Pattern, PCC_3GPP_NBIFOM_Mode avp_PCC_3GPP_NBIFOM_Mode, + DCC_NONE_Validity_Time avp_DCC_NONE_Validity_Time, PCC_3GPP_Redirect_Information avp_PCC_3GPP_Redirect_Information, S6_3GPP_Event_Handling avp_S6_3GPP_Event_Handling, AAA_3GPP_Tracking_Area_Identity avp_AAA_3GPP_Tracking_Area_Identity, PCC_3GPP_ToS_Traffic_Class avp_PCC_3GPP_ToS_Traffic_Class, RX_3GPP_Min_Desired_Bandwidth_UL avp_RX_3GPP_Min_Desired_Bandwidth_UL, AAA_3GPP_UVR_Flags avp_AAA_3GPP_UVR_Flags, + CxDx_3GPP_Originating_Request avp_CxDx_3GPP_Originating_Request, AAA_3GPP_Subscription_Data_Flags avp_AAA_3GPP_Subscription_Data_Flags, PCC_3GPP_PDN_Connection_ID avp_PCC_3GPP_PDN_Connection_ID, + DNAS_NONE_Framed_IPv6_Route avp_DNAS_NONE_Framed_IPv6_Route, AAA_3GPP_DSR_Flags avp_AAA_3GPP_DSR_Flags, PCC_3GPP_PRA_Remove avp_PCC_3GPP_PRA_Remove, + DCC_NONE_Granted_Service_Unit avp_DCC_NONE_Granted_Service_Unit, MIPv6_NONE_MIP_Timestamp avp_MIPv6_NONE_MIP_Timestamp, AAA_3GPP_Subscribed_Periodic_RAU_TAU_Timer avp_AAA_3GPP_Subscribed_Periodic_RAU_TAU_Timer, AAA_3GPP_Specific_APN_Info avp_AAA_3GPP_Specific_APN_Info, AAA_3GPP_Terminal_Information avp_AAA_3GPP_Terminal_Information, + CxDx_3GPP_Restoration_Info avp_CxDx_3GPP_Restoration_Info, BASE_NONE_Product_Name avp_BASE_NONE_Product_Name, AAA_3GPP_CSG_Id avp_AAA_3GPP_CSG_Id, + DNAS_NONE_Framed_IP_Netmask avp_DNAS_NONE_Framed_IP_Netmask, + GI_3GPP_3GPP_IPv6_DNS_Servers avp_GI_3GPP_3GPP_IPv6_DNS_Servers, AAA_3GPP_Call_Barring_Info avp_AAA_3GPP_Call_Barring_Info, + DCC_NONE_Service_Parameter_Info avp_DCC_NONE_Service_Parameter_Info, BASE_NONE_Origin_State_Id avp_BASE_NONE_Origin_State_Id, S6_3GPP_IP_SM_GW_Name avp_S6_3GPP_IP_SM_GW_Name, RX_3GPP_Media_Sub_Component avp_RX_3GPP_Media_Sub_Component, @@ -4838,6 +6803,7 @@ RX_3GPP_Min_Requested_Bandwidth_DL avp_RX_3GPP_Min_Requested_Bandwidth_DL, S6_3GPP_Service_Report avp_S6_3GPP_Service_Report, PCC_3GPP_Tunnel_Information avp_PCC_3GPP_Tunnel_Information, + CxDx_3GPP_Primary_Charging_Collection_Function_Name avp_CxDx_3GPP_Primary_Charging_Collection_Function_Name, AAA_3GPP_Time_Zone avp_AAA_3GPP_Time_Zone, PCC_3GPP_QoS_Rule_Definition avp_PCC_3GPP_QoS_Rule_Definition, S6_3GPP_Periodic_Time avp_S6_3GPP_Periodic_Time, @@ -4848,12 +6814,18 @@ PCC_3GPP_Charging_Rule_Report avp_PCC_3GPP_Charging_Rule_Report, BASE_NONE_User_Name avp_BASE_NONE_User_Name, AAA_3GPP_UE_PC5_AMBR avp_AAA_3GPP_UE_PC5_AMBR, + CxDx_3GPP_Public_Identity avp_CxDx_3GPP_Public_Identity, BASE_NONE_Accounting_Sub_Session_Id avp_BASE_NONE_Accounting_Sub_Session_Id, + DNAS_NONE_Acct_Delay_Time avp_DNAS_NONE_Acct_Delay_Time, + CxDx_3GPP_UAR_Flags avp_CxDx_3GPP_UAR_Flags, AAA_3GPP_Collection_Period_RRM_UMTS avp_AAA_3GPP_Collection_Period_RRM_UMTS, AAA_3GPP_Operator_Determined_Barring avp_AAA_3GPP_Operator_Determined_Barring, + DNAS_NONE_Tunnel_Server_Endpoint avp_DNAS_NONE_Tunnel_Server_Endpoint, BASE_NONE_Session_Binding avp_BASE_NONE_Session_Binding, + GI_3GPP_3GPP_IMEISV avp_GI_3GPP_3GPP_IMEISV, AAA_3GPP_SS_Code avp_AAA_3GPP_SS_Code, BASE_NONE_Acct_Multi_Session_Id avp_BASE_NONE_Acct_Multi_Session_Id, + DCC_NONE_Subscription_Id_Data avp_DCC_NONE_Subscription_Id_Data, RX_3GPP_RS_Bandwidth avp_RX_3GPP_RS_Bandwidth, MIPv6_NONE_MIP_Algorithm_Type avp_MIPv6_NONE_MIP_Algorithm_Type, S6_3GPP_Reachability_Information avp_S6_3GPP_Reachability_Information, @@ -4866,49 +6838,77 @@ PCC_3GPP_Event_Trigger avp_PCC_3GPP_Event_Trigger, RX_3GPP_GCS_Identifier avp_RX_3GPP_GCS_Identifier, MIPv6_NONE_QoS_Capability avp_MIPv6_NONE_QoS_Capability, + DCC_NONE_G_S_U_Pool_Identifier avp_DCC_NONE_G_S_U_Pool_Identifier, AAA_3GPP_Non_IP_PDN_Type_Indicator avp_AAA_3GPP_Non_IP_PDN_Type_Indicator, PCC_3GPP_ADC_Rule_Install avp_PCC_3GPP_ADC_Rule_Install, + CxDx_3GPP_Confidentiality_Key avp_CxDx_3GPP_Confidentiality_Key, PCC_3GPP_Flow_Label avp_PCC_3GPP_Flow_Label, + DNAS_NONE_NAS_Port avp_DNAS_NONE_NAS_Port, AAA_3GPP_Authentication_Info avp_AAA_3GPP_Authentication_Info, AAA_3GPP_Trace_Interface_List avp_AAA_3GPP_Trace_Interface_List, + GI_3GPP_3GPP_Charging_Id avp_GI_3GPP_3GPP_Charging_Id, + DNAS_NONE_CHAP_Algorithm avp_DNAS_NONE_CHAP_Algorithm, AAA_3GPP_APN_Configuration_Profile avp_AAA_3GPP_APN_Configuration_Profile, + GI_3GPP_3GPP_CAMEL_Charging_Info avp_GI_3GPP_3GPP_CAMEL_Charging_Info, RX_3GPP_Flows avp_RX_3GPP_Flows, S6_3GPP_CIA_Flags avp_S6_3GPP_CIA_Flags, RX_3GPP_Extended_Min_Requested_BW_UL avp_RX_3GPP_Extended_Min_Requested_BW_UL, PCC_3GPP_Monitoring_Time avp_PCC_3GPP_Monitoring_Time, + DCC_NONE_CC_Input_Octets avp_DCC_NONE_CC_Input_Octets, S6_3GPP_UE_Reachability_Configuration avp_S6_3GPP_UE_Reachability_Configuration, BASE_NONE_Destination_Realm avp_BASE_NONE_Destination_Realm, RX_3GPP_Acceptable_Service_Info avp_RX_3GPP_Acceptable_Service_Info, PCC_3GPP_Flow_Direction avp_PCC_3GPP_Flow_Direction, S6_3GPP_Supported_Monitoring_Events avp_S6_3GPP_Supported_Monitoring_Events, + CxDx_3GPP_SIP_Item_Number avp_CxDx_3GPP_SIP_Item_Number, PCC_3GPP_Session_Release_Cause avp_PCC_3GPP_Session_Release_Cause, AAA_3GPP_MDT_User_Consent avp_AAA_3GPP_MDT_User_Consent, + DNAS_NONE_Login_LAT_Port avp_DNAS_NONE_Login_LAT_Port, S6_3GPP_HSS_Cause avp_S6_3GPP_HSS_Cause, + DCC_NONE_G_S_U_Pool_Reference avp_DCC_NONE_G_S_U_Pool_Reference, PCC_3GPP_PCSCF_Restoration_Indication avp_PCC_3GPP_PCSCF_Restoration_Indication, AAA_3GPP_Subscription_Data_Deletion avp_AAA_3GPP_Subscription_Data_Deletion, MIPv6_NONE_Chargable_User_Identity avp_MIPv6_NONE_Chargable_User_Identity, AAA_3GPP_Trace_Collection_Entity avp_AAA_3GPP_Trace_Collection_Entity, + CxDx_3GPP_Feature_List_ID avp_CxDx_3GPP_Feature_List_ID, BASE_NONE_Redirect_Host avp_BASE_NONE_Redirect_Host, AAA_3GPP_Network_Access_Mode avp_AAA_3GPP_Network_Access_Mode, + DNAS_NONE_ARAP_Zone_Access avp_DNAS_NONE_ARAP_Zone_Access, + DNAS_NONE_Framed_Compression avp_DNAS_NONE_Framed_Compression, + GI_3GPP_3GPP_Selection_Mode avp_GI_3GPP_3GPP_Selection_Mode, + DNAS_NONE_QoS_Filter_Rule avp_DNAS_NONE_QoS_Filter_Rule, AAA_3GPP_Complete_Data_List_Included_Indicator avp_AAA_3GPP_Complete_Data_List_Included_Indicator, MIPv6_NONE_MIP_MN_AAA_SPI avp_MIPv6_NONE_MIP_MN_AAA_SPI, + GI_3GPP_3GPP_SGSN_Address avp_GI_3GPP_3GPP_SGSN_Address, MIPv6_NONE_MIP_MSA_Lifetime avp_MIPv6_NONE_MIP_MSA_Lifetime, + GI_3GPP_External_Identifier avp_GI_3GPP_External_Identifier, S6_3GPP_Reachability_Type avp_S6_3GPP_Reachability_Type, + DNAS_NONE_Tunnel_Private_Group_Id avp_DNAS_NONE_Tunnel_Private_Group_Id, + DNAS_NONE_Framed_Route avp_DNAS_NONE_Framed_Route, + DCC_NONE_CC_Request_Type avp_DCC_NONE_CC_Request_Type, S6_3GPP_Type_Of_External_Identifier avp_S6_3GPP_Type_Of_External_Identifier, PCC_3GPP_Event_Report_Indication avp_PCC_3GPP_Event_Report_Indication, AAA_3GPP_MDT_Configuration avp_AAA_3GPP_MDT_Configuration, PCC_3GPP_Usage_Monitoring_Report avp_PCC_3GPP_Usage_Monitoring_Report, + CxDx_3GPP_Priviledged_Sender_Indication avp_CxDx_3GPP_Priviledged_Sender_Indication, AAA_3GPP_Adjacent_Access_Restriction_Data avp_AAA_3GPP_Adjacent_Access_Restriction_Data, AAA_3GPP_RAT_Frequency_Selection_Priority_ID avp_AAA_3GPP_RAT_Frequency_Selection_Priority_ID, + CxDx_3GPP_Reason_Info avp_CxDx_3GPP_Reason_Info, AAA_3GPP_CLR_Flags avp_AAA_3GPP_CLR_Flags, PCC_3GPP_Default_EPS_Bearer_QoS avp_PCC_3GPP_Default_EPS_Bearer_QoS, AAA_3GPP_ULR_Flags avp_AAA_3GPP_ULR_Flags, + DNAS_NONE_Tunnel_Client_Auth_Id avp_DNAS_NONE_Tunnel_Client_Auth_Id, + DNAS_NONE_Calling_Station_Id avp_DNAS_NONE_Calling_Station_Id, AAA_3GPP_ICS_Indicator avp_AAA_3GPP_ICS_Indicator, + DCC_NONE_Currency_Code avp_DCC_NONE_Currency_Code, AAA_3GPP_Cancellation_Type avp_AAA_3GPP_Cancellation_Type, BASE_NONE_E2E_Sequence avp_BASE_NONE_E2E_Sequence, BASE_NONE_Origin_Realm avp_BASE_NONE_Origin_Realm, AAA_3GPP_PDN_Type avp_AAA_3GPP_PDN_Type, + DNAS_NONE_Prompt avp_DNAS_NONE_Prompt, + GI_3GPP_3GPP_GGSN_IPv6_Address avp_GI_3GPP_3GPP_GGSN_IPv6_Address, RX_3GPP_Access_Network_Charging_Identifier avp_RX_3GPP_Access_Network_Charging_Identifier, + DCC_NONE_Redirect_Server avp_DCC_NONE_Redirect_Server, S6_3GPP_AESE_Communication_Pattern_Config_Status avp_S6_3GPP_AESE_Communication_Pattern_Config_Status, S6_3GPP_Enhanced_Coverage_Restriction_Data avp_S6_3GPP_Enhanced_Coverage_Restriction_Data, PCC_3GPP_Bearer_Operation avp_PCC_3GPP_Bearer_Operation, @@ -4917,21 +6917,29 @@ PCC_3GPP_TDF_Application_Instance_Identifier avp_PCC_3GPP_TDF_Application_Instance_Identifier, BASE_NONE_Acct_Interim_Interval avp_BASE_NONE_Acct_Interim_Interval, RX_3GPP_Media_Component_Number avp_RX_3GPP_Media_Component_Number, + CxDx_3GPP_Path avp_CxDx_3GPP_Path, AAA_3GPP_Event_Threshold_Event_1F avp_AAA_3GPP_Event_Threshold_Event_1F, PCC_3GPP_Packet_Filter_Usage avp_PCC_3GPP_Packet_Filter_Usage, S6_3GPP_MONTE_Location_Type avp_S6_3GPP_MONTE_Location_Type, AAA_3GPP_RDS_Indicator avp_AAA_3GPP_RDS_Indicator, + CxDx_3GPP_Optional_Capability avp_CxDx_3GPP_Optional_Capability, AAA_3GPP_Reporting_Trigger avp_AAA_3GPP_Reporting_Trigger, PCC_3GPP_Tunnel_Header_Length avp_PCC_3GPP_Tunnel_Header_Length, PCC_3GPP_Conditional_APN_Aggregate_Max_Bitrate avp_PCC_3GPP_Conditional_APN_Aggregate_Max_Bitrate, + CxDx_3GPP_Secondary_Event_Charging_Function_Name avp_CxDx_3GPP_Secondary_Event_Charging_Function_Name, AAA_3GPP_Group_PLMN_Id avp_AAA_3GPP_Group_PLMN_Id, AAA_3GPP_User_Id avp_AAA_3GPP_User_Id, + DNAS_NONE_Login_LAT_Node avp_DNAS_NONE_Login_LAT_Node, + DNAS_NONE_Originating_Line_Info avp_DNAS_NONE_Originating_Line_Info, + DCC_NONE_Exponent avp_DCC_NONE_Exponent, MIPv6_NONE_MIP_Authenticator avp_MIPv6_NONE_MIP_Authenticator, + DNAS_NONE_Accounting_Input_Octets avp_DNAS_NONE_Accounting_Input_Octets, AAA_3GPP_Requested_UTRAN_GERAN_Authentication_Info avp_AAA_3GPP_Requested_UTRAN_GERAN_Authentication_Info, AAA_3GPP_EPS_User_State avp_AAA_3GPP_EPS_User_State, BASE_NONE_Origin_Host avp_BASE_NONE_Origin_Host, RX_3GPP_Retry_Interval avp_RX_3GPP_Retry_Interval, BASE_NONE_Accounting_Session_Id avp_BASE_NONE_Accounting_Session_Id, + DCC_NONE_Restriction_Filter_Rule avp_DCC_NONE_Restriction_Filter_Rule, PCC_3GPP_Packet_Filter_Identifier avp_PCC_3GPP_Packet_Filter_Identifier, S6_3GPP_SCEF_Reference_ID avp_S6_3GPP_SCEF_Reference_ID, PCC_3GPP_Resource_Release_Notification avp_PCC_3GPP_Resource_Release_Notification, @@ -4940,23 +6948,33 @@ AAA_3GPP_Error_Diagnostic avp_AAA_3GPP_Error_Diagnostic, PCC_3GPP_Guaranteed_Bitrate_DL avp_PCC_3GPP_Guaranteed_Bitrate_DL, RX_3GPP_Extended_Max_Supported_BW_UL avp_RX_3GPP_Extended_Max_Supported_BW_UL, + DCC_NONE_CC_Total_Octets avp_DCC_NONE_CC_Total_Octets, PCC_3GPP_UDP_Source_Port avp_PCC_3GPP_UDP_Source_Port, BASE_NONE_Accounting_Record_Type avp_BASE_NONE_Accounting_Record_Type, + CxDx_3GPP_From_SIP_Header avp_CxDx_3GPP_From_SIP_Header, AAA_3GPP_SIPTO_Local_Network_Permission avp_AAA_3GPP_SIPTO_Local_Network_Permission, PCC_3GPP_Routing_Rule_Definition avp_PCC_3GPP_Routing_Rule_Definition, + DCC_NONE_Value_Digits avp_DCC_NONE_Value_Digits, AAA_3GPP_VPLMN_Dynamic_Address_Allowed avp_AAA_3GPP_VPLMN_Dynamic_Address_Allowed, BASE_NONE_Acct_Application_Id avp_BASE_NONE_Acct_Application_Id, + CxDx_3GPP_SIP_Authenticate avp_CxDx_3GPP_SIP_Authenticate, AAA_3GPP_Service_Type avp_AAA_3GPP_Service_Type, AAA_3GPP_Immediate_Response_Preferred avp_AAA_3GPP_Immediate_Response_Preferred, + DNAS_NONE_Login_IPv6_Host avp_DNAS_NONE_Login_IPv6_Host, + DNAS_NONE_Framed_Appletalk_Zone avp_DNAS_NONE_Framed_Appletalk_Zone, + DCC_NONE_Final_Unit_Indication avp_DCC_NONE_Final_Unit_Indication, AAA_3GPP_XRES avp_AAA_3GPP_XRES, + GI_3GPP_3GPP_IMSI avp_GI_3GPP_3GPP_IMSI, AAA_3GPP_User_State avp_AAA_3GPP_User_State, BASE_NONE_Result_Code avp_BASE_NONE_Result_Code, + DNAS_NONE_Framed_IP_Address avp_DNAS_NONE_Framed_IP_Address, S6_3GPP_IP_SM_GW_Realm avp_S6_3GPP_IP_SM_GW_Realm, S6_3GPP_Reference_ID_Validity_Time avp_S6_3GPP_Reference_ID_Validity_Time, AAA_3GPP_E_UTRAN_Cell_Global_Identity avp_AAA_3GPP_E_UTRAN_Cell_Global_Identity, PCC_3GPP_TFT_Packet_Filter_Information avp_PCC_3GPP_TFT_Packet_Filter_Information, RX_3GPP_Min_Desired_Bandwidth_DL avp_RX_3GPP_Min_Desired_Bandwidth_DL, S6_3GPP_Group_Reporting_Guard_Timer avp_S6_3GPP_Group_Reporting_Guard_Timer, + CxDx_3GPP_Associated_Identities avp_CxDx_3GPP_Associated_Identities, BASE_NONE_Auth_Session_State avp_BASE_NONE_Auth_Session_State, PCC_3GPP_Session_Linking_Indicator avp_PCC_3GPP_Session_Linking_Indicator, S6_3GPP_Maximum_Number_of_Reports avp_S6_3GPP_Maximum_Number_of_Reports, @@ -4964,17 +6982,21 @@ AAA_3GPP_V2X_Permission avp_AAA_3GPP_V2X_Permission, AAA_3GPP_LIPA_Permission avp_AAA_3GPP_LIPA_Permission, PCC_3GPP_QoS_Negotiation avp_PCC_3GPP_QoS_Negotiation, + CxDx_3GPP_SIP_Auth_Data_Item avp_CxDx_3GPP_SIP_Auth_Data_Item, AAA_3GPP_3GPP2_MEID avp_AAA_3GPP_3GPP2_MEID, AAA_3GPP_Subscription_Data avp_AAA_3GPP_Subscription_Data, + CxDx_3GPP_Multiple_Registration_Indication avp_CxDx_3GPP_Multiple_Registration_Indication, BASE_NONE_Vendor_Specific_Application_Id avp_BASE_NONE_Vendor_Specific_Application_Id, AAA_3GPP_WLAN_offloadability_UTRAN avp_AAA_3GPP_WLAN_offloadability_UTRAN, AAA_3GPP_CSG_Subscription_Data avp_AAA_3GPP_CSG_Subscription_Data, MIPv6_NONE_Service_Selection avp_MIPv6_NONE_Service_Selection, AAA_3GPP_TS_Code avp_AAA_3GPP_TS_Code, + DNAS_NONE_Tunnel_Client_Endpoint avp_DNAS_NONE_Tunnel_Client_Endpoint, S6_3GPP_IP_SM_GW_Number avp_S6_3GPP_IP_SM_GW_Number, PCC_3GPP_Charging_Rule_Install avp_PCC_3GPP_Charging_Rule_Install, RX_3GPP_Rx_Request_Type avp_RX_3GPP_Rx_Request_Type, S6_3GPP_NIDD_Authorization_Response avp_S6_3GPP_NIDD_Authorization_Response, + DCC_NONE_Subscription_Id avp_DCC_NONE_Subscription_Id, AAA_3GPP_VPLMN_CSG_Subscription_Data avp_AAA_3GPP_VPLMN_CSG_Subscription_Data, PCC_3GPP_QoS_Rule_Remove avp_PCC_3GPP_QoS_Rule_Remove, S6_3GPP_Communication_Duration_Time avp_S6_3GPP_Communication_Duration_Time, @@ -4983,14 +7005,20 @@ AAA_3GPP_Location_Area_Identity avp_AAA_3GPP_Location_Area_Identity, RX_3GPP_Media_Component_Status avp_RX_3GPP_Media_Component_Status, AAA_3GPP_eDRX_Cycle_Length_Value avp_AAA_3GPP_eDRX_Cycle_Length_Value, + CxDx_3GPP_Visited_Network_Identifier avp_CxDx_3GPP_Visited_Network_Identifier, S6_3GPP_RIR_Flags avp_S6_3GPP_RIR_Flags, AAA_3GPP_Collection_Period_RRM_LTE avp_AAA_3GPP_Collection_Period_RRM_LTE, PCC_3GPP_Usage_Monitoring_Level avp_PCC_3GPP_Usage_Monitoring_Level, AAA_3GPP_Subscriber_Status avp_AAA_3GPP_Subscriber_Status, PCC_3GPP_Extended_APN_AMBR_UL avp_PCC_3GPP_Extended_APN_AMBR_UL, + CxDx_3GPP_Identity_with_Emergency_Registration avp_CxDx_3GPP_Identity_with_Emergency_Registration, + DCC_NONE_Tariff_Change_Usage avp_DCC_NONE_Tariff_Change_Usage, AAA_3GPP_LCS_PrivacyException avp_AAA_3GPP_LCS_PrivacyException, AAA_3GPP_QoS_Subscribed avp_AAA_3GPP_QoS_Subscribed, + DNAS_NONE_NAS_IP_Address avp_DNAS_NONE_NAS_IP_Address, RX_3GPP_RR_Bandwidth avp_RX_3GPP_RR_Bandwidth, + DCC_NONE_Service_Context_Id avp_DCC_NONE_Service_Context_Id, + DNAS_NONE_CHAP_Auth avp_DNAS_NONE_CHAP_Auth, PCC_3GPP_APN_Aggregate_Max_Bitrate_DL avp_PCC_3GPP_APN_Aggregate_Max_Bitrate_DL, S6_3GPP_SCS_Identity avp_S6_3GPP_SCS_Identity, RX_3GPP_Access_Network_Charging_Address avp_RX_3GPP_Access_Network_Charging_Address, @@ -5001,19 +7029,29 @@ AAA_3GPP_UE_Usage_Type avp_AAA_3GPP_UE_Usage_Type, PCC_3GPP_TDF_IP_Address avp_PCC_3GPP_TDF_IP_Address, S6_3GPP_Enhanced_Coverage_Restriction avp_S6_3GPP_Enhanced_Coverage_Restriction, + CxDx_3GPP_User_Data_Already_Available avp_CxDx_3GPP_User_Data_Already_Available, AAA_3GPP_MME_Number_for_MT_SMS avp_AAA_3GPP_MME_Number_for_MT_SMS, PCC_3GPP_Security_Parameter_Index avp_PCC_3GPP_Security_Parameter_Index, + DCC_NONE_CC_Correlation_Id avp_DCC_NONE_CC_Correlation_Id, PCC_3GPP_Traffic_Steering_Policy_Identifier_UL avp_PCC_3GPP_Traffic_Steering_Policy_Identifier_UL, BASE_NONE_Route_Record avp_BASE_NONE_Route_Record, AAA_3GPP_Carrier_Frequency avp_AAA_3GPP_Carrier_Frequency, + CxDx_3GPP_Mandatory_Capability avp_CxDx_3GPP_Mandatory_Capability, AAA_3GPP_Trace_NE_Type_List avp_AAA_3GPP_Trace_NE_Type_List, + DNAS_NONE_Port_Limit avp_DNAS_NONE_Port_Limit, + DCC_NONE_Multiple_Services_Credit_Control avp_DCC_NONE_Multiple_Services_Credit_Control, AAA_3GPP_All_APN_Configurations_Included_Indicator avp_AAA_3GPP_All_APN_Configurations_Included_Indicator, AAA_3GPP_NOR_Flags avp_AAA_3GPP_NOR_Flags, + GI_3GPP_3GPP_MS_TimeZone avp_GI_3GPP_3GPP_MS_TimeZone, AAA_3GPP_External_Client avp_AAA_3GPP_External_Client, BASE_NONE_Authorization_Lifetime avp_BASE_NONE_Authorization_Lifetime, + DNAS_NONE_ARAP_Features avp_DNAS_NONE_ARAP_Features, + DNAS_NONE_Framed_MTU avp_DNAS_NONE_Framed_MTU, RX_3GPP_Extended_Min_Requested_BW_DL avp_RX_3GPP_Extended_Min_Requested_BW_DL, + DNAS_NONE_Accounting_Auth_Method avp_DNAS_NONE_Accounting_Auth_Method, RX_3GPP_Service_URN avp_RX_3GPP_Service_URN, S6_3GPP_Supported_Services avp_S6_3GPP_Supported_Services, + DNAS_NONE_Accounting_Output_Packets avp_DNAS_NONE_Accounting_Output_Packets, AAA_3GPP_Relay_Node_Indicator avp_AAA_3GPP_Relay_Node_Indicator, PCC_3GPP_Rule_DeActivation_Time avp_PCC_3GPP_Rule_DeActivation_Time, S6_3GPP_T4_Data avp_S6_3GPP_T4_Data, @@ -5022,13 +7060,23 @@ PCC_3GPP_ADC_Rule_Base_Name avp_PCC_3GPP_ADC_Rule_Base_Name, AAA_3GPP_SCEF_Realm avp_AAA_3GPP_SCEF_Realm, S6_3GPP_Requested_Validity_Time avp_S6_3GPP_Requested_Validity_Time, + DCC_NONE_CC_Request_Number avp_DCC_NONE_CC_Request_Number, + CxDx_3GPP_Supported_Features avp_CxDx_3GPP_Supported_Features, AAA_3GPP_Local_Time_Zone avp_AAA_3GPP_Local_Time_Zone, AAA_3GPP_GERAN_Vector avp_AAA_3GPP_GERAN_Vector, + CxDx_3GPP_Call_ID_SIP_Header avp_CxDx_3GPP_Call_ID_SIP_Header, AAA_3GPP_EPS_Subscribed_QoS_Profile avp_AAA_3GPP_EPS_Subscribed_QoS_Profile, + GI_3GPP_3GPP_Session_Stop_Indicator avp_GI_3GPP_3GPP_Session_Stop_Indicator, AAA_3GPP_GPRS_Subscription_Data avp_AAA_3GPP_GPRS_Subscription_Data, + GI_3GPP_3GPP_GPRS_Negotiated_QoS_Profile avp_GI_3GPP_3GPP_GPRS_Negotiated_QoS_Profile, + DNAS_NONE_Called_Station_Id avp_DNAS_NONE_Called_Station_Id, + DCC_NONE_Cost_Unit avp_DCC_NONE_Cost_Unit, BASE_NONE_Accounting_Realtime_Required avp_BASE_NONE_Accounting_Realtime_Required, BASE_NONE_Termination_Cause avp_BASE_NONE_Termination_Cause, + GI_3GPP_3GPP_Allocate_IP_Type avp_GI_3GPP_3GPP_Allocate_IP_Type, RX_3GPP_Specific_Action avp_RX_3GPP_Specific_Action, + DNAS_NONE_Login_TCP_Port avp_DNAS_NONE_Login_TCP_Port, + DNAS_NONE_Password_Retry avp_DNAS_NONE_Password_Retry, S6_3GPP_Maximum_Detection_Time avp_S6_3GPP_Maximum_Detection_Time, AAA_3GPP_Ext_PDP_Address avp_AAA_3GPP_Ext_PDP_Address, PCC_3GPP_RAT_Type avp_PCC_3GPP_RAT_Type, @@ -5036,10 +7084,14 @@ AAA_3GPP_Adjacent_PLMNs avp_AAA_3GPP_Adjacent_PLMNs, S6_3GPP_Service_Result_Code avp_S6_3GPP_Service_Result_Code, AAA_3GPP_SGSN_Location_Information avp_AAA_3GPP_SGSN_Location_Information, + CxDx_3GPP_Reason_Code avp_CxDx_3GPP_Reason_Code, PCC_3GPP_Pre_emption_Vulnerability avp_PCC_3GPP_Pre_emption_Vulnerability, AAA_3GPP_Equivalent_PLMN_List avp_AAA_3GPP_Equivalent_PLMN_List, PCC_3GPP_Default_Access avp_PCC_3GPP_Default_Access, + CxDx_3GPP_Supported_Applications avp_CxDx_3GPP_Supported_Applications, + DNAS_NONE_ARAP_Challenge_Response avp_DNAS_NONE_ARAP_Challenge_Response, BASE_NONE_Class avp_BASE_NONE_Class, + DCC_NONE_CC_Sub_Session_Id avp_DCC_NONE_CC_Sub_Session_Id, AAA_3GPP_IDR_Flags avp_AAA_3GPP_IDR_Flags, AAA_3GPP_V2X_Subscription_Data avp_AAA_3GPP_V2X_Subscription_Data, PCC_3GPP_PS_to_CS_Session_Continuity avp_PCC_3GPP_PS_to_CS_Session_Continuity, @@ -5076,7 +7128,12 @@ variant (avp_header) "LENGTHTO(avp_header, avp_data)" variant (avp_header) "LENGTHINDEX(avp_length)" variant (avp_data) "CROSSTAG( + avp_GI_3GPP_3GPP_SGSN_IPv6_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_SGSN_IPv6_Address; + avp_DNAS_NONE_Login_LAT_Service, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Login_LAT_Service; + avp_GI_3GPP_3GPP_GGSN_MCC_MNC, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_GGSN_MCC_MNC; + avp_DCC_NONE_Direct_Debiting_Failure_Handling, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Direct_Debiting_Failure_Handling; avp_MIPv6_NONE_MIP_Careof_Address, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_Careof_Address; + avp_CxDx_ETSI_Line_Identifier, avp_header.avp_code.vendor_id_ETSI = avp_code_CxDx_ETSI_Line_Identifier; avp_PCC_3GPP_Bearer_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Bearer_Identifier; avp_RX_3GPP_Content_Version, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Content_Version; avp_BASE_NONE_Session_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Session_Id; @@ -5087,15 +7144,23 @@ avp_PCC_3GPP_Bearer_Usage, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Bearer_Usage; avp_PCC_3GPP_Tunnel_Header_Filter, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Tunnel_Header_Filter; avp_AAA_3GPP_List_Of_Measurements, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_List_Of_Measurements; + avp_DCC_NONE_Requested_Service_Unit, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Requested_Service_Unit; avp_PCC_3GPP_Default_QoS_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Default_QoS_Name; avp_AAA_3GPP_UVA_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_UVA_Flags; + avp_CxDx_3GPP_SAR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SAR_Flags; avp_AAA_3GPP_Group_Service_Id, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Group_Service_Id; avp_PCC_3GPP_TDF_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_TDF_Information; + avp_DNAS_NONE_Framed_Pool, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_Pool; + avp_DCC_NONE_CC_Time, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Time; avp_AAA_3GPP_Requested_EUTRAN_Authentication_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Requested_EUTRAN_Authentication_Info; + avp_CxDx_3GPP_SIP_Digest_Authenticate, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SIP_Digest_Authenticate; avp_AAA_3GPP_Last_UE_Activity_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Last_UE_Activity_Time; avp_AAA_3GPP_Context_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Context_Identifier; + avp_DCC_NONE_Used_Service_Unit, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Used_Service_Unit; avp_BASE_NONE_Auth_Application_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Auth_Application_Id; avp_AAA_3GPP_Trace_Reference, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Trace_Reference; + avp_DNAS_NONE_Framed_Appletalk_Network, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_Appletalk_Network; + avp_DNAS_NONE_Framed_IPv6_Prefix, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_IPv6_Prefix; avp_RX_3GPP_Sharing_Key_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Sharing_Key_UL; avp_RX_3GPP_AF_Charging_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_AF_Charging_Identifier; avp_S6_3GPP_Monitoring_Event_Report, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Monitoring_Event_Report; @@ -5110,7 +7175,9 @@ avp_AAA_3GPP_SGs_MME_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_SGs_MME_Identity; avp_PCC_3GPP_Routing_Rule_Remove, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Routing_Rule_Remove; avp_S6_3GPP_Roaming_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Roaming_Information; + avp_CxDx_3GPP_SIP_Authentication_Scheme, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SIP_Authentication_Scheme; avp_AAA_3GPP_Event_Threshold_RSRP, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Event_Threshold_RSRP; + avp_CxDx_3GPP_User_Authorization_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_User_Authorization_Type; avp_AAA_3GPP_PLMN_Client, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_PLMN_Client; avp_AAA_3GPP_Re_Synchronization_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Re_Synchronization_Info; avp_BASE_NONE_Auth_Grace_Period, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Auth_Grace_Period; @@ -5120,10 +7187,13 @@ avp_AAA_3GPP_APN_OI_Replacement, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_APN_OI_Replacement; avp_BASE_NONE_Re_Auth_Request_Type, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Re_Auth_Request_Type; avp_S6_3GPP_External_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_External_Identifier; + avp_DCC_NONE_Redirect_Address_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Redirect_Address_Type; avp_MIPv6_NONE_MIP_MN_HA_MSA, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_MN_HA_MSA; avp_PCC_3GPP_TFT_Filter, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_TFT_Filter; avp_RX_3GPP_Max_Supported_Bandwidth_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Max_Supported_Bandwidth_UL; + avp_DNAS_NONE_Tunnel_Medium_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Medium_Type; avp_S6_3GPP_Loss_Of_Connectivity_Reason, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Loss_Of_Connectivity_Reason; + avp_DCC_NONE_User_Equipment_Info_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_User_Equipment_Info_Type; avp_RX_3GPP_Flow_Number, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Flow_Number; avp_PCC_3GPP_Resource_Allocation_Notification, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Resource_Allocation_Notification; avp_S6_3GPP_Monitoring_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Monitoring_Type; @@ -5131,23 +7201,33 @@ avp_AAA_3GPP_VPLMN_LIPA_Allowed, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_VPLMN_LIPA_Allowed; avp_PCC_3GPP_QoS_Class_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Class_Identifier; avp_PCC_3GPP_Mute_Notification, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Mute_Notification; + avp_CxDx_3GPP_SIP_Authentication_Context, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SIP_Authentication_Context; avp_MIPv6_NONE_QoS_Resources, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_QoS_Resources; avp_AAA_3GPP_Logging_Duration, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Logging_Duration; + avp_DCC_NONE_Service_Parameter_Value, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Service_Parameter_Value; + avp_CxDx_3GPP_Associated_Registered_Identities, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Associated_Registered_Identities; avp_AAA_3GPP_WLAN_offloadability_EUTRAN, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_WLAN_offloadability_EUTRAN; avp_PCC_3GPP_Routing_IP_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Routing_IP_Address; avp_MIPv6_NONE_MIP_Session_Key, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_Session_Key; avp_AAA_3GPP_KASME, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_KASME; + avp_GI_3GPP_3GPP_User_Location_Info_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_User_Location_Info_Time; avp_AAA_3GPP_Teleservice_List, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Teleservice_List; avp_AAA_3GPP_UTRAN_Vector, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_UTRAN_Vector; + avp_DCC_NONE_Tariff_Time_Change, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Tariff_Time_Change; + avp_GI_3GPP_3GPP_NSAPI, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_NSAPI; + avp_GI_3GPP_3GPP_CG_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_CG_Address; avp_RX_3GPP_Application_Service_Provider_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Application_Service_Provider_Identity; avp_S6_3GPP_NIDD_Authorization_Request, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_NIDD_Authorization_Request; avp_PCC_3GPP_QoS_Rule_Install, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Rule_Install; avp_S6_3GPP_Periodic_Communication_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Periodic_Communication_Indicator; avp_RX_3GPP_Flow_Usage, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Flow_Usage; avp_PCC_3GPP_RAN_Rule_Support, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_RAN_Rule_Support; + avp_DNAS_NONE_Tunnel_Password, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Password; avp_S6_3GPP_Monitoring_Duration, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Monitoring_Duration; avp_AAA_3GPP_Routing_Area_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Routing_Area_Identity; avp_PCC_3GPP_QoS_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Information; + avp_DCC_NONE_User_Equipment_Info_Value, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_User_Equipment_Info_Value; + avp_DNAS_NONE_Tunneling, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunneling; avp_RX_3GPP_Service_Authorization_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Service_Authorization_Info; avp_BASE_NONE_Multi_Round_Time_Out, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Multi_Round_Time_Out; avp_AAA_3GPP_eDRX_Cycle_Length, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_eDRX_Cycle_Length; @@ -5159,32 +7239,52 @@ avp_PCC_3GPP_Usage_Monitoring_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Usage_Monitoring_Information; avp_BASE_NONE_Experimental_Result_Code, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Experimental_Result_Code; avp_PCC_3GPP_Extended_APN_AMBR_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Extended_APN_AMBR_DL; + avp_CxDx_3GPP_Session_Priority, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Session_Priority; + avp_CxDx_3GPP_Deregistration_Reason, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Deregistration_Reason; avp_AAA_3GPP_GMLC_Number, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_GMLC_Number; + avp_DNAS_NONE_Configuration_Token, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Configuration_Token; + avp_DNAS_NONE_Callback_Number, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Callback_Number; avp_AAA_3GPP_Software_Version, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Software_Version; avp_AAA_3GPP_Expiration_Date, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Expiration_Date; avp_BASE_NONE_Error_Message, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Error_Message; avp_AAA_3GPP_SRES, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_SRES; + avp_DNAS_NONE_NAS_Port_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_NAS_Port_Type; avp_AAA_3GPP_Item_Number, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Item_Number; + avp_DCC_NONE_Multiple_Services_Indicator, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Multiple_Services_Indicator; + avp_DNAS_NONE_Framed_Protocol, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_Protocol; avp_S6_3GPP_Service_ID, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Service_ID; + avp_GI_3GPP_3GPP_IMSI_MCC_MNC, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_IMSI_MCC_MNC; avp_RX_3GPP_Abort_Cause, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Abort_Cause; avp_PCC_3GPP_Charging_Rule_Base_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Charging_Rule_Base_Name; avp_RX_3GPP_Required_Access_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Required_Access_Info; avp_PCC_3GPP_TDF_Destination_Realm, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_TDF_Destination_Realm; avp_S6_3GPP_S6t_HSS_Cause, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_S6t_HSS_Cause; avp_RX_3GPP_AF_Requested_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_AF_Requested_Data; + avp_DNAS_NONE_Filter_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Filter_Id; + avp_DNAS_NONE_ARAP_Password, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_ARAP_Password; avp_PCC_3GPP_QoS_Rule_Report, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Rule_Report; + avp_DNAS_NONE_CHAP_Response, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_CHAP_Response; avp_S6_3GPP_Stationary_Indication, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Stationary_Indication; avp_PCC_3GPP_Traffic_Steering_Policy_Identifier_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Traffic_Steering_Policy_Identifier_DL; avp_AAA_3GPP_Geodetic_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Geodetic_Information; avp_PCC_3GPP_Extended_GBR_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Extended_GBR_UL; avp_AAA_3GPP_MBSFN_Area_ID, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_MBSFN_Area_ID; + avp_CxDx_3GPP_Server_Capabilities, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Server_Capabilities; avp_AAA_3GPP_Area_Scope, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Area_Scope; + avp_DNAS_NONE_Accounting_Input_Packets, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Accounting_Input_Packets; + avp_CxDx_3GPP_SCSCF_Restoration_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SCSCF_Restoration_Info; + avp_CxDx_3GPP_Initial_CSeq_Sequence_Number, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Initial_CSeq_Sequence_Number; avp_AAA_3GPP_PUA_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_PUA_Flags; + avp_DNAS_NONE_Callback_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Callback_Id; + avp_CxDx_3GPP_Primary_Event_Charging_Function_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Primary_Event_Charging_Function_Name; + avp_DCC_NONE_CC_Output_Octets, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Output_Octets; + avp_GI_3GPP_3GPP_User_Location_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_User_Location_Info; avp_AAA_3GPP_Notification_To_UE_User, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Notification_To_UE_User; avp_AAA_3GPP_Visited_PLMN_Id, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Visited_PLMN_Id; avp_AAA_3GPP_Homogeneous_Support_of_IMS_Voice_Over_PS_Sessions, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Homogeneous_Support_of_IMS_Voice_Over_PS_Sessions; avp_RX_3GPP_Codec_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Codec_Data; avp_S6_3GPP_Monitoring_Event_Config_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Monitoring_Event_Config_Status; + avp_DCC_NONE_Cost_Information, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Cost_Information; avp_BASE_NONE_Error_Reporting_Host, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Error_Reporting_Host; avp_PCC_3GPP_Rule_Activation_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Rule_Activation_Time; avp_S6_3GPP_Service_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Service_Data; @@ -5192,6 +7292,8 @@ avp_PCC_3GPP_NetLoc_Access_Support, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_NetLoc_Access_Support; avp_S6_3GPP_Monitoring_Event_Configuration, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Monitoring_Event_Configuration; avp_PCC_3GPP_Offline, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Offline; + avp_DNAS_NONE_Login_Service, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Login_Service; + avp_DNAS_NONE_ARAP_Security_Data, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_ARAP_Security_Data; avp_AAA_3GPP_Additional_Context_ID, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Additional_Context_ID; avp_PCC_3GPP_ADC_Rule_Definition, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_ADC_Rule_Definition; avp_S6_3GPP_Allowed_PLMN_List, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Allowed_PLMN_List; @@ -5200,11 +7302,18 @@ avp_PCC_3GPP_HeNB_Local_IP_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_HeNB_Local_IP_Address; avp_AAA_3GPP_SMS_Register_Request, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_SMS_Register_Request; avp_PCC_3GPP_Packet_Filter_Content, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Packet_Filter_Content; + avp_CxDx_3GPP_Subscription_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Subscription_Info; avp_AAA_3GPP_APN_Configuration, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_APN_Configuration; + avp_CxDx_3GPP_SIP_Number_Auth_Items, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SIP_Number_Auth_Items; avp_AAA_3GPP_OMC_Id, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_OMC_Id; avp_AAA_3GPP_GMLC_Restriction, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_GMLC_Restriction; + avp_DNAS_NONE_State, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_State; + avp_DNAS_NONE_Tunnel_Preference, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Preference; + avp_DCC_NONE_CC_Session_Failover, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Session_Failover; avp_AAA_3GPP_Regional_Subscription_Zone_Code, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Regional_Subscription_Zone_Code; + avp_GI_3GPP_3GPP_Negotiated_DSCP, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_Negotiated_DSCP; avp_BASE_NONE_Proxy_State, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Proxy_State; + avp_DCC_NONE_Credit_Control_Failure_Handling, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Credit_Control_Failure_Handling; avp_S6_3GPP_SIR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_SIR_Flags; avp_RX_3GPP_MPS_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_MPS_Identifier; avp_AAA_3GPP_MDT_Allowed_PLMN_Id, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_MDT_Allowed_PLMN_Id; @@ -5217,17 +7326,25 @@ avp_PCC_3GPP_Pre_emption_Capability, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Pre_emption_Capability; avp_PCC_3GPP_Monitoring_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Monitoring_Flags; avp_BASE_NONE_Redirect_Max_Cache_Time, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Redirect_Max_Cache_Time; + avp_CxDx_3GPP_Feature_List, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Feature_List; avp_PCC_3GPP_TCP_Source_Port, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_TCP_Source_Port; avp_PCC_3GPP_Application_Detection_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Application_Detection_Information; avp_AAA_3GPP_Emergency_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Emergency_Info; avp_AAA_3GPP_MPS_Priority, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_MPS_Priority; + avp_DCC_NONE_Requested_Action, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Requested_Action; + avp_CxDx_3GPP_Record_Route, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Record_Route; avp_AAA_3GPP_Alert_Reason, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Alert_Reason; + avp_GI_3GPP_3GPP_CG_IPv6_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_CG_IPv6_Address; + avp_DNAS_NONE_Idle_Timeout, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Idle_Timeout; + avp_DNAS_NONE_NAS_Port_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_NAS_Port_Id; avp_AAA_3GPP_MO_LR, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_MO_LR; avp_BASE_NONE_Host_IP_Address, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Host_IP_Address; avp_RX_3GPP_Max_Requested_Bandwidth_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Max_Requested_Bandwidth_UL; avp_PCC_3GPP_Usage_Monitoring_Support, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Usage_Monitoring_Support; avp_S6_3GPP_Maximum_Response_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Maximum_Response_Time; avp_RX_3GPP_Sponsor_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Sponsor_Identity; + avp_DNAS_NONE_Framed_Appletalk_Link, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_Appletalk_Link; + avp_DNAS_NONE_Framed_Interface_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_Interface_Id; avp_PCC_3GPP_CoA_IP_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_CoA_IP_Address; avp_PCC_3GPP_Default_QoS_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Default_QoS_Information; avp_PCC_3GPP_AN_GW_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_AN_GW_Address; @@ -5237,72 +7354,104 @@ avp_AAA_3GPP_Cell_Global_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Cell_Global_Identity; avp_BASE_NONE_Vendor_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Vendor_Id; avp_AAA_3GPP_PDN_Connection_Continuity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_PDN_Connection_Continuity; + avp_CxDx_3GPP_Wildcarded_Public_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Wildcarded_Public_Identity; + avp_DNAS_NONE_Acct_Session_Time, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Acct_Session_Time; avp_AAA_3GPP_DSA_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_DSA_Flags; avp_AAA_3GPP_Trace_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Trace_Data; avp_AAA_3GPP_LCS_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_LCS_Info; avp_AAA_3GPP_PDN_GW_Allocation_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_PDN_GW_Allocation_Type; + avp_GI_3GPP_3GPP_SGSN_MCC_MNC, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_SGSN_MCC_MNC; avp_BASE_NONE_Event_Timestamp, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Event_Timestamp; + avp_DCC_NONE_Final_Unit_Action, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Final_Unit_Action; avp_RX_3GPP_Extended_Max_Requested_BW_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Extended_Max_Requested_BW_UL; avp_S6_3GPP_User_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_User_Identifier; + avp_DNAS_NONE_Framed_IPv6_Pool, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_IPv6_Pool; avp_PCC_3GPP_QoS_Rule_Base_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Rule_Base_Name; avp_AAA_3GPP_Restoration_Priority, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Restoration_Priority; + avp_DCC_NONE_Rating_Group, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Rating_Group; avp_MIPv6_NONE_MIP_MN_HA_SPI, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_MN_HA_SPI; avp_S6_3GPP_Association_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Association_Type; avp_PCC_3GPP_Charging_Rule_Definition, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Charging_Rule_Definition; avp_RX_3GPP_Min_Requested_Bandwidth_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Min_Requested_Bandwidth_UL; avp_AAA_3GPP_Report_Amount, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Report_Amount; avp_PCC_3GPP_CoA_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_CoA_Information; + avp_CxDx_3GPP_Secondary_Charging_Collection_Function_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Secondary_Charging_Collection_Function_Name; + avp_DCC_NONE_User_Equipment_Info, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_User_Equipment_Info; avp_AAA_3GPP_A_MSISDN, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_A_MSISDN; avp_MIPv6_NONE_MIP_Mobile_Node_Address, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_Mobile_Node_Address; avp_PCC_3GPP_Routing_Rule_Report, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Routing_Rule_Report; avp_AAA_3GPP_Number_Of_Requested_Vectors, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Number_Of_Requested_Vectors; avp_AAA_3GPP_AIR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_AIR_Flags; avp_AAA_3GPP_Geographical_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Geographical_Information; + avp_CxDx_3GPP_Loose_Route_Indication, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Loose_Route_Indication; + avp_DCC_NONE_Service_Parameter_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Service_Parameter_Type; avp_AAA_3GPP_MME_User_State, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_MME_User_State; avp_AAA_3GPP_Access_Restriction_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Access_Restriction_Data; avp_BASE_NONE_Failed_AVP, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Failed_AVP; + avp_GI_3GPP_3GPP_RAT_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_RAT_Type; avp_AAA_3GPP_SS_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_SS_Status; avp_S6_3GPP_NIDD_Authorization_Update, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_NIDD_Authorization_Update; + avp_DCC_NONE_Subscription_Id_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Subscription_Id_Type; avp_PCC_3GPP_Packet_Filter_Operation, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Packet_Filter_Operation; avp_S6_3GPP_SCEF_Reference_ID_for_Deletion, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_SCEF_Reference_ID_for_Deletion; avp_RX_3GPP_SIP_Forking_Indication, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_SIP_Forking_Indication; + avp_DNAS_NONE_User_Password, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_User_Password; avp_S6_3GPP_IMEI_Change, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_IMEI_Change; avp_PCC_3GPP_IP_CAN_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_IP_CAN_Type; avp_RX_3GPP_Extended_Min_Desired_BW_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Extended_Min_Desired_BW_UL; + avp_CxDx_3GPP_SIP_Authorization, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SIP_Authorization; avp_PCC_3GPP_Revalidation_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Revalidation_Time; avp_AAA_3GPP_Logging_Interval, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Logging_Interval; avp_PCC_3GPP_Presence_Reporting_Area_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Presence_Reporting_Area_Status; avp_AAA_3GPP_WLAN_offloadability, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_WLAN_offloadability; avp_PCC_3GPP_Routing_Filter, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Routing_Filter; avp_PCC_3GPP_Metering_Method, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Metering_Method; + avp_DNAS_NONE_Acct_Tunnel_Connection, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Acct_Tunnel_Connection; avp_AAA_3GPP_Non_IP_Data_Delivery_Mechanism, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Non_IP_Data_Delivery_Mechanism; + avp_DNAS_NONE_NAS_Filter_Rule, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_NAS_Filter_Rule; avp_BASE_NONE_Session_Server_Failover, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Session_Server_Failover; + avp_CxDx_3GPP_Integrity_Key, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Integrity_Key; avp_AAA_3GPP_E_UTRAN_Vector, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_E_UTRAN_Vector; avp_BASE_NONE_Experimental_Result, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Experimental_Result; + avp_DNAS_NONE_Acct_Link_Count, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Acct_Link_Count; + avp_DCC_NONE_Unit_Value, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Unit_Value; avp_AAA_3GPP_Trace_Event_List, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Trace_Event_List; + avp_GI_3GPP_3GPP_PDP_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_PDP_Type; + avp_DNAS_NONE_Reply_Message, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Reply_Message; + avp_DNAS_NONE_Connect_Info, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Connect_Info; avp_MIPv6_NONE_MIP_Replay_Mode, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_Replay_Mode; avp_BASE_NONE_Proxy_Host, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Proxy_Host; avp_S6_3GPP_Communication_Pattern_Set, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Communication_Pattern_Set; avp_RX_3GPP_Flow_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Flow_Status; + avp_DNAS_NONE_CHAP_Challenge, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_CHAP_Challenge; + avp_DCC_NONE_CC_Unit_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Unit_Type; avp_RX_3GPP_MCPTT_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_MCPTT_Identifier; avp_S6_3GPP_Group_Monitoring_Event_Report, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Group_Monitoring_Event_Report; avp_PCC_3GPP_QoS_Upgrade, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Upgrade; + avp_DNAS_NONE_Service_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Service_Type; avp_PCC_3GPP_AN_GW_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_AN_GW_Status; avp_AAA_3GPP_Measurement_Period_UMTS, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Measurement_Period_UMTS; avp_PCC_3GPP_Monitoring_Key, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Monitoring_Key; avp_PCC_3GPP_3GPP_PS_Data_Off_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_3GPP_PS_Data_Off_Status; avp_AAA_3GPP_Reset_ID, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Reset_ID; avp_PCC_3GPP_Routing_Rule_Install, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Routing_Rule_Install; + avp_CxDx_3GPP_Server_Assignment_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Server_Assignment_Type; avp_AAA_3GPP_PUR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_PUR_Flags; + avp_DNAS_NONE_Framed_Routing, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_Routing; avp_PCC_3GPP_IP_CAN_Session_Charging_Scope, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_IP_CAN_Session_Charging_Scope; avp_AAA_3GPP_IMEI, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_IMEI; + avp_DNAS_NONE_CHAP_Ident, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_CHAP_Ident; avp_AAA_3GPP_Kc, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Kc; avp_AAA_3GPP_SGSN_Number, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_SGSN_Number; avp_AAA_3GPP_HPLMN_ODB, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_HPLMN_ODB; + avp_GI_3GPP_3GPP_Charging_Characteristics, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_Charging_Characteristics; avp_AAA_3GPP_PDP_Context, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_PDP_Context; + avp_DCC_NONE_CC_Money, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Money; + avp_GI_3GPP_3GPP_GGSN_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_GGSN_Address; avp_BASE_NONE_Proxy_Info, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Proxy_Info; avp_S6_3GPP_Node_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Node_Type; avp_RX_3GPP_Priority_Sharing_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Priority_Sharing_Indicator; + avp_DNAS_NONE_Tunnel_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Type; avp_PCC_3GPP_QoS_Rule_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Rule_Name; avp_S6_3GPP_Scheduled_Communication_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Scheduled_Communication_Time; avp_RX_3GPP_Max_Requested_Bandwidth_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Max_Requested_Bandwidth_DL; @@ -5310,16 +7459,26 @@ avp_PCC_3GPP_PCC_Rule_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_PCC_Rule_Status; avp_PCC_3GPP_Extended_GBR_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Extended_GBR_DL; avp_AAA_3GPP_MBSFN_Area, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_MBSFN_Area; + avp_CxDx_3GPP_Server_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Server_Name; + avp_DCC_NONE_Check_Balance_Result, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Check_Balance_Result; avp_S6_3GPP_APN_Validity_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_APN_Validity_Time; avp_AAA_3GPP_Job_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Job_Type; avp_PCC_3GPP_Allocation_Retention_Priority, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Allocation_Retention_Priority; avp_BASE_NONE_Destination_Host, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Destination_Host; avp_AAA_3GPP_Positioning_Method, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Positioning_Method; + avp_CxDx_3GPP_LIA_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_LIA_Flags; avp_AAA_3GPP_DL_Buffering_Suggested_Packet_Count, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_DL_Buffering_Suggested_Packet_Count; + avp_DNAS_NONE_Login_IP_Host, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Login_IP_Host; + avp_DNAS_NONE_ARAP_Security, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_ARAP_Security; avp_AAA_3GPP_IDA_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_IDA_Flags; + avp_DNAS_NONE_Origin_AAA_Protocol, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Origin_AAA_Protocol; + avp_CxDx_3GPP_Charging_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Charging_Information; avp_AAA_3GPP_ULA_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_ULA_Flags; avp_AAA_3GPP_IMS_Voice_Over_PS_Sessions_Supported, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_IMS_Voice_Over_PS_Sessions_Supported; avp_AAA_3GPP_Roaming_Restricted_Due_To_Unsupported_Feature, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Roaming_Restricted_Due_To_Unsupported_Feature; + avp_DNAS_NONE_Tunnel_Assignment_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Assignment_Id; + avp_DNAS_NONE_Framed_IPX_Network, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_IPX_Network; + avp_DCC_NONE_CC_Service_Specific_Units, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Service_Specific_Units; avp_S6_3GPP_T4_Parameters, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_T4_Parameters; avp_RX_3GPP_Access_Network_Charging_Identifier_Value, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Access_Network_Charging_Identifier_Value; avp_S6_3GPP_AESE_Error_Report, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_AESE_Error_Report; @@ -5330,17 +7489,25 @@ avp_PCC_3GPP_Access_Network_Charging_Identifier_Gx, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Access_Network_Charging_Identifier_Gx; avp_RX_3GPP_Extended_Max_Requested_BW_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Extended_Max_Requested_BW_DL; avp_PCC_3GPP_Flow_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Flow_Information; + avp_DNAS_NONE_NAS_Identifier, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_NAS_Identifier; + avp_DNAS_NONE_Tunnel_Server_Auth_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Server_Auth_Id; avp_PCC_3GPP_Execution_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Execution_Time; + avp_CxDx_3GPP_Contact, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Contact; + avp_DCC_NONE_Credit_Control, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Credit_Control; avp_BASE_NONE_Accounting_Record_Number, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Accounting_Record_Number; avp_AAA_3GPP_Event_Threshold_Event_1I, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Event_Threshold_Event_1I; avp_PCC_3GPP_Charging_Correlation_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Charging_Correlation_Indicator; + avp_CxDx_3GPP_User_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_User_Data; avp_AAA_3GPP_Report_Interval, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Report_Interval; avp_PCC_3GPP_RAN_NAS_Release_Cause, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_RAN_NAS_Release_Cause; avp_AAA_3GPP_Client_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Client_Identity; avp_BASE_NONE_Redirect_Host_Usage, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Redirect_Host_Usage; avp_AAA_3GPP_Equipment_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Equipment_Status; + avp_GI_3GPP_3GPP_Packet_Filter, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_Packet_Filter; + avp_DCC_NONE_Redirect_Server_Address, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Redirect_Server_Address; avp_MIPv6_NONE_MIP6_Auth_Mode, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP6_Auth_Mode; avp_AAA_3GPP_EPS_Location_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_EPS_Location_Information; + avp_DNAS_NONE_Acct_Tunnel_Packets_Lost, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Acct_Tunnel_Packets_Lost; avp_BASE_NONE_Session_Timeout, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Session_Timeout; avp_RX_3GPP_Service_Info_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Service_Info_Status; avp_S6_3GPP_CIR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_CIR_Flags; @@ -5357,33 +7524,48 @@ avp_PCC_3GPP_ADC_Rule_Report, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_ADC_Rule_Report; avp_AAA_3GPP_UE_SRVCC_Capability, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_UE_SRVCC_Capability; avp_PCC_3GPP_Guaranteed_Bitrate_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Guaranteed_Bitrate_UL; + avp_DNAS_NONE_NAS_IPv6_Address, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_NAS_IPv6_Address; + avp_DNAS_NONE_Login_LAT_Group, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Login_LAT_Group; avp_MIPv6_NONE_MIP_MAC_Mobility_Data, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_MAC_Mobility_Data; + avp_DNAS_NONE_Accounting_Output_Octets, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Accounting_Output_Octets; + avp_CxDx_3GPP_To_SIP_Header, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_To_SIP_Header; avp_AAA_3GPP_Coupled_Node_Diameter_ID, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Coupled_Node_Diameter_ID; avp_AAA_3GPP_STN_SR, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_STN_SR; avp_BASE_NONE_Supported_Vendor_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Supported_Vendor_Id; avp_AAA_3GPP_ServiceTypeIdentity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_ServiceTypeIdentity; + avp_DNAS_NONE_Acct_Authentic, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Acct_Authentic; + avp_DCC_NONE_Service_Identifier, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Service_Identifier; avp_AAA_3GPP_AUTN, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_AUTN; + avp_GI_3GPP_TWAN_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_TWAN_Identifier; avp_RX_3GPP_Sponsored_Connectivity_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Sponsored_Connectivity_Data; avp_BASE_NONE_Auth_Request_Type, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Auth_Request_Type; avp_S6_3GPP_AESE_Communication_Pattern, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_AESE_Communication_Pattern; avp_PCC_3GPP_NBIFOM_Mode, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_NBIFOM_Mode; + avp_DCC_NONE_Validity_Time, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Validity_Time; avp_PCC_3GPP_Redirect_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Redirect_Information; avp_S6_3GPP_Event_Handling, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Event_Handling; avp_AAA_3GPP_Tracking_Area_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Tracking_Area_Identity; avp_PCC_3GPP_ToS_Traffic_Class, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_ToS_Traffic_Class; avp_RX_3GPP_Min_Desired_Bandwidth_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Min_Desired_Bandwidth_UL; avp_AAA_3GPP_UVR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_UVR_Flags; + avp_CxDx_3GPP_Originating_Request, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Originating_Request; avp_AAA_3GPP_Subscription_Data_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Subscription_Data_Flags; avp_PCC_3GPP_PDN_Connection_ID, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_PDN_Connection_ID; + avp_DNAS_NONE_Framed_IPv6_Route, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_IPv6_Route; avp_AAA_3GPP_DSR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_DSR_Flags; avp_PCC_3GPP_PRA_Remove, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_PRA_Remove; + avp_DCC_NONE_Granted_Service_Unit, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Granted_Service_Unit; avp_MIPv6_NONE_MIP_Timestamp, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_Timestamp; avp_AAA_3GPP_Subscribed_Periodic_RAU_TAU_Timer, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Subscribed_Periodic_RAU_TAU_Timer; avp_AAA_3GPP_Specific_APN_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Specific_APN_Info; avp_AAA_3GPP_Terminal_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Terminal_Information; + avp_CxDx_3GPP_Restoration_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Restoration_Info; avp_BASE_NONE_Product_Name, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Product_Name; avp_AAA_3GPP_CSG_Id, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_CSG_Id; + avp_DNAS_NONE_Framed_IP_Netmask, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_IP_Netmask; + avp_GI_3GPP_3GPP_IPv6_DNS_Servers, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_IPv6_DNS_Servers; avp_AAA_3GPP_Call_Barring_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Call_Barring_Info; + avp_DCC_NONE_Service_Parameter_Info, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Service_Parameter_Info; avp_BASE_NONE_Origin_State_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Origin_State_Id; avp_S6_3GPP_IP_SM_GW_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_IP_SM_GW_Name; avp_RX_3GPP_Media_Sub_Component, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Media_Sub_Component; @@ -5392,6 +7574,7 @@ avp_RX_3GPP_Min_Requested_Bandwidth_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Min_Requested_Bandwidth_DL; avp_S6_3GPP_Service_Report, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Service_Report; avp_PCC_3GPP_Tunnel_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Tunnel_Information; + avp_CxDx_3GPP_Primary_Charging_Collection_Function_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Primary_Charging_Collection_Function_Name; avp_AAA_3GPP_Time_Zone, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Time_Zone; avp_PCC_3GPP_QoS_Rule_Definition, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Rule_Definition; avp_S6_3GPP_Periodic_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Periodic_Time; @@ -5402,12 +7585,18 @@ avp_PCC_3GPP_Charging_Rule_Report, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Charging_Rule_Report; avp_BASE_NONE_User_Name, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_User_Name; avp_AAA_3GPP_UE_PC5_AMBR, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_UE_PC5_AMBR; + avp_CxDx_3GPP_Public_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Public_Identity; avp_BASE_NONE_Accounting_Sub_Session_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Accounting_Sub_Session_Id; + avp_DNAS_NONE_Acct_Delay_Time, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Acct_Delay_Time; + avp_CxDx_3GPP_UAR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_UAR_Flags; avp_AAA_3GPP_Collection_Period_RRM_UMTS, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Collection_Period_RRM_UMTS; avp_AAA_3GPP_Operator_Determined_Barring, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Operator_Determined_Barring; + avp_DNAS_NONE_Tunnel_Server_Endpoint, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Server_Endpoint; avp_BASE_NONE_Session_Binding, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Session_Binding; + avp_GI_3GPP_3GPP_IMEISV, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_IMEISV; avp_AAA_3GPP_SS_Code, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_SS_Code; avp_BASE_NONE_Acct_Multi_Session_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Acct_Multi_Session_Id; + avp_DCC_NONE_Subscription_Id_Data, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Subscription_Id_Data; avp_RX_3GPP_RS_Bandwidth, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_RS_Bandwidth; avp_MIPv6_NONE_MIP_Algorithm_Type, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_Algorithm_Type; avp_S6_3GPP_Reachability_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Reachability_Information; @@ -5420,49 +7609,77 @@ avp_PCC_3GPP_Event_Trigger, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Event_Trigger; avp_RX_3GPP_GCS_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_GCS_Identifier; avp_MIPv6_NONE_QoS_Capability, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_QoS_Capability; + avp_DCC_NONE_G_S_U_Pool_Identifier, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_G_S_U_Pool_Identifier; avp_AAA_3GPP_Non_IP_PDN_Type_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Non_IP_PDN_Type_Indicator; avp_PCC_3GPP_ADC_Rule_Install, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_ADC_Rule_Install; + avp_CxDx_3GPP_Confidentiality_Key, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Confidentiality_Key; avp_PCC_3GPP_Flow_Label, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Flow_Label; + avp_DNAS_NONE_NAS_Port, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_NAS_Port; avp_AAA_3GPP_Authentication_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Authentication_Info; avp_AAA_3GPP_Trace_Interface_List, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Trace_Interface_List; + avp_GI_3GPP_3GPP_Charging_Id, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_Charging_Id; + avp_DNAS_NONE_CHAP_Algorithm, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_CHAP_Algorithm; avp_AAA_3GPP_APN_Configuration_Profile, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_APN_Configuration_Profile; + avp_GI_3GPP_3GPP_CAMEL_Charging_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_CAMEL_Charging_Info; avp_RX_3GPP_Flows, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Flows; avp_S6_3GPP_CIA_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_CIA_Flags; avp_RX_3GPP_Extended_Min_Requested_BW_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Extended_Min_Requested_BW_UL; avp_PCC_3GPP_Monitoring_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Monitoring_Time; + avp_DCC_NONE_CC_Input_Octets, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Input_Octets; avp_S6_3GPP_UE_Reachability_Configuration, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_UE_Reachability_Configuration; avp_BASE_NONE_Destination_Realm, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Destination_Realm; avp_RX_3GPP_Acceptable_Service_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Acceptable_Service_Info; avp_PCC_3GPP_Flow_Direction, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Flow_Direction; avp_S6_3GPP_Supported_Monitoring_Events, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Supported_Monitoring_Events; + avp_CxDx_3GPP_SIP_Item_Number, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SIP_Item_Number; avp_PCC_3GPP_Session_Release_Cause, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Session_Release_Cause; avp_AAA_3GPP_MDT_User_Consent, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_MDT_User_Consent; + avp_DNAS_NONE_Login_LAT_Port, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Login_LAT_Port; avp_S6_3GPP_HSS_Cause, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_HSS_Cause; + avp_DCC_NONE_G_S_U_Pool_Reference, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_G_S_U_Pool_Reference; avp_PCC_3GPP_PCSCF_Restoration_Indication, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_PCSCF_Restoration_Indication; avp_AAA_3GPP_Subscription_Data_Deletion, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Subscription_Data_Deletion; avp_MIPv6_NONE_Chargable_User_Identity, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_Chargable_User_Identity; avp_AAA_3GPP_Trace_Collection_Entity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Trace_Collection_Entity; + avp_CxDx_3GPP_Feature_List_ID, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Feature_List_ID; avp_BASE_NONE_Redirect_Host, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Redirect_Host; avp_AAA_3GPP_Network_Access_Mode, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Network_Access_Mode; + avp_DNAS_NONE_ARAP_Zone_Access, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_ARAP_Zone_Access; + avp_DNAS_NONE_Framed_Compression, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_Compression; + avp_GI_3GPP_3GPP_Selection_Mode, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_Selection_Mode; + avp_DNAS_NONE_QoS_Filter_Rule, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_QoS_Filter_Rule; avp_AAA_3GPP_Complete_Data_List_Included_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Complete_Data_List_Included_Indicator; avp_MIPv6_NONE_MIP_MN_AAA_SPI, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_MN_AAA_SPI; + avp_GI_3GPP_3GPP_SGSN_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_SGSN_Address; avp_MIPv6_NONE_MIP_MSA_Lifetime, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_MSA_Lifetime; + avp_GI_3GPP_External_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_External_Identifier; avp_S6_3GPP_Reachability_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Reachability_Type; + avp_DNAS_NONE_Tunnel_Private_Group_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Private_Group_Id; + avp_DNAS_NONE_Framed_Route, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_Route; + avp_DCC_NONE_CC_Request_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Request_Type; avp_S6_3GPP_Type_Of_External_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Type_Of_External_Identifier; avp_PCC_3GPP_Event_Report_Indication, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Event_Report_Indication; avp_AAA_3GPP_MDT_Configuration, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_MDT_Configuration; avp_PCC_3GPP_Usage_Monitoring_Report, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Usage_Monitoring_Report; + avp_CxDx_3GPP_Priviledged_Sender_Indication, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Priviledged_Sender_Indication; avp_AAA_3GPP_Adjacent_Access_Restriction_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Adjacent_Access_Restriction_Data; avp_AAA_3GPP_RAT_Frequency_Selection_Priority_ID, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_RAT_Frequency_Selection_Priority_ID; + avp_CxDx_3GPP_Reason_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Reason_Info; avp_AAA_3GPP_CLR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_CLR_Flags; avp_PCC_3GPP_Default_EPS_Bearer_QoS, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Default_EPS_Bearer_QoS; avp_AAA_3GPP_ULR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_ULR_Flags; + avp_DNAS_NONE_Tunnel_Client_Auth_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Client_Auth_Id; + avp_DNAS_NONE_Calling_Station_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Calling_Station_Id; avp_AAA_3GPP_ICS_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_ICS_Indicator; + avp_DCC_NONE_Currency_Code, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Currency_Code; avp_AAA_3GPP_Cancellation_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Cancellation_Type; avp_BASE_NONE_E2E_Sequence, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_E2E_Sequence; avp_BASE_NONE_Origin_Realm, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Origin_Realm; avp_AAA_3GPP_PDN_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_PDN_Type; + avp_DNAS_NONE_Prompt, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Prompt; + avp_GI_3GPP_3GPP_GGSN_IPv6_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_GGSN_IPv6_Address; avp_RX_3GPP_Access_Network_Charging_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Access_Network_Charging_Identifier; + avp_DCC_NONE_Redirect_Server, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Redirect_Server; avp_S6_3GPP_AESE_Communication_Pattern_Config_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_AESE_Communication_Pattern_Config_Status; avp_S6_3GPP_Enhanced_Coverage_Restriction_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Enhanced_Coverage_Restriction_Data; avp_PCC_3GPP_Bearer_Operation, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Bearer_Operation; @@ -5471,21 +7688,29 @@ avp_PCC_3GPP_TDF_Application_Instance_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_TDF_Application_Instance_Identifier; avp_BASE_NONE_Acct_Interim_Interval, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Acct_Interim_Interval; avp_RX_3GPP_Media_Component_Number, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Media_Component_Number; + avp_CxDx_3GPP_Path, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Path; avp_AAA_3GPP_Event_Threshold_Event_1F, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Event_Threshold_Event_1F; avp_PCC_3GPP_Packet_Filter_Usage, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Packet_Filter_Usage; avp_S6_3GPP_MONTE_Location_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_MONTE_Location_Type; avp_AAA_3GPP_RDS_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_RDS_Indicator; + avp_CxDx_3GPP_Optional_Capability, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Optional_Capability; avp_AAA_3GPP_Reporting_Trigger, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Reporting_Trigger; avp_PCC_3GPP_Tunnel_Header_Length, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Tunnel_Header_Length; avp_PCC_3GPP_Conditional_APN_Aggregate_Max_Bitrate, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Conditional_APN_Aggregate_Max_Bitrate; + avp_CxDx_3GPP_Secondary_Event_Charging_Function_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Secondary_Event_Charging_Function_Name; avp_AAA_3GPP_Group_PLMN_Id, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Group_PLMN_Id; avp_AAA_3GPP_User_Id, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_User_Id; + avp_DNAS_NONE_Login_LAT_Node, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Login_LAT_Node; + avp_DNAS_NONE_Originating_Line_Info, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Originating_Line_Info; + avp_DCC_NONE_Exponent, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Exponent; avp_MIPv6_NONE_MIP_Authenticator, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_Authenticator; + avp_DNAS_NONE_Accounting_Input_Octets, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Accounting_Input_Octets; avp_AAA_3GPP_Requested_UTRAN_GERAN_Authentication_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Requested_UTRAN_GERAN_Authentication_Info; avp_AAA_3GPP_EPS_User_State, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_EPS_User_State; avp_BASE_NONE_Origin_Host, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Origin_Host; avp_RX_3GPP_Retry_Interval, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Retry_Interval; avp_BASE_NONE_Accounting_Session_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Accounting_Session_Id; + avp_DCC_NONE_Restriction_Filter_Rule, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Restriction_Filter_Rule; avp_PCC_3GPP_Packet_Filter_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Packet_Filter_Identifier; avp_S6_3GPP_SCEF_Reference_ID, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_SCEF_Reference_ID; avp_PCC_3GPP_Resource_Release_Notification, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Resource_Release_Notification; @@ -5494,23 +7719,33 @@ avp_AAA_3GPP_Error_Diagnostic, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Error_Diagnostic; avp_PCC_3GPP_Guaranteed_Bitrate_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Guaranteed_Bitrate_DL; avp_RX_3GPP_Extended_Max_Supported_BW_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Extended_Max_Supported_BW_UL; + avp_DCC_NONE_CC_Total_Octets, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Total_Octets; avp_PCC_3GPP_UDP_Source_Port, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_UDP_Source_Port; avp_BASE_NONE_Accounting_Record_Type, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Accounting_Record_Type; + avp_CxDx_3GPP_From_SIP_Header, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_From_SIP_Header; avp_AAA_3GPP_SIPTO_Local_Network_Permission, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_SIPTO_Local_Network_Permission; avp_PCC_3GPP_Routing_Rule_Definition, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Routing_Rule_Definition; + avp_DCC_NONE_Value_Digits, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Value_Digits; avp_AAA_3GPP_VPLMN_Dynamic_Address_Allowed, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_VPLMN_Dynamic_Address_Allowed; avp_BASE_NONE_Acct_Application_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Acct_Application_Id; + avp_CxDx_3GPP_SIP_Authenticate, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SIP_Authenticate; avp_AAA_3GPP_Service_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Service_Type; avp_AAA_3GPP_Immediate_Response_Preferred, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Immediate_Response_Preferred; + avp_DNAS_NONE_Login_IPv6_Host, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Login_IPv6_Host; + avp_DNAS_NONE_Framed_Appletalk_Zone, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_Appletalk_Zone; + avp_DCC_NONE_Final_Unit_Indication, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Final_Unit_Indication; avp_AAA_3GPP_XRES, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_XRES; + avp_GI_3GPP_3GPP_IMSI, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_IMSI; avp_AAA_3GPP_User_State, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_User_State; avp_BASE_NONE_Result_Code, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Result_Code; + avp_DNAS_NONE_Framed_IP_Address, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_IP_Address; avp_S6_3GPP_IP_SM_GW_Realm, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_IP_SM_GW_Realm; avp_S6_3GPP_Reference_ID_Validity_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Reference_ID_Validity_Time; avp_AAA_3GPP_E_UTRAN_Cell_Global_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_E_UTRAN_Cell_Global_Identity; avp_PCC_3GPP_TFT_Packet_Filter_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_TFT_Packet_Filter_Information; avp_RX_3GPP_Min_Desired_Bandwidth_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Min_Desired_Bandwidth_DL; avp_S6_3GPP_Group_Reporting_Guard_Timer, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Group_Reporting_Guard_Timer; + avp_CxDx_3GPP_Associated_Identities, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Associated_Identities; avp_BASE_NONE_Auth_Session_State, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Auth_Session_State; avp_PCC_3GPP_Session_Linking_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Session_Linking_Indicator; avp_S6_3GPP_Maximum_Number_of_Reports, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Maximum_Number_of_Reports; @@ -5518,17 +7753,21 @@ avp_AAA_3GPP_V2X_Permission, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_V2X_Permission; avp_AAA_3GPP_LIPA_Permission, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_LIPA_Permission; avp_PCC_3GPP_QoS_Negotiation, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Negotiation; + avp_CxDx_3GPP_SIP_Auth_Data_Item, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SIP_Auth_Data_Item; avp_AAA_3GPP_3GPP2_MEID, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_3GPP2_MEID; avp_AAA_3GPP_Subscription_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Subscription_Data; + avp_CxDx_3GPP_Multiple_Registration_Indication, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Multiple_Registration_Indication; avp_BASE_NONE_Vendor_Specific_Application_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Vendor_Specific_Application_Id; avp_AAA_3GPP_WLAN_offloadability_UTRAN, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_WLAN_offloadability_UTRAN; avp_AAA_3GPP_CSG_Subscription_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_CSG_Subscription_Data; avp_MIPv6_NONE_Service_Selection, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_Service_Selection; avp_AAA_3GPP_TS_Code, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_TS_Code; + avp_DNAS_NONE_Tunnel_Client_Endpoint, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Client_Endpoint; avp_S6_3GPP_IP_SM_GW_Number, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_IP_SM_GW_Number; avp_PCC_3GPP_Charging_Rule_Install, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Charging_Rule_Install; avp_RX_3GPP_Rx_Request_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Rx_Request_Type; avp_S6_3GPP_NIDD_Authorization_Response, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_NIDD_Authorization_Response; + avp_DCC_NONE_Subscription_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Subscription_Id; avp_AAA_3GPP_VPLMN_CSG_Subscription_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_VPLMN_CSG_Subscription_Data; avp_PCC_3GPP_QoS_Rule_Remove, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Rule_Remove; avp_S6_3GPP_Communication_Duration_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Communication_Duration_Time; @@ -5537,14 +7776,20 @@ avp_AAA_3GPP_Location_Area_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Location_Area_Identity; avp_RX_3GPP_Media_Component_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Media_Component_Status; avp_AAA_3GPP_eDRX_Cycle_Length_Value, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_eDRX_Cycle_Length_Value; + avp_CxDx_3GPP_Visited_Network_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Visited_Network_Identifier; avp_S6_3GPP_RIR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_RIR_Flags; avp_AAA_3GPP_Collection_Period_RRM_LTE, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Collection_Period_RRM_LTE; avp_PCC_3GPP_Usage_Monitoring_Level, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Usage_Monitoring_Level; avp_AAA_3GPP_Subscriber_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Subscriber_Status; avp_PCC_3GPP_Extended_APN_AMBR_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Extended_APN_AMBR_UL; + avp_CxDx_3GPP_Identity_with_Emergency_Registration, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Identity_with_Emergency_Registration; + avp_DCC_NONE_Tariff_Change_Usage, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Tariff_Change_Usage; avp_AAA_3GPP_LCS_PrivacyException, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_LCS_PrivacyException; avp_AAA_3GPP_QoS_Subscribed, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_QoS_Subscribed; + avp_DNAS_NONE_NAS_IP_Address, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_NAS_IP_Address; avp_RX_3GPP_RR_Bandwidth, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_RR_Bandwidth; + avp_DCC_NONE_Service_Context_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Service_Context_Id; + avp_DNAS_NONE_CHAP_Auth, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_CHAP_Auth; avp_PCC_3GPP_APN_Aggregate_Max_Bitrate_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_APN_Aggregate_Max_Bitrate_DL; avp_S6_3GPP_SCS_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_SCS_Identity; avp_RX_3GPP_Access_Network_Charging_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Access_Network_Charging_Address; @@ -5555,19 +7800,29 @@ avp_AAA_3GPP_UE_Usage_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_UE_Usage_Type; avp_PCC_3GPP_TDF_IP_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_TDF_IP_Address; avp_S6_3GPP_Enhanced_Coverage_Restriction, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Enhanced_Coverage_Restriction; + avp_CxDx_3GPP_User_Data_Already_Available, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_User_Data_Already_Available; avp_AAA_3GPP_MME_Number_for_MT_SMS, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_MME_Number_for_MT_SMS; avp_PCC_3GPP_Security_Parameter_Index, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Security_Parameter_Index; + avp_DCC_NONE_CC_Correlation_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Correlation_Id; avp_PCC_3GPP_Traffic_Steering_Policy_Identifier_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Traffic_Steering_Policy_Identifier_UL; avp_BASE_NONE_Route_Record, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Route_Record; avp_AAA_3GPP_Carrier_Frequency, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Carrier_Frequency; + avp_CxDx_3GPP_Mandatory_Capability, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Mandatory_Capability; avp_AAA_3GPP_Trace_NE_Type_List, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Trace_NE_Type_List; + avp_DNAS_NONE_Port_Limit, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Port_Limit; + avp_DCC_NONE_Multiple_Services_Credit_Control, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Multiple_Services_Credit_Control; avp_AAA_3GPP_All_APN_Configurations_Included_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_All_APN_Configurations_Included_Indicator; avp_AAA_3GPP_NOR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_NOR_Flags; + avp_GI_3GPP_3GPP_MS_TimeZone, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_MS_TimeZone; avp_AAA_3GPP_External_Client, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_External_Client; avp_BASE_NONE_Authorization_Lifetime, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Authorization_Lifetime; + avp_DNAS_NONE_ARAP_Features, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_ARAP_Features; + avp_DNAS_NONE_Framed_MTU, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_MTU; avp_RX_3GPP_Extended_Min_Requested_BW_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Extended_Min_Requested_BW_DL; + avp_DNAS_NONE_Accounting_Auth_Method, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Accounting_Auth_Method; avp_RX_3GPP_Service_URN, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Service_URN; avp_S6_3GPP_Supported_Services, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Supported_Services; + avp_DNAS_NONE_Accounting_Output_Packets, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Accounting_Output_Packets; avp_AAA_3GPP_Relay_Node_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Relay_Node_Indicator; avp_PCC_3GPP_Rule_DeActivation_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Rule_DeActivation_Time; avp_S6_3GPP_T4_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_T4_Data; @@ -5576,13 +7831,23 @@ avp_PCC_3GPP_ADC_Rule_Base_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_ADC_Rule_Base_Name; avp_AAA_3GPP_SCEF_Realm, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_SCEF_Realm; avp_S6_3GPP_Requested_Validity_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Requested_Validity_Time; + avp_DCC_NONE_CC_Request_Number, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Request_Number; + avp_CxDx_3GPP_Supported_Features, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Supported_Features; avp_AAA_3GPP_Local_Time_Zone, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Local_Time_Zone; avp_AAA_3GPP_GERAN_Vector, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_GERAN_Vector; + avp_CxDx_3GPP_Call_ID_SIP_Header, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Call_ID_SIP_Header; avp_AAA_3GPP_EPS_Subscribed_QoS_Profile, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_EPS_Subscribed_QoS_Profile; + avp_GI_3GPP_3GPP_Session_Stop_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_Session_Stop_Indicator; avp_AAA_3GPP_GPRS_Subscription_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_GPRS_Subscription_Data; + avp_GI_3GPP_3GPP_GPRS_Negotiated_QoS_Profile, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_GPRS_Negotiated_QoS_Profile; + avp_DNAS_NONE_Called_Station_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Called_Station_Id; + avp_DCC_NONE_Cost_Unit, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Cost_Unit; avp_BASE_NONE_Accounting_Realtime_Required, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Accounting_Realtime_Required; avp_BASE_NONE_Termination_Cause, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Termination_Cause; + avp_GI_3GPP_3GPP_Allocate_IP_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_Allocate_IP_Type; avp_RX_3GPP_Specific_Action, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Specific_Action; + avp_DNAS_NONE_Login_TCP_Port, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Login_TCP_Port; + avp_DNAS_NONE_Password_Retry, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Password_Retry; avp_S6_3GPP_Maximum_Detection_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Maximum_Detection_Time; avp_AAA_3GPP_Ext_PDP_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Ext_PDP_Address; avp_PCC_3GPP_RAT_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_RAT_Type; @@ -5590,10 +7855,14 @@ avp_AAA_3GPP_Adjacent_PLMNs, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Adjacent_PLMNs; avp_S6_3GPP_Service_Result_Code, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Service_Result_Code; avp_AAA_3GPP_SGSN_Location_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_SGSN_Location_Information; + avp_CxDx_3GPP_Reason_Code, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Reason_Code; avp_PCC_3GPP_Pre_emption_Vulnerability, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Pre_emption_Vulnerability; avp_AAA_3GPP_Equivalent_PLMN_List, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Equivalent_PLMN_List; avp_PCC_3GPP_Default_Access, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Default_Access; + avp_CxDx_3GPP_Supported_Applications, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Supported_Applications; + avp_DNAS_NONE_ARAP_Challenge_Response, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_ARAP_Challenge_Response; avp_BASE_NONE_Class, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Class; + avp_DCC_NONE_CC_Sub_Session_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Sub_Session_Id; avp_AAA_3GPP_IDR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_IDR_Flags; avp_AAA_3GPP_V2X_Subscription_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_V2X_Subscription_Data; avp_PCC_3GPP_PS_to_CS_Session_Continuity, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_PS_to_CS_Session_Continuity; @@ -5603,8 +7872,18 @@ )" } type set of GenericAVP AVP_list; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_SGSN_IPv6_Address := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_SGSN_IPv6_Address }; +const AVP_Code c_AVP_Code_DNAS_NONE_Login_LAT_Service := { + vendor_id_NONE := avp_code_DNAS_NONE_Login_LAT_Service }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_GGSN_MCC_MNC := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_GGSN_MCC_MNC }; +const AVP_Code c_AVP_Code_DCC_NONE_Direct_Debiting_Failure_Handling := { + vendor_id_NONE := avp_code_DCC_NONE_Direct_Debiting_Failure_Handling }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_Careof_Address := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP_Careof_Address }; +const AVP_Code c_AVP_Code_CxDx_ETSI_Line_Identifier := { + vendor_id_ETSI := avp_code_CxDx_ETSI_Line_Identifier }; const AVP_Code c_AVP_Code_PCC_3GPP_Bearer_Identifier := { vendor_id_3GPP := avp_code_PCC_3GPP_Bearer_Identifier }; const AVP_Code c_AVP_Code_RX_3GPP_Content_Version := { @@ -5625,24 +7904,40 @@ vendor_id_3GPP := avp_code_PCC_3GPP_Tunnel_Header_Filter }; const AVP_Code c_AVP_Code_AAA_3GPP_List_Of_Measurements := { vendor_id_3GPP := avp_code_AAA_3GPP_List_Of_Measurements }; +const AVP_Code c_AVP_Code_DCC_NONE_Requested_Service_Unit := { + vendor_id_NONE := avp_code_DCC_NONE_Requested_Service_Unit }; const AVP_Code c_AVP_Code_PCC_3GPP_Default_QoS_Name := { vendor_id_3GPP := avp_code_PCC_3GPP_Default_QoS_Name }; const AVP_Code c_AVP_Code_AAA_3GPP_UVA_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_UVA_Flags }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SAR_Flags := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SAR_Flags }; const AVP_Code c_AVP_Code_AAA_3GPP_Group_Service_Id := { vendor_id_3GPP := avp_code_AAA_3GPP_Group_Service_Id }; const AVP_Code c_AVP_Code_PCC_3GPP_TDF_Information := { vendor_id_3GPP := avp_code_PCC_3GPP_TDF_Information }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_Pool := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_Pool }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Time := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Time }; const AVP_Code c_AVP_Code_AAA_3GPP_Requested_EUTRAN_Authentication_Info := { vendor_id_3GPP := avp_code_AAA_3GPP_Requested_EUTRAN_Authentication_Info }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SIP_Digest_Authenticate := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SIP_Digest_Authenticate }; const AVP_Code c_AVP_Code_AAA_3GPP_Last_UE_Activity_Time := { vendor_id_3GPP := avp_code_AAA_3GPP_Last_UE_Activity_Time }; const AVP_Code c_AVP_Code_AAA_3GPP_Context_Identifier := { vendor_id_3GPP := avp_code_AAA_3GPP_Context_Identifier }; +const AVP_Code c_AVP_Code_DCC_NONE_Used_Service_Unit := { + vendor_id_NONE := avp_code_DCC_NONE_Used_Service_Unit }; const AVP_Code c_AVP_Code_BASE_NONE_Auth_Application_Id := { vendor_id_NONE := avp_code_BASE_NONE_Auth_Application_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_Trace_Reference := { vendor_id_3GPP := avp_code_AAA_3GPP_Trace_Reference }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_Appletalk_Network := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_Appletalk_Network }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_IPv6_Prefix := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_IPv6_Prefix }; const AVP_Code c_AVP_Code_RX_3GPP_Sharing_Key_UL := { vendor_id_3GPP := avp_code_RX_3GPP_Sharing_Key_UL }; const AVP_Code c_AVP_Code_RX_3GPP_AF_Charging_Identifier := { @@ -5671,8 +7966,12 @@ vendor_id_3GPP := avp_code_PCC_3GPP_Routing_Rule_Remove }; const AVP_Code c_AVP_Code_S6_3GPP_Roaming_Information := { vendor_id_3GPP := avp_code_S6_3GPP_Roaming_Information }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SIP_Authentication_Scheme := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SIP_Authentication_Scheme }; const AVP_Code c_AVP_Code_AAA_3GPP_Event_Threshold_RSRP := { vendor_id_3GPP := avp_code_AAA_3GPP_Event_Threshold_RSRP }; +const AVP_Code c_AVP_Code_CxDx_3GPP_User_Authorization_Type := { + vendor_id_3GPP := avp_code_CxDx_3GPP_User_Authorization_Type }; const AVP_Code c_AVP_Code_AAA_3GPP_PLMN_Client := { vendor_id_3GPP := avp_code_AAA_3GPP_PLMN_Client }; const AVP_Code c_AVP_Code_AAA_3GPP_Re_Synchronization_Info := { @@ -5691,14 +7990,20 @@ vendor_id_NONE := avp_code_BASE_NONE_Re_Auth_Request_Type }; const AVP_Code c_AVP_Code_S6_3GPP_External_Identifier := { vendor_id_3GPP := avp_code_S6_3GPP_External_Identifier }; +const AVP_Code c_AVP_Code_DCC_NONE_Redirect_Address_Type := { + vendor_id_NONE := avp_code_DCC_NONE_Redirect_Address_Type }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_MN_HA_MSA := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP_MN_HA_MSA }; const AVP_Code c_AVP_Code_PCC_3GPP_TFT_Filter := { vendor_id_3GPP := avp_code_PCC_3GPP_TFT_Filter }; const AVP_Code c_AVP_Code_RX_3GPP_Max_Supported_Bandwidth_UL := { vendor_id_3GPP := avp_code_RX_3GPP_Max_Supported_Bandwidth_UL }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Medium_Type := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Medium_Type }; const AVP_Code c_AVP_Code_S6_3GPP_Loss_Of_Connectivity_Reason := { vendor_id_3GPP := avp_code_S6_3GPP_Loss_Of_Connectivity_Reason }; +const AVP_Code c_AVP_Code_DCC_NONE_User_Equipment_Info_Type := { + vendor_id_NONE := avp_code_DCC_NONE_User_Equipment_Info_Type }; const AVP_Code c_AVP_Code_RX_3GPP_Flow_Number := { vendor_id_3GPP := avp_code_RX_3GPP_Flow_Number }; const AVP_Code c_AVP_Code_PCC_3GPP_Resource_Allocation_Notification := { @@ -5713,10 +8018,16 @@ vendor_id_3GPP := avp_code_PCC_3GPP_QoS_Class_Identifier }; const AVP_Code c_AVP_Code_PCC_3GPP_Mute_Notification := { vendor_id_3GPP := avp_code_PCC_3GPP_Mute_Notification }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SIP_Authentication_Context := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SIP_Authentication_Context }; const AVP_Code c_AVP_Code_MIPv6_NONE_QoS_Resources := { vendor_id_NONE := avp_code_MIPv6_NONE_QoS_Resources }; const AVP_Code c_AVP_Code_AAA_3GPP_Logging_Duration := { vendor_id_3GPP := avp_code_AAA_3GPP_Logging_Duration }; +const AVP_Code c_AVP_Code_DCC_NONE_Service_Parameter_Value := { + vendor_id_NONE := avp_code_DCC_NONE_Service_Parameter_Value }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Associated_Registered_Identities := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Associated_Registered_Identities }; const AVP_Code c_AVP_Code_AAA_3GPP_WLAN_offloadability_EUTRAN := { vendor_id_3GPP := avp_code_AAA_3GPP_WLAN_offloadability_EUTRAN }; const AVP_Code c_AVP_Code_PCC_3GPP_Routing_IP_Address := { @@ -5725,10 +8036,18 @@ vendor_id_NONE := avp_code_MIPv6_NONE_MIP_Session_Key }; const AVP_Code c_AVP_Code_AAA_3GPP_KASME := { vendor_id_3GPP := avp_code_AAA_3GPP_KASME }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_User_Location_Info_Time := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_User_Location_Info_Time }; const AVP_Code c_AVP_Code_AAA_3GPP_Teleservice_List := { vendor_id_3GPP := avp_code_AAA_3GPP_Teleservice_List }; const AVP_Code c_AVP_Code_AAA_3GPP_UTRAN_Vector := { vendor_id_3GPP := avp_code_AAA_3GPP_UTRAN_Vector }; +const AVP_Code c_AVP_Code_DCC_NONE_Tariff_Time_Change := { + vendor_id_NONE := avp_code_DCC_NONE_Tariff_Time_Change }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_NSAPI := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_NSAPI }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_CG_Address := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_CG_Address }; const AVP_Code c_AVP_Code_RX_3GPP_Application_Service_Provider_Identity := { vendor_id_3GPP := avp_code_RX_3GPP_Application_Service_Provider_Identity }; const AVP_Code c_AVP_Code_S6_3GPP_NIDD_Authorization_Request := { @@ -5741,12 +8060,18 @@ vendor_id_3GPP := avp_code_RX_3GPP_Flow_Usage }; const AVP_Code c_AVP_Code_PCC_3GPP_RAN_Rule_Support := { vendor_id_3GPP := avp_code_PCC_3GPP_RAN_Rule_Support }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Password := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Password }; const AVP_Code c_AVP_Code_S6_3GPP_Monitoring_Duration := { vendor_id_3GPP := avp_code_S6_3GPP_Monitoring_Duration }; const AVP_Code c_AVP_Code_AAA_3GPP_Routing_Area_Identity := { vendor_id_3GPP := avp_code_AAA_3GPP_Routing_Area_Identity }; const AVP_Code c_AVP_Code_PCC_3GPP_QoS_Information := { vendor_id_3GPP := avp_code_PCC_3GPP_QoS_Information }; +const AVP_Code c_AVP_Code_DCC_NONE_User_Equipment_Info_Value := { + vendor_id_NONE := avp_code_DCC_NONE_User_Equipment_Info_Value }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunneling := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunneling }; const AVP_Code c_AVP_Code_RX_3GPP_Service_Authorization_Info := { vendor_id_3GPP := avp_code_RX_3GPP_Service_Authorization_Info }; const AVP_Code c_AVP_Code_BASE_NONE_Multi_Round_Time_Out := { @@ -5769,8 +8094,16 @@ vendor_id_NONE := avp_code_BASE_NONE_Experimental_Result_Code }; const AVP_Code c_AVP_Code_PCC_3GPP_Extended_APN_AMBR_DL := { vendor_id_3GPP := avp_code_PCC_3GPP_Extended_APN_AMBR_DL }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Session_Priority := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Session_Priority }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Deregistration_Reason := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Deregistration_Reason }; const AVP_Code c_AVP_Code_AAA_3GPP_GMLC_Number := { vendor_id_3GPP := avp_code_AAA_3GPP_GMLC_Number }; +const AVP_Code c_AVP_Code_DNAS_NONE_Configuration_Token := { + vendor_id_NONE := avp_code_DNAS_NONE_Configuration_Token }; +const AVP_Code c_AVP_Code_DNAS_NONE_Callback_Number := { + vendor_id_NONE := avp_code_DNAS_NONE_Callback_Number }; const AVP_Code c_AVP_Code_AAA_3GPP_Software_Version := { vendor_id_3GPP := avp_code_AAA_3GPP_Software_Version }; const AVP_Code c_AVP_Code_AAA_3GPP_Expiration_Date := { @@ -5779,10 +8112,18 @@ vendor_id_NONE := avp_code_BASE_NONE_Error_Message }; const AVP_Code c_AVP_Code_AAA_3GPP_SRES := { vendor_id_3GPP := avp_code_AAA_3GPP_SRES }; +const AVP_Code c_AVP_Code_DNAS_NONE_NAS_Port_Type := { + vendor_id_NONE := avp_code_DNAS_NONE_NAS_Port_Type }; const AVP_Code c_AVP_Code_AAA_3GPP_Item_Number := { vendor_id_3GPP := avp_code_AAA_3GPP_Item_Number }; +const AVP_Code c_AVP_Code_DCC_NONE_Multiple_Services_Indicator := { + vendor_id_NONE := avp_code_DCC_NONE_Multiple_Services_Indicator }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_Protocol := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_Protocol }; const AVP_Code c_AVP_Code_S6_3GPP_Service_ID := { vendor_id_3GPP := avp_code_S6_3GPP_Service_ID }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_IMSI_MCC_MNC := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_IMSI_MCC_MNC }; const AVP_Code c_AVP_Code_RX_3GPP_Abort_Cause := { vendor_id_3GPP := avp_code_RX_3GPP_Abort_Cause }; const AVP_Code c_AVP_Code_PCC_3GPP_Charging_Rule_Base_Name := { @@ -5795,8 +8136,14 @@ vendor_id_3GPP := avp_code_S6_3GPP_S6t_HSS_Cause }; const AVP_Code c_AVP_Code_RX_3GPP_AF_Requested_Data := { vendor_id_3GPP := avp_code_RX_3GPP_AF_Requested_Data }; +const AVP_Code c_AVP_Code_DNAS_NONE_Filter_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_Filter_Id }; +const AVP_Code c_AVP_Code_DNAS_NONE_ARAP_Password := { + vendor_id_NONE := avp_code_DNAS_NONE_ARAP_Password }; const AVP_Code c_AVP_Code_PCC_3GPP_QoS_Rule_Report := { vendor_id_3GPP := avp_code_PCC_3GPP_QoS_Rule_Report }; +const AVP_Code c_AVP_Code_DNAS_NONE_CHAP_Response := { + vendor_id_NONE := avp_code_DNAS_NONE_CHAP_Response }; const AVP_Code c_AVP_Code_S6_3GPP_Stationary_Indication := { vendor_id_3GPP := avp_code_S6_3GPP_Stationary_Indication }; const AVP_Code c_AVP_Code_PCC_3GPP_Traffic_Steering_Policy_Identifier_DL := { @@ -5807,10 +8154,26 @@ vendor_id_3GPP := avp_code_PCC_3GPP_Extended_GBR_UL }; const AVP_Code c_AVP_Code_AAA_3GPP_MBSFN_Area_ID := { vendor_id_3GPP := avp_code_AAA_3GPP_MBSFN_Area_ID }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Server_Capabilities := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Server_Capabilities }; const AVP_Code c_AVP_Code_AAA_3GPP_Area_Scope := { vendor_id_3GPP := avp_code_AAA_3GPP_Area_Scope }; +const AVP_Code c_AVP_Code_DNAS_NONE_Accounting_Input_Packets := { + vendor_id_NONE := avp_code_DNAS_NONE_Accounting_Input_Packets }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SCSCF_Restoration_Info := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SCSCF_Restoration_Info }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Initial_CSeq_Sequence_Number := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Initial_CSeq_Sequence_Number }; const AVP_Code c_AVP_Code_AAA_3GPP_PUA_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_PUA_Flags }; +const AVP_Code c_AVP_Code_DNAS_NONE_Callback_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_Callback_Id }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Primary_Event_Charging_Function_Name := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Primary_Event_Charging_Function_Name }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Output_Octets := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Output_Octets }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_User_Location_Info := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_User_Location_Info }; const AVP_Code c_AVP_Code_AAA_3GPP_Notification_To_UE_User := { vendor_id_3GPP := avp_code_AAA_3GPP_Notification_To_UE_User }; const AVP_Code c_AVP_Code_AAA_3GPP_Visited_PLMN_Id := { @@ -5821,6 +8184,8 @@ vendor_id_3GPP := avp_code_RX_3GPP_Codec_Data }; const AVP_Code c_AVP_Code_S6_3GPP_Monitoring_Event_Config_Status := { vendor_id_3GPP := avp_code_S6_3GPP_Monitoring_Event_Config_Status }; +const AVP_Code c_AVP_Code_DCC_NONE_Cost_Information := { + vendor_id_NONE := avp_code_DCC_NONE_Cost_Information }; const AVP_Code c_AVP_Code_BASE_NONE_Error_Reporting_Host := { vendor_id_NONE := avp_code_BASE_NONE_Error_Reporting_Host }; const AVP_Code c_AVP_Code_PCC_3GPP_Rule_Activation_Time := { @@ -5835,6 +8200,10 @@ vendor_id_3GPP := avp_code_S6_3GPP_Monitoring_Event_Configuration }; const AVP_Code c_AVP_Code_PCC_3GPP_Offline := { vendor_id_3GPP := avp_code_PCC_3GPP_Offline }; +const AVP_Code c_AVP_Code_DNAS_NONE_Login_Service := { + vendor_id_NONE := avp_code_DNAS_NONE_Login_Service }; +const AVP_Code c_AVP_Code_DNAS_NONE_ARAP_Security_Data := { + vendor_id_NONE := avp_code_DNAS_NONE_ARAP_Security_Data }; const AVP_Code c_AVP_Code_AAA_3GPP_Additional_Context_ID := { vendor_id_3GPP := avp_code_AAA_3GPP_Additional_Context_ID }; const AVP_Code c_AVP_Code_PCC_3GPP_ADC_Rule_Definition := { @@ -5851,16 +8220,30 @@ vendor_id_3GPP := avp_code_AAA_3GPP_SMS_Register_Request }; const AVP_Code c_AVP_Code_PCC_3GPP_Packet_Filter_Content := { vendor_id_3GPP := avp_code_PCC_3GPP_Packet_Filter_Content }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Subscription_Info := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Subscription_Info }; const AVP_Code c_AVP_Code_AAA_3GPP_APN_Configuration := { vendor_id_3GPP := avp_code_AAA_3GPP_APN_Configuration }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SIP_Number_Auth_Items := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SIP_Number_Auth_Items }; const AVP_Code c_AVP_Code_AAA_3GPP_OMC_Id := { vendor_id_3GPP := avp_code_AAA_3GPP_OMC_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_GMLC_Restriction := { vendor_id_3GPP := avp_code_AAA_3GPP_GMLC_Restriction }; +const AVP_Code c_AVP_Code_DNAS_NONE_State := { + vendor_id_NONE := avp_code_DNAS_NONE_State }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Preference := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Preference }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Session_Failover := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Session_Failover }; const AVP_Code c_AVP_Code_AAA_3GPP_Regional_Subscription_Zone_Code := { vendor_id_3GPP := avp_code_AAA_3GPP_Regional_Subscription_Zone_Code }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_Negotiated_DSCP := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_Negotiated_DSCP }; const AVP_Code c_AVP_Code_BASE_NONE_Proxy_State := { vendor_id_NONE := avp_code_BASE_NONE_Proxy_State }; +const AVP_Code c_AVP_Code_DCC_NONE_Credit_Control_Failure_Handling := { + vendor_id_NONE := avp_code_DCC_NONE_Credit_Control_Failure_Handling }; const AVP_Code c_AVP_Code_S6_3GPP_SIR_Flags := { vendor_id_3GPP := avp_code_S6_3GPP_SIR_Flags }; const AVP_Code c_AVP_Code_RX_3GPP_MPS_Identifier := { @@ -5885,6 +8268,8 @@ vendor_id_3GPP := avp_code_PCC_3GPP_Monitoring_Flags }; const AVP_Code c_AVP_Code_BASE_NONE_Redirect_Max_Cache_Time := { vendor_id_NONE := avp_code_BASE_NONE_Redirect_Max_Cache_Time }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Feature_List := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Feature_List }; const AVP_Code c_AVP_Code_PCC_3GPP_TCP_Source_Port := { vendor_id_3GPP := avp_code_PCC_3GPP_TCP_Source_Port }; const AVP_Code c_AVP_Code_PCC_3GPP_Application_Detection_Information := { @@ -5893,8 +8278,18 @@ vendor_id_3GPP := avp_code_AAA_3GPP_Emergency_Info }; const AVP_Code c_AVP_Code_AAA_3GPP_MPS_Priority := { vendor_id_3GPP := avp_code_AAA_3GPP_MPS_Priority }; +const AVP_Code c_AVP_Code_DCC_NONE_Requested_Action := { + vendor_id_NONE := avp_code_DCC_NONE_Requested_Action }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Record_Route := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Record_Route }; const AVP_Code c_AVP_Code_AAA_3GPP_Alert_Reason := { vendor_id_3GPP := avp_code_AAA_3GPP_Alert_Reason }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_CG_IPv6_Address := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_CG_IPv6_Address }; +const AVP_Code c_AVP_Code_DNAS_NONE_Idle_Timeout := { + vendor_id_NONE := avp_code_DNAS_NONE_Idle_Timeout }; +const AVP_Code c_AVP_Code_DNAS_NONE_NAS_Port_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_NAS_Port_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_MO_LR := { vendor_id_3GPP := avp_code_AAA_3GPP_MO_LR }; const AVP_Code c_AVP_Code_BASE_NONE_Host_IP_Address := { @@ -5907,6 +8302,10 @@ vendor_id_3GPP := avp_code_S6_3GPP_Maximum_Response_Time }; const AVP_Code c_AVP_Code_RX_3GPP_Sponsor_Identity := { vendor_id_3GPP := avp_code_RX_3GPP_Sponsor_Identity }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_Appletalk_Link := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_Appletalk_Link }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_Interface_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_Interface_Id }; const AVP_Code c_AVP_Code_PCC_3GPP_CoA_IP_Address := { vendor_id_3GPP := avp_code_PCC_3GPP_CoA_IP_Address }; const AVP_Code c_AVP_Code_PCC_3GPP_Default_QoS_Information := { @@ -5925,6 +8324,10 @@ vendor_id_NONE := avp_code_BASE_NONE_Vendor_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_PDN_Connection_Continuity := { vendor_id_3GPP := avp_code_AAA_3GPP_PDN_Connection_Continuity }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Wildcarded_Public_Identity := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Wildcarded_Public_Identity }; +const AVP_Code c_AVP_Code_DNAS_NONE_Acct_Session_Time := { + vendor_id_NONE := avp_code_DNAS_NONE_Acct_Session_Time }; const AVP_Code c_AVP_Code_AAA_3GPP_DSA_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_DSA_Flags }; const AVP_Code c_AVP_Code_AAA_3GPP_Trace_Data := { @@ -5933,16 +8336,24 @@ vendor_id_3GPP := avp_code_AAA_3GPP_LCS_Info }; const AVP_Code c_AVP_Code_AAA_3GPP_PDN_GW_Allocation_Type := { vendor_id_3GPP := avp_code_AAA_3GPP_PDN_GW_Allocation_Type }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_SGSN_MCC_MNC := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_SGSN_MCC_MNC }; const AVP_Code c_AVP_Code_BASE_NONE_Event_Timestamp := { vendor_id_NONE := avp_code_BASE_NONE_Event_Timestamp }; +const AVP_Code c_AVP_Code_DCC_NONE_Final_Unit_Action := { + vendor_id_NONE := avp_code_DCC_NONE_Final_Unit_Action }; const AVP_Code c_AVP_Code_RX_3GPP_Extended_Max_Requested_BW_UL := { vendor_id_3GPP := avp_code_RX_3GPP_Extended_Max_Requested_BW_UL }; const AVP_Code c_AVP_Code_S6_3GPP_User_Identifier := { vendor_id_3GPP := avp_code_S6_3GPP_User_Identifier }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_IPv6_Pool := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_IPv6_Pool }; const AVP_Code c_AVP_Code_PCC_3GPP_QoS_Rule_Base_Name := { vendor_id_3GPP := avp_code_PCC_3GPP_QoS_Rule_Base_Name }; const AVP_Code c_AVP_Code_AAA_3GPP_Restoration_Priority := { vendor_id_3GPP := avp_code_AAA_3GPP_Restoration_Priority }; +const AVP_Code c_AVP_Code_DCC_NONE_Rating_Group := { + vendor_id_NONE := avp_code_DCC_NONE_Rating_Group }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_MN_HA_SPI := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP_MN_HA_SPI }; const AVP_Code c_AVP_Code_S6_3GPP_Association_Type := { @@ -5955,6 +8366,10 @@ vendor_id_3GPP := avp_code_AAA_3GPP_Report_Amount }; const AVP_Code c_AVP_Code_PCC_3GPP_CoA_Information := { vendor_id_3GPP := avp_code_PCC_3GPP_CoA_Information }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Secondary_Charging_Collection_Function_Name := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Secondary_Charging_Collection_Function_Name }; +const AVP_Code c_AVP_Code_DCC_NONE_User_Equipment_Info := { + vendor_id_NONE := avp_code_DCC_NONE_User_Equipment_Info }; const AVP_Code c_AVP_Code_AAA_3GPP_A_MSISDN := { vendor_id_3GPP := avp_code_AAA_3GPP_A_MSISDN }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_Mobile_Node_Address := { @@ -5967,28 +8382,40 @@ vendor_id_3GPP := avp_code_AAA_3GPP_AIR_Flags }; const AVP_Code c_AVP_Code_AAA_3GPP_Geographical_Information := { vendor_id_3GPP := avp_code_AAA_3GPP_Geographical_Information }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Loose_Route_Indication := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Loose_Route_Indication }; +const AVP_Code c_AVP_Code_DCC_NONE_Service_Parameter_Type := { + vendor_id_NONE := avp_code_DCC_NONE_Service_Parameter_Type }; const AVP_Code c_AVP_Code_AAA_3GPP_MME_User_State := { vendor_id_3GPP := avp_code_AAA_3GPP_MME_User_State }; const AVP_Code c_AVP_Code_AAA_3GPP_Access_Restriction_Data := { vendor_id_3GPP := avp_code_AAA_3GPP_Access_Restriction_Data }; const AVP_Code c_AVP_Code_BASE_NONE_Failed_AVP := { vendor_id_NONE := avp_code_BASE_NONE_Failed_AVP }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_RAT_Type := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_RAT_Type }; const AVP_Code c_AVP_Code_AAA_3GPP_SS_Status := { vendor_id_3GPP := avp_code_AAA_3GPP_SS_Status }; const AVP_Code c_AVP_Code_S6_3GPP_NIDD_Authorization_Update := { vendor_id_3GPP := avp_code_S6_3GPP_NIDD_Authorization_Update }; +const AVP_Code c_AVP_Code_DCC_NONE_Subscription_Id_Type := { + vendor_id_NONE := avp_code_DCC_NONE_Subscription_Id_Type }; const AVP_Code c_AVP_Code_PCC_3GPP_Packet_Filter_Operation := { vendor_id_3GPP := avp_code_PCC_3GPP_Packet_Filter_Operation }; const AVP_Code c_AVP_Code_S6_3GPP_SCEF_Reference_ID_for_Deletion := { vendor_id_3GPP := avp_code_S6_3GPP_SCEF_Reference_ID_for_Deletion }; const AVP_Code c_AVP_Code_RX_3GPP_SIP_Forking_Indication := { vendor_id_3GPP := avp_code_RX_3GPP_SIP_Forking_Indication }; +const AVP_Code c_AVP_Code_DNAS_NONE_User_Password := { + vendor_id_NONE := avp_code_DNAS_NONE_User_Password }; const AVP_Code c_AVP_Code_S6_3GPP_IMEI_Change := { vendor_id_3GPP := avp_code_S6_3GPP_IMEI_Change }; const AVP_Code c_AVP_Code_PCC_3GPP_IP_CAN_Type := { vendor_id_3GPP := avp_code_PCC_3GPP_IP_CAN_Type }; const AVP_Code c_AVP_Code_RX_3GPP_Extended_Min_Desired_BW_UL := { vendor_id_3GPP := avp_code_RX_3GPP_Extended_Min_Desired_BW_UL }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SIP_Authorization := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SIP_Authorization }; const AVP_Code c_AVP_Code_PCC_3GPP_Revalidation_Time := { vendor_id_3GPP := avp_code_PCC_3GPP_Revalidation_Time }; const AVP_Code c_AVP_Code_AAA_3GPP_Logging_Interval := { @@ -6001,16 +8428,32 @@ vendor_id_3GPP := avp_code_PCC_3GPP_Routing_Filter }; const AVP_Code c_AVP_Code_PCC_3GPP_Metering_Method := { vendor_id_3GPP := avp_code_PCC_3GPP_Metering_Method }; +const AVP_Code c_AVP_Code_DNAS_NONE_Acct_Tunnel_Connection := { + vendor_id_NONE := avp_code_DNAS_NONE_Acct_Tunnel_Connection }; const AVP_Code c_AVP_Code_AAA_3GPP_Non_IP_Data_Delivery_Mechanism := { vendor_id_3GPP := avp_code_AAA_3GPP_Non_IP_Data_Delivery_Mechanism }; +const AVP_Code c_AVP_Code_DNAS_NONE_NAS_Filter_Rule := { + vendor_id_NONE := avp_code_DNAS_NONE_NAS_Filter_Rule }; const AVP_Code c_AVP_Code_BASE_NONE_Session_Server_Failover := { vendor_id_NONE := avp_code_BASE_NONE_Session_Server_Failover }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Integrity_Key := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Integrity_Key }; const AVP_Code c_AVP_Code_AAA_3GPP_E_UTRAN_Vector := { vendor_id_3GPP := avp_code_AAA_3GPP_E_UTRAN_Vector }; const AVP_Code c_AVP_Code_BASE_NONE_Experimental_Result := { vendor_id_NONE := avp_code_BASE_NONE_Experimental_Result }; +const AVP_Code c_AVP_Code_DNAS_NONE_Acct_Link_Count := { + vendor_id_NONE := avp_code_DNAS_NONE_Acct_Link_Count }; +const AVP_Code c_AVP_Code_DCC_NONE_Unit_Value := { + vendor_id_NONE := avp_code_DCC_NONE_Unit_Value }; const AVP_Code c_AVP_Code_AAA_3GPP_Trace_Event_List := { vendor_id_3GPP := avp_code_AAA_3GPP_Trace_Event_List }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_PDP_Type := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_PDP_Type }; +const AVP_Code c_AVP_Code_DNAS_NONE_Reply_Message := { + vendor_id_NONE := avp_code_DNAS_NONE_Reply_Message }; +const AVP_Code c_AVP_Code_DNAS_NONE_Connect_Info := { + vendor_id_NONE := avp_code_DNAS_NONE_Connect_Info }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_Replay_Mode := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP_Replay_Mode }; const AVP_Code c_AVP_Code_BASE_NONE_Proxy_Host := { @@ -6019,12 +8462,18 @@ vendor_id_3GPP := avp_code_S6_3GPP_Communication_Pattern_Set }; const AVP_Code c_AVP_Code_RX_3GPP_Flow_Status := { vendor_id_3GPP := avp_code_RX_3GPP_Flow_Status }; +const AVP_Code c_AVP_Code_DNAS_NONE_CHAP_Challenge := { + vendor_id_NONE := avp_code_DNAS_NONE_CHAP_Challenge }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Unit_Type := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Unit_Type }; const AVP_Code c_AVP_Code_RX_3GPP_MCPTT_Identifier := { vendor_id_3GPP := avp_code_RX_3GPP_MCPTT_Identifier }; const AVP_Code c_AVP_Code_S6_3GPP_Group_Monitoring_Event_Report := { vendor_id_3GPP := avp_code_S6_3GPP_Group_Monitoring_Event_Report }; const AVP_Code c_AVP_Code_PCC_3GPP_QoS_Upgrade := { vendor_id_3GPP := avp_code_PCC_3GPP_QoS_Upgrade }; +const AVP_Code c_AVP_Code_DNAS_NONE_Service_Type := { + vendor_id_NONE := avp_code_DNAS_NONE_Service_Type }; const AVP_Code c_AVP_Code_PCC_3GPP_AN_GW_Status := { vendor_id_3GPP := avp_code_PCC_3GPP_AN_GW_Status }; const AVP_Code c_AVP_Code_AAA_3GPP_Measurement_Period_UMTS := { @@ -6037,26 +8486,40 @@ vendor_id_3GPP := avp_code_AAA_3GPP_Reset_ID }; const AVP_Code c_AVP_Code_PCC_3GPP_Routing_Rule_Install := { vendor_id_3GPP := avp_code_PCC_3GPP_Routing_Rule_Install }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Server_Assignment_Type := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Server_Assignment_Type }; const AVP_Code c_AVP_Code_AAA_3GPP_PUR_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_PUR_Flags }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_Routing := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_Routing }; const AVP_Code c_AVP_Code_PCC_3GPP_IP_CAN_Session_Charging_Scope := { vendor_id_3GPP := avp_code_PCC_3GPP_IP_CAN_Session_Charging_Scope }; const AVP_Code c_AVP_Code_AAA_3GPP_IMEI := { vendor_id_3GPP := avp_code_AAA_3GPP_IMEI }; +const AVP_Code c_AVP_Code_DNAS_NONE_CHAP_Ident := { + vendor_id_NONE := avp_code_DNAS_NONE_CHAP_Ident }; const AVP_Code c_AVP_Code_AAA_3GPP_Kc := { vendor_id_3GPP := avp_code_AAA_3GPP_Kc }; const AVP_Code c_AVP_Code_AAA_3GPP_SGSN_Number := { vendor_id_3GPP := avp_code_AAA_3GPP_SGSN_Number }; const AVP_Code c_AVP_Code_AAA_3GPP_HPLMN_ODB := { vendor_id_3GPP := avp_code_AAA_3GPP_HPLMN_ODB }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_Charging_Characteristics := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_Charging_Characteristics }; const AVP_Code c_AVP_Code_AAA_3GPP_PDP_Context := { vendor_id_3GPP := avp_code_AAA_3GPP_PDP_Context }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Money := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Money }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_GGSN_Address := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_GGSN_Address }; const AVP_Code c_AVP_Code_BASE_NONE_Proxy_Info := { vendor_id_NONE := avp_code_BASE_NONE_Proxy_Info }; const AVP_Code c_AVP_Code_S6_3GPP_Node_Type := { vendor_id_3GPP := avp_code_S6_3GPP_Node_Type }; const AVP_Code c_AVP_Code_RX_3GPP_Priority_Sharing_Indicator := { vendor_id_3GPP := avp_code_RX_3GPP_Priority_Sharing_Indicator }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Type := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Type }; const AVP_Code c_AVP_Code_PCC_3GPP_QoS_Rule_Name := { vendor_id_3GPP := avp_code_PCC_3GPP_QoS_Rule_Name }; const AVP_Code c_AVP_Code_S6_3GPP_Scheduled_Communication_Time := { @@ -6071,6 +8534,10 @@ vendor_id_3GPP := avp_code_PCC_3GPP_Extended_GBR_DL }; const AVP_Code c_AVP_Code_AAA_3GPP_MBSFN_Area := { vendor_id_3GPP := avp_code_AAA_3GPP_MBSFN_Area }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Server_Name := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Server_Name }; +const AVP_Code c_AVP_Code_DCC_NONE_Check_Balance_Result := { + vendor_id_NONE := avp_code_DCC_NONE_Check_Balance_Result }; const AVP_Code c_AVP_Code_S6_3GPP_APN_Validity_Time := { vendor_id_3GPP := avp_code_S6_3GPP_APN_Validity_Time }; const AVP_Code c_AVP_Code_AAA_3GPP_Job_Type := { @@ -6081,16 +8548,32 @@ vendor_id_NONE := avp_code_BASE_NONE_Destination_Host }; const AVP_Code c_AVP_Code_AAA_3GPP_Positioning_Method := { vendor_id_3GPP := avp_code_AAA_3GPP_Positioning_Method }; +const AVP_Code c_AVP_Code_CxDx_3GPP_LIA_Flags := { + vendor_id_3GPP := avp_code_CxDx_3GPP_LIA_Flags }; const AVP_Code c_AVP_Code_AAA_3GPP_DL_Buffering_Suggested_Packet_Count := { vendor_id_3GPP := avp_code_AAA_3GPP_DL_Buffering_Suggested_Packet_Count }; +const AVP_Code c_AVP_Code_DNAS_NONE_Login_IP_Host := { + vendor_id_NONE := avp_code_DNAS_NONE_Login_IP_Host }; +const AVP_Code c_AVP_Code_DNAS_NONE_ARAP_Security := { + vendor_id_NONE := avp_code_DNAS_NONE_ARAP_Security }; const AVP_Code c_AVP_Code_AAA_3GPP_IDA_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_IDA_Flags }; +const AVP_Code c_AVP_Code_DNAS_NONE_Origin_AAA_Protocol := { + vendor_id_NONE := avp_code_DNAS_NONE_Origin_AAA_Protocol }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Charging_Information := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Charging_Information }; const AVP_Code c_AVP_Code_AAA_3GPP_ULA_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_ULA_Flags }; const AVP_Code c_AVP_Code_AAA_3GPP_IMS_Voice_Over_PS_Sessions_Supported := { vendor_id_3GPP := avp_code_AAA_3GPP_IMS_Voice_Over_PS_Sessions_Supported }; const AVP_Code c_AVP_Code_AAA_3GPP_Roaming_Restricted_Due_To_Unsupported_Feature := { vendor_id_3GPP := avp_code_AAA_3GPP_Roaming_Restricted_Due_To_Unsupported_Feature }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Assignment_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Assignment_Id }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_IPX_Network := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_IPX_Network }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Service_Specific_Units := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Service_Specific_Units }; const AVP_Code c_AVP_Code_S6_3GPP_T4_Parameters := { vendor_id_3GPP := avp_code_S6_3GPP_T4_Parameters }; const AVP_Code c_AVP_Code_RX_3GPP_Access_Network_Charging_Identifier_Value := { @@ -6111,14 +8594,24 @@ vendor_id_3GPP := avp_code_RX_3GPP_Extended_Max_Requested_BW_DL }; const AVP_Code c_AVP_Code_PCC_3GPP_Flow_Information := { vendor_id_3GPP := avp_code_PCC_3GPP_Flow_Information }; +const AVP_Code c_AVP_Code_DNAS_NONE_NAS_Identifier := { + vendor_id_NONE := avp_code_DNAS_NONE_NAS_Identifier }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Server_Auth_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Server_Auth_Id }; const AVP_Code c_AVP_Code_PCC_3GPP_Execution_Time := { vendor_id_3GPP := avp_code_PCC_3GPP_Execution_Time }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Contact := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Contact }; +const AVP_Code c_AVP_Code_DCC_NONE_Credit_Control := { + vendor_id_NONE := avp_code_DCC_NONE_Credit_Control }; const AVP_Code c_AVP_Code_BASE_NONE_Accounting_Record_Number := { vendor_id_NONE := avp_code_BASE_NONE_Accounting_Record_Number }; const AVP_Code c_AVP_Code_AAA_3GPP_Event_Threshold_Event_1I := { vendor_id_3GPP := avp_code_AAA_3GPP_Event_Threshold_Event_1I }; const AVP_Code c_AVP_Code_PCC_3GPP_Charging_Correlation_Indicator := { vendor_id_3GPP := avp_code_PCC_3GPP_Charging_Correlation_Indicator }; +const AVP_Code c_AVP_Code_CxDx_3GPP_User_Data := { + vendor_id_3GPP := avp_code_CxDx_3GPP_User_Data }; const AVP_Code c_AVP_Code_AAA_3GPP_Report_Interval := { vendor_id_3GPP := avp_code_AAA_3GPP_Report_Interval }; const AVP_Code c_AVP_Code_PCC_3GPP_RAN_NAS_Release_Cause := { @@ -6129,10 +8622,16 @@ vendor_id_NONE := avp_code_BASE_NONE_Redirect_Host_Usage }; const AVP_Code c_AVP_Code_AAA_3GPP_Equipment_Status := { vendor_id_3GPP := avp_code_AAA_3GPP_Equipment_Status }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_Packet_Filter := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_Packet_Filter }; +const AVP_Code c_AVP_Code_DCC_NONE_Redirect_Server_Address := { + vendor_id_NONE := avp_code_DCC_NONE_Redirect_Server_Address }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP6_Auth_Mode := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP6_Auth_Mode }; const AVP_Code c_AVP_Code_AAA_3GPP_EPS_Location_Information := { vendor_id_3GPP := avp_code_AAA_3GPP_EPS_Location_Information }; +const AVP_Code c_AVP_Code_DNAS_NONE_Acct_Tunnel_Packets_Lost := { + vendor_id_NONE := avp_code_DNAS_NONE_Acct_Tunnel_Packets_Lost }; const AVP_Code c_AVP_Code_BASE_NONE_Session_Timeout := { vendor_id_NONE := avp_code_BASE_NONE_Session_Timeout }; const AVP_Code c_AVP_Code_RX_3GPP_Service_Info_Status := { @@ -6165,8 +8664,16 @@ vendor_id_3GPP := avp_code_AAA_3GPP_UE_SRVCC_Capability }; const AVP_Code c_AVP_Code_PCC_3GPP_Guaranteed_Bitrate_UL := { vendor_id_3GPP := avp_code_PCC_3GPP_Guaranteed_Bitrate_UL }; +const AVP_Code c_AVP_Code_DNAS_NONE_NAS_IPv6_Address := { + vendor_id_NONE := avp_code_DNAS_NONE_NAS_IPv6_Address }; +const AVP_Code c_AVP_Code_DNAS_NONE_Login_LAT_Group := { + vendor_id_NONE := avp_code_DNAS_NONE_Login_LAT_Group }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_MAC_Mobility_Data := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP_MAC_Mobility_Data }; +const AVP_Code c_AVP_Code_DNAS_NONE_Accounting_Output_Octets := { + vendor_id_NONE := avp_code_DNAS_NONE_Accounting_Output_Octets }; +const AVP_Code c_AVP_Code_CxDx_3GPP_To_SIP_Header := { + vendor_id_3GPP := avp_code_CxDx_3GPP_To_SIP_Header }; const AVP_Code c_AVP_Code_AAA_3GPP_Coupled_Node_Diameter_ID := { vendor_id_3GPP := avp_code_AAA_3GPP_Coupled_Node_Diameter_ID }; const AVP_Code c_AVP_Code_AAA_3GPP_STN_SR := { @@ -6175,8 +8682,14 @@ vendor_id_NONE := avp_code_BASE_NONE_Supported_Vendor_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_ServiceTypeIdentity := { vendor_id_3GPP := avp_code_AAA_3GPP_ServiceTypeIdentity }; +const AVP_Code c_AVP_Code_DNAS_NONE_Acct_Authentic := { + vendor_id_NONE := avp_code_DNAS_NONE_Acct_Authentic }; +const AVP_Code c_AVP_Code_DCC_NONE_Service_Identifier := { + vendor_id_NONE := avp_code_DCC_NONE_Service_Identifier }; const AVP_Code c_AVP_Code_AAA_3GPP_AUTN := { vendor_id_3GPP := avp_code_AAA_3GPP_AUTN }; +const AVP_Code c_AVP_Code_GI_3GPP_TWAN_Identifier := { + vendor_id_3GPP := avp_code_GI_3GPP_TWAN_Identifier }; const AVP_Code c_AVP_Code_RX_3GPP_Sponsored_Connectivity_Data := { vendor_id_3GPP := avp_code_RX_3GPP_Sponsored_Connectivity_Data }; const AVP_Code c_AVP_Code_BASE_NONE_Auth_Request_Type := { @@ -6185,6 +8698,8 @@ vendor_id_3GPP := avp_code_S6_3GPP_AESE_Communication_Pattern }; const AVP_Code c_AVP_Code_PCC_3GPP_NBIFOM_Mode := { vendor_id_3GPP := avp_code_PCC_3GPP_NBIFOM_Mode }; +const AVP_Code c_AVP_Code_DCC_NONE_Validity_Time := { + vendor_id_NONE := avp_code_DCC_NONE_Validity_Time }; const AVP_Code c_AVP_Code_PCC_3GPP_Redirect_Information := { vendor_id_3GPP := avp_code_PCC_3GPP_Redirect_Information }; const AVP_Code c_AVP_Code_S6_3GPP_Event_Handling := { @@ -6197,14 +8712,20 @@ vendor_id_3GPP := avp_code_RX_3GPP_Min_Desired_Bandwidth_UL }; const AVP_Code c_AVP_Code_AAA_3GPP_UVR_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_UVR_Flags }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Originating_Request := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Originating_Request }; const AVP_Code c_AVP_Code_AAA_3GPP_Subscription_Data_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_Subscription_Data_Flags }; const AVP_Code c_AVP_Code_PCC_3GPP_PDN_Connection_ID := { vendor_id_3GPP := avp_code_PCC_3GPP_PDN_Connection_ID }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_IPv6_Route := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_IPv6_Route }; const AVP_Code c_AVP_Code_AAA_3GPP_DSR_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_DSR_Flags }; const AVP_Code c_AVP_Code_PCC_3GPP_PRA_Remove := { vendor_id_3GPP := avp_code_PCC_3GPP_PRA_Remove }; +const AVP_Code c_AVP_Code_DCC_NONE_Granted_Service_Unit := { + vendor_id_NONE := avp_code_DCC_NONE_Granted_Service_Unit }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_Timestamp := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP_Timestamp }; const AVP_Code c_AVP_Code_AAA_3GPP_Subscribed_Periodic_RAU_TAU_Timer := { @@ -6213,12 +8734,20 @@ vendor_id_3GPP := avp_code_AAA_3GPP_Specific_APN_Info }; const AVP_Code c_AVP_Code_AAA_3GPP_Terminal_Information := { vendor_id_3GPP := avp_code_AAA_3GPP_Terminal_Information }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Restoration_Info := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Restoration_Info }; const AVP_Code c_AVP_Code_BASE_NONE_Product_Name := { vendor_id_NONE := avp_code_BASE_NONE_Product_Name }; const AVP_Code c_AVP_Code_AAA_3GPP_CSG_Id := { vendor_id_3GPP := avp_code_AAA_3GPP_CSG_Id }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_IP_Netmask := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_IP_Netmask }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_IPv6_DNS_Servers := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_IPv6_DNS_Servers }; const AVP_Code c_AVP_Code_AAA_3GPP_Call_Barring_Info := { vendor_id_3GPP := avp_code_AAA_3GPP_Call_Barring_Info }; +const AVP_Code c_AVP_Code_DCC_NONE_Service_Parameter_Info := { + vendor_id_NONE := avp_code_DCC_NONE_Service_Parameter_Info }; const AVP_Code c_AVP_Code_BASE_NONE_Origin_State_Id := { vendor_id_NONE := avp_code_BASE_NONE_Origin_State_Id }; const AVP_Code c_AVP_Code_S6_3GPP_IP_SM_GW_Name := { @@ -6235,6 +8764,8 @@ vendor_id_3GPP := avp_code_S6_3GPP_Service_Report }; const AVP_Code c_AVP_Code_PCC_3GPP_Tunnel_Information := { vendor_id_3GPP := avp_code_PCC_3GPP_Tunnel_Information }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Primary_Charging_Collection_Function_Name := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Primary_Charging_Collection_Function_Name }; const AVP_Code c_AVP_Code_AAA_3GPP_Time_Zone := { vendor_id_3GPP := avp_code_AAA_3GPP_Time_Zone }; const AVP_Code c_AVP_Code_PCC_3GPP_QoS_Rule_Definition := { @@ -6255,18 +8786,30 @@ vendor_id_NONE := avp_code_BASE_NONE_User_Name }; const AVP_Code c_AVP_Code_AAA_3GPP_UE_PC5_AMBR := { vendor_id_3GPP := avp_code_AAA_3GPP_UE_PC5_AMBR }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Public_Identity := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Public_Identity }; const AVP_Code c_AVP_Code_BASE_NONE_Accounting_Sub_Session_Id := { vendor_id_NONE := avp_code_BASE_NONE_Accounting_Sub_Session_Id }; +const AVP_Code c_AVP_Code_DNAS_NONE_Acct_Delay_Time := { + vendor_id_NONE := avp_code_DNAS_NONE_Acct_Delay_Time }; +const AVP_Code c_AVP_Code_CxDx_3GPP_UAR_Flags := { + vendor_id_3GPP := avp_code_CxDx_3GPP_UAR_Flags }; const AVP_Code c_AVP_Code_AAA_3GPP_Collection_Period_RRM_UMTS := { vendor_id_3GPP := avp_code_AAA_3GPP_Collection_Period_RRM_UMTS }; const AVP_Code c_AVP_Code_AAA_3GPP_Operator_Determined_Barring := { vendor_id_3GPP := avp_code_AAA_3GPP_Operator_Determined_Barring }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Server_Endpoint := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Server_Endpoint }; const AVP_Code c_AVP_Code_BASE_NONE_Session_Binding := { vendor_id_NONE := avp_code_BASE_NONE_Session_Binding }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_IMEISV := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_IMEISV }; const AVP_Code c_AVP_Code_AAA_3GPP_SS_Code := { vendor_id_3GPP := avp_code_AAA_3GPP_SS_Code }; const AVP_Code c_AVP_Code_BASE_NONE_Acct_Multi_Session_Id := { vendor_id_NONE := avp_code_BASE_NONE_Acct_Multi_Session_Id }; +const AVP_Code c_AVP_Code_DCC_NONE_Subscription_Id_Data := { + vendor_id_NONE := avp_code_DCC_NONE_Subscription_Id_Data }; const AVP_Code c_AVP_Code_RX_3GPP_RS_Bandwidth := { vendor_id_3GPP := avp_code_RX_3GPP_RS_Bandwidth }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_Algorithm_Type := { @@ -6291,18 +8834,30 @@ vendor_id_3GPP := avp_code_RX_3GPP_GCS_Identifier }; const AVP_Code c_AVP_Code_MIPv6_NONE_QoS_Capability := { vendor_id_NONE := avp_code_MIPv6_NONE_QoS_Capability }; +const AVP_Code c_AVP_Code_DCC_NONE_G_S_U_Pool_Identifier := { + vendor_id_NONE := avp_code_DCC_NONE_G_S_U_Pool_Identifier }; const AVP_Code c_AVP_Code_AAA_3GPP_Non_IP_PDN_Type_Indicator := { vendor_id_3GPP := avp_code_AAA_3GPP_Non_IP_PDN_Type_Indicator }; const AVP_Code c_AVP_Code_PCC_3GPP_ADC_Rule_Install := { vendor_id_3GPP := avp_code_PCC_3GPP_ADC_Rule_Install }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Confidentiality_Key := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Confidentiality_Key }; const AVP_Code c_AVP_Code_PCC_3GPP_Flow_Label := { vendor_id_3GPP := avp_code_PCC_3GPP_Flow_Label }; +const AVP_Code c_AVP_Code_DNAS_NONE_NAS_Port := { + vendor_id_NONE := avp_code_DNAS_NONE_NAS_Port }; const AVP_Code c_AVP_Code_AAA_3GPP_Authentication_Info := { vendor_id_3GPP := avp_code_AAA_3GPP_Authentication_Info }; const AVP_Code c_AVP_Code_AAA_3GPP_Trace_Interface_List := { vendor_id_3GPP := avp_code_AAA_3GPP_Trace_Interface_List }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_Charging_Id := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_Charging_Id }; +const AVP_Code c_AVP_Code_DNAS_NONE_CHAP_Algorithm := { + vendor_id_NONE := avp_code_DNAS_NONE_CHAP_Algorithm }; const AVP_Code c_AVP_Code_AAA_3GPP_APN_Configuration_Profile := { vendor_id_3GPP := avp_code_AAA_3GPP_APN_Configuration_Profile }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_CAMEL_Charging_Info := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_CAMEL_Charging_Info }; const AVP_Code c_AVP_Code_RX_3GPP_Flows := { vendor_id_3GPP := avp_code_RX_3GPP_Flows }; const AVP_Code c_AVP_Code_S6_3GPP_CIA_Flags := { @@ -6311,6 +8866,8 @@ vendor_id_3GPP := avp_code_RX_3GPP_Extended_Min_Requested_BW_UL }; const AVP_Code c_AVP_Code_PCC_3GPP_Monitoring_Time := { vendor_id_3GPP := avp_code_PCC_3GPP_Monitoring_Time }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Input_Octets := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Input_Octets }; const AVP_Code c_AVP_Code_S6_3GPP_UE_Reachability_Configuration := { vendor_id_3GPP := avp_code_S6_3GPP_UE_Reachability_Configuration }; const AVP_Code c_AVP_Code_BASE_NONE_Destination_Realm := { @@ -6321,12 +8878,18 @@ vendor_id_3GPP := avp_code_PCC_3GPP_Flow_Direction }; const AVP_Code c_AVP_Code_S6_3GPP_Supported_Monitoring_Events := { vendor_id_3GPP := avp_code_S6_3GPP_Supported_Monitoring_Events }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SIP_Item_Number := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SIP_Item_Number }; const AVP_Code c_AVP_Code_PCC_3GPP_Session_Release_Cause := { vendor_id_3GPP := avp_code_PCC_3GPP_Session_Release_Cause }; const AVP_Code c_AVP_Code_AAA_3GPP_MDT_User_Consent := { vendor_id_3GPP := avp_code_AAA_3GPP_MDT_User_Consent }; +const AVP_Code c_AVP_Code_DNAS_NONE_Login_LAT_Port := { + vendor_id_NONE := avp_code_DNAS_NONE_Login_LAT_Port }; const AVP_Code c_AVP_Code_S6_3GPP_HSS_Cause := { vendor_id_3GPP := avp_code_S6_3GPP_HSS_Cause }; +const AVP_Code c_AVP_Code_DCC_NONE_G_S_U_Pool_Reference := { + vendor_id_NONE := avp_code_DCC_NONE_G_S_U_Pool_Reference }; const AVP_Code c_AVP_Code_PCC_3GPP_PCSCF_Restoration_Indication := { vendor_id_3GPP := avp_code_PCC_3GPP_PCSCF_Restoration_Indication }; const AVP_Code c_AVP_Code_AAA_3GPP_Subscription_Data_Deletion := { @@ -6335,18 +8898,38 @@ vendor_id_NONE := avp_code_MIPv6_NONE_Chargable_User_Identity }; const AVP_Code c_AVP_Code_AAA_3GPP_Trace_Collection_Entity := { vendor_id_3GPP := avp_code_AAA_3GPP_Trace_Collection_Entity }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Feature_List_ID := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Feature_List_ID }; const AVP_Code c_AVP_Code_BASE_NONE_Redirect_Host := { vendor_id_NONE := avp_code_BASE_NONE_Redirect_Host }; const AVP_Code c_AVP_Code_AAA_3GPP_Network_Access_Mode := { vendor_id_3GPP := avp_code_AAA_3GPP_Network_Access_Mode }; +const AVP_Code c_AVP_Code_DNAS_NONE_ARAP_Zone_Access := { + vendor_id_NONE := avp_code_DNAS_NONE_ARAP_Zone_Access }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_Compression := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_Compression }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_Selection_Mode := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_Selection_Mode }; +const AVP_Code c_AVP_Code_DNAS_NONE_QoS_Filter_Rule := { + vendor_id_NONE := avp_code_DNAS_NONE_QoS_Filter_Rule }; const AVP_Code c_AVP_Code_AAA_3GPP_Complete_Data_List_Included_Indicator := { vendor_id_3GPP := avp_code_AAA_3GPP_Complete_Data_List_Included_Indicator }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_MN_AAA_SPI := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP_MN_AAA_SPI }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_SGSN_Address := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_SGSN_Address }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_MSA_Lifetime := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP_MSA_Lifetime }; +const AVP_Code c_AVP_Code_GI_3GPP_External_Identifier := { + vendor_id_3GPP := avp_code_GI_3GPP_External_Identifier }; const AVP_Code c_AVP_Code_S6_3GPP_Reachability_Type := { vendor_id_3GPP := avp_code_S6_3GPP_Reachability_Type }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Private_Group_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Private_Group_Id }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_Route := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_Route }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Request_Type := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Request_Type }; const AVP_Code c_AVP_Code_S6_3GPP_Type_Of_External_Identifier := { vendor_id_3GPP := avp_code_S6_3GPP_Type_Of_External_Identifier }; const AVP_Code c_AVP_Code_PCC_3GPP_Event_Report_Indication := { @@ -6355,18 +8938,28 @@ vendor_id_3GPP := avp_code_AAA_3GPP_MDT_Configuration }; const AVP_Code c_AVP_Code_PCC_3GPP_Usage_Monitoring_Report := { vendor_id_3GPP := avp_code_PCC_3GPP_Usage_Monitoring_Report }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Priviledged_Sender_Indication := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Priviledged_Sender_Indication }; const AVP_Code c_AVP_Code_AAA_3GPP_Adjacent_Access_Restriction_Data := { vendor_id_3GPP := avp_code_AAA_3GPP_Adjacent_Access_Restriction_Data }; const AVP_Code c_AVP_Code_AAA_3GPP_RAT_Frequency_Selection_Priority_ID := { vendor_id_3GPP := avp_code_AAA_3GPP_RAT_Frequency_Selection_Priority_ID }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Reason_Info := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Reason_Info }; const AVP_Code c_AVP_Code_AAA_3GPP_CLR_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_CLR_Flags }; const AVP_Code c_AVP_Code_PCC_3GPP_Default_EPS_Bearer_QoS := { vendor_id_3GPP := avp_code_PCC_3GPP_Default_EPS_Bearer_QoS }; const AVP_Code c_AVP_Code_AAA_3GPP_ULR_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_ULR_Flags }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Client_Auth_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Client_Auth_Id }; +const AVP_Code c_AVP_Code_DNAS_NONE_Calling_Station_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_Calling_Station_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_ICS_Indicator := { vendor_id_3GPP := avp_code_AAA_3GPP_ICS_Indicator }; +const AVP_Code c_AVP_Code_DCC_NONE_Currency_Code := { + vendor_id_NONE := avp_code_DCC_NONE_Currency_Code }; const AVP_Code c_AVP_Code_AAA_3GPP_Cancellation_Type := { vendor_id_3GPP := avp_code_AAA_3GPP_Cancellation_Type }; const AVP_Code c_AVP_Code_BASE_NONE_E2E_Sequence := { @@ -6375,8 +8968,14 @@ vendor_id_NONE := avp_code_BASE_NONE_Origin_Realm }; const AVP_Code c_AVP_Code_AAA_3GPP_PDN_Type := { vendor_id_3GPP := avp_code_AAA_3GPP_PDN_Type }; +const AVP_Code c_AVP_Code_DNAS_NONE_Prompt := { + vendor_id_NONE := avp_code_DNAS_NONE_Prompt }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_GGSN_IPv6_Address := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_GGSN_IPv6_Address }; const AVP_Code c_AVP_Code_RX_3GPP_Access_Network_Charging_Identifier := { vendor_id_3GPP := avp_code_RX_3GPP_Access_Network_Charging_Identifier }; +const AVP_Code c_AVP_Code_DCC_NONE_Redirect_Server := { + vendor_id_NONE := avp_code_DCC_NONE_Redirect_Server }; const AVP_Code c_AVP_Code_S6_3GPP_AESE_Communication_Pattern_Config_Status := { vendor_id_3GPP := avp_code_S6_3GPP_AESE_Communication_Pattern_Config_Status }; const AVP_Code c_AVP_Code_S6_3GPP_Enhanced_Coverage_Restriction_Data := { @@ -6393,6 +8992,8 @@ vendor_id_NONE := avp_code_BASE_NONE_Acct_Interim_Interval }; const AVP_Code c_AVP_Code_RX_3GPP_Media_Component_Number := { vendor_id_3GPP := avp_code_RX_3GPP_Media_Component_Number }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Path := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Path }; const AVP_Code c_AVP_Code_AAA_3GPP_Event_Threshold_Event_1F := { vendor_id_3GPP := avp_code_AAA_3GPP_Event_Threshold_Event_1F }; const AVP_Code c_AVP_Code_PCC_3GPP_Packet_Filter_Usage := { @@ -6401,18 +9002,30 @@ vendor_id_3GPP := avp_code_S6_3GPP_MONTE_Location_Type }; const AVP_Code c_AVP_Code_AAA_3GPP_RDS_Indicator := { vendor_id_3GPP := avp_code_AAA_3GPP_RDS_Indicator }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Optional_Capability := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Optional_Capability }; const AVP_Code c_AVP_Code_AAA_3GPP_Reporting_Trigger := { vendor_id_3GPP := avp_code_AAA_3GPP_Reporting_Trigger }; const AVP_Code c_AVP_Code_PCC_3GPP_Tunnel_Header_Length := { vendor_id_3GPP := avp_code_PCC_3GPP_Tunnel_Header_Length }; const AVP_Code c_AVP_Code_PCC_3GPP_Conditional_APN_Aggregate_Max_Bitrate := { vendor_id_3GPP := avp_code_PCC_3GPP_Conditional_APN_Aggregate_Max_Bitrate }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Secondary_Event_Charging_Function_Name := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Secondary_Event_Charging_Function_Name }; const AVP_Code c_AVP_Code_AAA_3GPP_Group_PLMN_Id := { vendor_id_3GPP := avp_code_AAA_3GPP_Group_PLMN_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_User_Id := { vendor_id_3GPP := avp_code_AAA_3GPP_User_Id }; +const AVP_Code c_AVP_Code_DNAS_NONE_Login_LAT_Node := { + vendor_id_NONE := avp_code_DNAS_NONE_Login_LAT_Node }; +const AVP_Code c_AVP_Code_DNAS_NONE_Originating_Line_Info := { + vendor_id_NONE := avp_code_DNAS_NONE_Originating_Line_Info }; +const AVP_Code c_AVP_Code_DCC_NONE_Exponent := { + vendor_id_NONE := avp_code_DCC_NONE_Exponent }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_Authenticator := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP_Authenticator }; +const AVP_Code c_AVP_Code_DNAS_NONE_Accounting_Input_Octets := { + vendor_id_NONE := avp_code_DNAS_NONE_Accounting_Input_Octets }; const AVP_Code c_AVP_Code_AAA_3GPP_Requested_UTRAN_GERAN_Authentication_Info := { vendor_id_3GPP := avp_code_AAA_3GPP_Requested_UTRAN_GERAN_Authentication_Info }; const AVP_Code c_AVP_Code_AAA_3GPP_EPS_User_State := { @@ -6423,6 +9036,8 @@ vendor_id_3GPP := avp_code_RX_3GPP_Retry_Interval }; const AVP_Code c_AVP_Code_BASE_NONE_Accounting_Session_Id := { vendor_id_NONE := avp_code_BASE_NONE_Accounting_Session_Id }; +const AVP_Code c_AVP_Code_DCC_NONE_Restriction_Filter_Rule := { + vendor_id_NONE := avp_code_DCC_NONE_Restriction_Filter_Rule }; const AVP_Code c_AVP_Code_PCC_3GPP_Packet_Filter_Identifier := { vendor_id_3GPP := avp_code_PCC_3GPP_Packet_Filter_Identifier }; const AVP_Code c_AVP_Code_S6_3GPP_SCEF_Reference_ID := { @@ -6439,28 +9054,46 @@ vendor_id_3GPP := avp_code_PCC_3GPP_Guaranteed_Bitrate_DL }; const AVP_Code c_AVP_Code_RX_3GPP_Extended_Max_Supported_BW_UL := { vendor_id_3GPP := avp_code_RX_3GPP_Extended_Max_Supported_BW_UL }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Total_Octets := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Total_Octets }; const AVP_Code c_AVP_Code_PCC_3GPP_UDP_Source_Port := { vendor_id_3GPP := avp_code_PCC_3GPP_UDP_Source_Port }; const AVP_Code c_AVP_Code_BASE_NONE_Accounting_Record_Type := { vendor_id_NONE := avp_code_BASE_NONE_Accounting_Record_Type }; +const AVP_Code c_AVP_Code_CxDx_3GPP_From_SIP_Header := { + vendor_id_3GPP := avp_code_CxDx_3GPP_From_SIP_Header }; const AVP_Code c_AVP_Code_AAA_3GPP_SIPTO_Local_Network_Permission := { vendor_id_3GPP := avp_code_AAA_3GPP_SIPTO_Local_Network_Permission }; const AVP_Code c_AVP_Code_PCC_3GPP_Routing_Rule_Definition := { vendor_id_3GPP := avp_code_PCC_3GPP_Routing_Rule_Definition }; +const AVP_Code c_AVP_Code_DCC_NONE_Value_Digits := { + vendor_id_NONE := avp_code_DCC_NONE_Value_Digits }; const AVP_Code c_AVP_Code_AAA_3GPP_VPLMN_Dynamic_Address_Allowed := { vendor_id_3GPP := avp_code_AAA_3GPP_VPLMN_Dynamic_Address_Allowed }; const AVP_Code c_AVP_Code_BASE_NONE_Acct_Application_Id := { vendor_id_NONE := avp_code_BASE_NONE_Acct_Application_Id }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SIP_Authenticate := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SIP_Authenticate }; const AVP_Code c_AVP_Code_AAA_3GPP_Service_Type := { vendor_id_3GPP := avp_code_AAA_3GPP_Service_Type }; const AVP_Code c_AVP_Code_AAA_3GPP_Immediate_Response_Preferred := { vendor_id_3GPP := avp_code_AAA_3GPP_Immediate_Response_Preferred }; +const AVP_Code c_AVP_Code_DNAS_NONE_Login_IPv6_Host := { + vendor_id_NONE := avp_code_DNAS_NONE_Login_IPv6_Host }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_Appletalk_Zone := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_Appletalk_Zone }; +const AVP_Code c_AVP_Code_DCC_NONE_Final_Unit_Indication := { + vendor_id_NONE := avp_code_DCC_NONE_Final_Unit_Indication }; const AVP_Code c_AVP_Code_AAA_3GPP_XRES := { vendor_id_3GPP := avp_code_AAA_3GPP_XRES }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_IMSI := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_IMSI }; const AVP_Code c_AVP_Code_AAA_3GPP_User_State := { vendor_id_3GPP := avp_code_AAA_3GPP_User_State }; const AVP_Code c_AVP_Code_BASE_NONE_Result_Code := { vendor_id_NONE := avp_code_BASE_NONE_Result_Code }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_IP_Address := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_IP_Address }; const AVP_Code c_AVP_Code_S6_3GPP_IP_SM_GW_Realm := { vendor_id_3GPP := avp_code_S6_3GPP_IP_SM_GW_Realm }; const AVP_Code c_AVP_Code_S6_3GPP_Reference_ID_Validity_Time := { @@ -6473,6 +9106,8 @@ vendor_id_3GPP := avp_code_RX_3GPP_Min_Desired_Bandwidth_DL }; const AVP_Code c_AVP_Code_S6_3GPP_Group_Reporting_Guard_Timer := { vendor_id_3GPP := avp_code_S6_3GPP_Group_Reporting_Guard_Timer }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Associated_Identities := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Associated_Identities }; const AVP_Code c_AVP_Code_BASE_NONE_Auth_Session_State := { vendor_id_NONE := avp_code_BASE_NONE_Auth_Session_State }; const AVP_Code c_AVP_Code_PCC_3GPP_Session_Linking_Indicator := { @@ -6487,10 +9122,14 @@ vendor_id_3GPP := avp_code_AAA_3GPP_LIPA_Permission }; const AVP_Code c_AVP_Code_PCC_3GPP_QoS_Negotiation := { vendor_id_3GPP := avp_code_PCC_3GPP_QoS_Negotiation }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SIP_Auth_Data_Item := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SIP_Auth_Data_Item }; const AVP_Code c_AVP_Code_AAA_3GPP_3GPP2_MEID := { vendor_id_3GPP := avp_code_AAA_3GPP_3GPP2_MEID }; const AVP_Code c_AVP_Code_AAA_3GPP_Subscription_Data := { vendor_id_3GPP := avp_code_AAA_3GPP_Subscription_Data }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Multiple_Registration_Indication := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Multiple_Registration_Indication }; const AVP_Code c_AVP_Code_BASE_NONE_Vendor_Specific_Application_Id := { vendor_id_NONE := avp_code_BASE_NONE_Vendor_Specific_Application_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_WLAN_offloadability_UTRAN := { @@ -6501,6 +9140,8 @@ vendor_id_NONE := avp_code_MIPv6_NONE_Service_Selection }; const AVP_Code c_AVP_Code_AAA_3GPP_TS_Code := { vendor_id_3GPP := avp_code_AAA_3GPP_TS_Code }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Client_Endpoint := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Client_Endpoint }; const AVP_Code c_AVP_Code_S6_3GPP_IP_SM_GW_Number := { vendor_id_3GPP := avp_code_S6_3GPP_IP_SM_GW_Number }; const AVP_Code c_AVP_Code_PCC_3GPP_Charging_Rule_Install := { @@ -6509,6 +9150,8 @@ vendor_id_3GPP := avp_code_RX_3GPP_Rx_Request_Type }; const AVP_Code c_AVP_Code_S6_3GPP_NIDD_Authorization_Response := { vendor_id_3GPP := avp_code_S6_3GPP_NIDD_Authorization_Response }; +const AVP_Code c_AVP_Code_DCC_NONE_Subscription_Id := { + vendor_id_NONE := avp_code_DCC_NONE_Subscription_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_VPLMN_CSG_Subscription_Data := { vendor_id_3GPP := avp_code_AAA_3GPP_VPLMN_CSG_Subscription_Data }; const AVP_Code c_AVP_Code_PCC_3GPP_QoS_Rule_Remove := { @@ -6525,6 +9168,8 @@ vendor_id_3GPP := avp_code_RX_3GPP_Media_Component_Status }; const AVP_Code c_AVP_Code_AAA_3GPP_eDRX_Cycle_Length_Value := { vendor_id_3GPP := avp_code_AAA_3GPP_eDRX_Cycle_Length_Value }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Visited_Network_Identifier := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Visited_Network_Identifier }; const AVP_Code c_AVP_Code_S6_3GPP_RIR_Flags := { vendor_id_3GPP := avp_code_S6_3GPP_RIR_Flags }; const AVP_Code c_AVP_Code_AAA_3GPP_Collection_Period_RRM_LTE := { @@ -6535,12 +9180,22 @@ vendor_id_3GPP := avp_code_AAA_3GPP_Subscriber_Status }; const AVP_Code c_AVP_Code_PCC_3GPP_Extended_APN_AMBR_UL := { vendor_id_3GPP := avp_code_PCC_3GPP_Extended_APN_AMBR_UL }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Identity_with_Emergency_Registration := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Identity_with_Emergency_Registration }; +const AVP_Code c_AVP_Code_DCC_NONE_Tariff_Change_Usage := { + vendor_id_NONE := avp_code_DCC_NONE_Tariff_Change_Usage }; const AVP_Code c_AVP_Code_AAA_3GPP_LCS_PrivacyException := { vendor_id_3GPP := avp_code_AAA_3GPP_LCS_PrivacyException }; const AVP_Code c_AVP_Code_AAA_3GPP_QoS_Subscribed := { vendor_id_3GPP := avp_code_AAA_3GPP_QoS_Subscribed }; +const AVP_Code c_AVP_Code_DNAS_NONE_NAS_IP_Address := { + vendor_id_NONE := avp_code_DNAS_NONE_NAS_IP_Address }; const AVP_Code c_AVP_Code_RX_3GPP_RR_Bandwidth := { vendor_id_3GPP := avp_code_RX_3GPP_RR_Bandwidth }; +const AVP_Code c_AVP_Code_DCC_NONE_Service_Context_Id := { + vendor_id_NONE := avp_code_DCC_NONE_Service_Context_Id }; +const AVP_Code c_AVP_Code_DNAS_NONE_CHAP_Auth := { + vendor_id_NONE := avp_code_DNAS_NONE_CHAP_Auth }; const AVP_Code c_AVP_Code_PCC_3GPP_APN_Aggregate_Max_Bitrate_DL := { vendor_id_3GPP := avp_code_PCC_3GPP_APN_Aggregate_Max_Bitrate_DL }; const AVP_Code c_AVP_Code_S6_3GPP_SCS_Identity := { @@ -6561,32 +9216,52 @@ vendor_id_3GPP := avp_code_PCC_3GPP_TDF_IP_Address }; const AVP_Code c_AVP_Code_S6_3GPP_Enhanced_Coverage_Restriction := { vendor_id_3GPP := avp_code_S6_3GPP_Enhanced_Coverage_Restriction }; +const AVP_Code c_AVP_Code_CxDx_3GPP_User_Data_Already_Available := { + vendor_id_3GPP := avp_code_CxDx_3GPP_User_Data_Already_Available }; const AVP_Code c_AVP_Code_AAA_3GPP_MME_Number_for_MT_SMS := { vendor_id_3GPP := avp_code_AAA_3GPP_MME_Number_for_MT_SMS }; const AVP_Code c_AVP_Code_PCC_3GPP_Security_Parameter_Index := { vendor_id_3GPP := avp_code_PCC_3GPP_Security_Parameter_Index }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Correlation_Id := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Correlation_Id }; const AVP_Code c_AVP_Code_PCC_3GPP_Traffic_Steering_Policy_Identifier_UL := { vendor_id_3GPP := avp_code_PCC_3GPP_Traffic_Steering_Policy_Identifier_UL }; const AVP_Code c_AVP_Code_BASE_NONE_Route_Record := { vendor_id_NONE := avp_code_BASE_NONE_Route_Record }; const AVP_Code c_AVP_Code_AAA_3GPP_Carrier_Frequency := { vendor_id_3GPP := avp_code_AAA_3GPP_Carrier_Frequency }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Mandatory_Capability := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Mandatory_Capability }; const AVP_Code c_AVP_Code_AAA_3GPP_Trace_NE_Type_List := { vendor_id_3GPP := avp_code_AAA_3GPP_Trace_NE_Type_List }; +const AVP_Code c_AVP_Code_DNAS_NONE_Port_Limit := { + vendor_id_NONE := avp_code_DNAS_NONE_Port_Limit }; +const AVP_Code c_AVP_Code_DCC_NONE_Multiple_Services_Credit_Control := { + vendor_id_NONE := avp_code_DCC_NONE_Multiple_Services_Credit_Control }; const AVP_Code c_AVP_Code_AAA_3GPP_All_APN_Configurations_Included_Indicator := { vendor_id_3GPP := avp_code_AAA_3GPP_All_APN_Configurations_Included_Indicator }; const AVP_Code c_AVP_Code_AAA_3GPP_NOR_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_NOR_Flags }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_MS_TimeZone := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_MS_TimeZone }; const AVP_Code c_AVP_Code_AAA_3GPP_External_Client := { vendor_id_3GPP := avp_code_AAA_3GPP_External_Client }; const AVP_Code c_AVP_Code_BASE_NONE_Authorization_Lifetime := { vendor_id_NONE := avp_code_BASE_NONE_Authorization_Lifetime }; +const AVP_Code c_AVP_Code_DNAS_NONE_ARAP_Features := { + vendor_id_NONE := avp_code_DNAS_NONE_ARAP_Features }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_MTU := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_MTU }; const AVP_Code c_AVP_Code_RX_3GPP_Extended_Min_Requested_BW_DL := { vendor_id_3GPP := avp_code_RX_3GPP_Extended_Min_Requested_BW_DL }; +const AVP_Code c_AVP_Code_DNAS_NONE_Accounting_Auth_Method := { + vendor_id_NONE := avp_code_DNAS_NONE_Accounting_Auth_Method }; const AVP_Code c_AVP_Code_RX_3GPP_Service_URN := { vendor_id_3GPP := avp_code_RX_3GPP_Service_URN }; const AVP_Code c_AVP_Code_S6_3GPP_Supported_Services := { vendor_id_3GPP := avp_code_S6_3GPP_Supported_Services }; +const AVP_Code c_AVP_Code_DNAS_NONE_Accounting_Output_Packets := { + vendor_id_NONE := avp_code_DNAS_NONE_Accounting_Output_Packets }; const AVP_Code c_AVP_Code_AAA_3GPP_Relay_Node_Indicator := { vendor_id_3GPP := avp_code_AAA_3GPP_Relay_Node_Indicator }; const AVP_Code c_AVP_Code_PCC_3GPP_Rule_DeActivation_Time := { @@ -6603,20 +9278,40 @@ vendor_id_3GPP := avp_code_AAA_3GPP_SCEF_Realm }; const AVP_Code c_AVP_Code_S6_3GPP_Requested_Validity_Time := { vendor_id_3GPP := avp_code_S6_3GPP_Requested_Validity_Time }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Request_Number := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Request_Number }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Supported_Features := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Supported_Features }; const AVP_Code c_AVP_Code_AAA_3GPP_Local_Time_Zone := { vendor_id_3GPP := avp_code_AAA_3GPP_Local_Time_Zone }; const AVP_Code c_AVP_Code_AAA_3GPP_GERAN_Vector := { vendor_id_3GPP := avp_code_AAA_3GPP_GERAN_Vector }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Call_ID_SIP_Header := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Call_ID_SIP_Header }; const AVP_Code c_AVP_Code_AAA_3GPP_EPS_Subscribed_QoS_Profile := { vendor_id_3GPP := avp_code_AAA_3GPP_EPS_Subscribed_QoS_Profile }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_Session_Stop_Indicator := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_Session_Stop_Indicator }; const AVP_Code c_AVP_Code_AAA_3GPP_GPRS_Subscription_Data := { vendor_id_3GPP := avp_code_AAA_3GPP_GPRS_Subscription_Data }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_GPRS_Negotiated_QoS_Profile := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_GPRS_Negotiated_QoS_Profile }; +const AVP_Code c_AVP_Code_DNAS_NONE_Called_Station_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_Called_Station_Id }; +const AVP_Code c_AVP_Code_DCC_NONE_Cost_Unit := { + vendor_id_NONE := avp_code_DCC_NONE_Cost_Unit }; const AVP_Code c_AVP_Code_BASE_NONE_Accounting_Realtime_Required := { vendor_id_NONE := avp_code_BASE_NONE_Accounting_Realtime_Required }; const AVP_Code c_AVP_Code_BASE_NONE_Termination_Cause := { vendor_id_NONE := avp_code_BASE_NONE_Termination_Cause }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_Allocate_IP_Type := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_Allocate_IP_Type }; const AVP_Code c_AVP_Code_RX_3GPP_Specific_Action := { vendor_id_3GPP := avp_code_RX_3GPP_Specific_Action }; +const AVP_Code c_AVP_Code_DNAS_NONE_Login_TCP_Port := { + vendor_id_NONE := avp_code_DNAS_NONE_Login_TCP_Port }; +const AVP_Code c_AVP_Code_DNAS_NONE_Password_Retry := { + vendor_id_NONE := avp_code_DNAS_NONE_Password_Retry }; const AVP_Code c_AVP_Code_S6_3GPP_Maximum_Detection_Time := { vendor_id_3GPP := avp_code_S6_3GPP_Maximum_Detection_Time }; const AVP_Code c_AVP_Code_AAA_3GPP_Ext_PDP_Address := { @@ -6631,14 +9326,22 @@ vendor_id_3GPP := avp_code_S6_3GPP_Service_Result_Code }; const AVP_Code c_AVP_Code_AAA_3GPP_SGSN_Location_Information := { vendor_id_3GPP := avp_code_AAA_3GPP_SGSN_Location_Information }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Reason_Code := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Reason_Code }; const AVP_Code c_AVP_Code_PCC_3GPP_Pre_emption_Vulnerability := { vendor_id_3GPP := avp_code_PCC_3GPP_Pre_emption_Vulnerability }; const AVP_Code c_AVP_Code_AAA_3GPP_Equivalent_PLMN_List := { vendor_id_3GPP := avp_code_AAA_3GPP_Equivalent_PLMN_List }; const AVP_Code c_AVP_Code_PCC_3GPP_Default_Access := { vendor_id_3GPP := avp_code_PCC_3GPP_Default_Access }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Supported_Applications := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Supported_Applications }; +const AVP_Code c_AVP_Code_DNAS_NONE_ARAP_Challenge_Response := { + vendor_id_NONE := avp_code_DNAS_NONE_ARAP_Challenge_Response }; const AVP_Code c_AVP_Code_BASE_NONE_Class := { vendor_id_NONE := avp_code_BASE_NONE_Class }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Sub_Session_Id := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Sub_Session_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_IDR_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_IDR_Flags }; const AVP_Code c_AVP_Code_AAA_3GPP_V2X_Subscription_Data := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17947 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: Ibe7321e695337ff62fdc912270f6e13e6c6d6cf2 Gerrit-Change-Number: 17947 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 Apr 26 19:53:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 19:53:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: DIAMETER_Emulation: Add support for IMSI in Subscription-Id References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17948 ) Change subject: DIAMETER_Emulation: Add support for IMSI in Subscription-Id ...................................................................... DIAMETER_Emulation: Add support for IMSI in Subscription-Id Ths IMSI on the Gx interface is encoded into a different AVP than on the S6a/S6d interfaces. Let's make sure our DIAMETER_Emulation knows both formats. Change-Id: I299fcc2e01e908914df32fda4fb93b1114402c77 --- M library/DIAMETER_Emulation.ttcn M library/DIAMETER_Templates.ttcn 2 files changed, 19 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/48/17948/1 diff --git a/library/DIAMETER_Emulation.ttcn b/library/DIAMETER_Emulation.ttcn index fad44c3..6dd44b3 100644 --- a/library/DIAMETER_Emulation.ttcn +++ b/library/DIAMETER_Emulation.ttcn @@ -216,7 +216,16 @@ imsi_avp := f_DIAMETER_get_avp(pdu, c_AVP_Code_BASE_NONE_User_Name); if (istemplatekind(imsi_avp, "omit")) { - return omit; + var template (omit) AVP sid_avp; + sid_avp := f_DIAMETER_get_avp(pdu, c_AVP_Code_DCC_NONE_Subscription_Id); + if (istemplatekind(sid_avp, "omit")) { + return omit; + } + var AVP_Grouped grp := valueof(sid_avp.avp_data.avp_DCC_NONE_Subscription_Id); + if (not match(grp[0], tr_SubcrIdType(END_USER_IMSI))) { + return omit; + } + return str2hex(oct2char(grp[1].avp.avp_data.avp_DCC_NONE_Subscription_Id_Data)); } else { var octetstring imsi_oct := valueof(imsi_avp.avp_data.avp_BASE_NONE_User_Name); return str2hex(oct2char(imsi_oct)); diff --git a/library/DIAMETER_Templates.ttcn b/library/DIAMETER_Templates.ttcn index 533ede2..11746eb 100644 --- a/library/DIAMETER_Templates.ttcn +++ b/library/DIAMETER_Templates.ttcn @@ -101,6 +101,7 @@ }; /* 3GPP TS 29.272 Section 7.1.8 */ +const uint32_t c_DIAMETER_3GPP_Gx_AID := 16777238; const uint32_t c_DIAMETER_3GPP_S6_AID := 16777251; const uint32_t c_DIAMETER_3GPP_S13_AID := 16777252; const uint32_t c_DIAMETER_3GPP_S7_AID := 16777308; @@ -190,6 +191,14 @@ vendor_id := vendor_id_3GPP } +template (present) GenericAVP tr_SubcrIdType(template (present) DCC_NONE_Subscription_Id_Type t) := { + avp := { + avp_header := tr_DIA_Hdr(c_AVP_Code_DCC_NONE_Subscription_Id_Type), + avp_data := { + avp_DCC_NONE_Subscription_Id_Type := t + } + } +} template (value) GenericAVP ts_AVP_OriginHost(template (value) charstring host) := { avp := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17948 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: I299fcc2e01e908914df32fda4fb93b1114402c77 Gerrit-Change-Number: 17948 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 Apr 26 19:53:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 19:53:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: DIAMETER: parametrize CEA template References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17949 ) Change subject: DIAMETER: parametrize CEA template ...................................................................... DIAMETER: parametrize CEA template So far, we hard-coded the Capabilities-Exchange-Answer for HSS emulation. As we want to emulate other DIAMETER network elements, let's parametrize the template as well as the respective parameters for the emulation component. Change-Id: Ie30ff1bac40ab3dc6058587f0586b643ff2b0cb6 --- M library/DIAMETER_Emulation.ttcn M library/DIAMETER_Templates.ttcn M mme/MME_Tests.ttcn 3 files changed, 18 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/49/17949/1 diff --git a/library/DIAMETER_Emulation.ttcn b/library/DIAMETER_Emulation.ttcn index 6dd44b3..cff4d63 100644 --- a/library/DIAMETER_Emulation.ttcn +++ b/library/DIAMETER_Emulation.ttcn @@ -33,6 +33,7 @@ import from DIAMETER_Templates all; import from Osmocom_Types all; import from IPL4asp_Types all; +import from Native_Functions all; type hexstring IMSI; @@ -94,7 +95,10 @@ HostName remote_ip, PortNumber remote_sctp_port, HostName local_ip, - PortNumber local_sctp_port + PortNumber local_sctp_port, + charstring origin_host, + charstring origin_realm, + uint32_t vendor_app_id } function tr_DIAMETER_RecvFrom_R(template PDU_DIAMETER msg) @@ -312,7 +316,8 @@ /* handle CER/CEA handshake */ [] DIAMETER.receive(tr_DIAMETER_RecvFrom_R(tr_DIAMETER_R(cmd_code := Capabilities_Exchange))) -> value mrf { var template (value) PDU_DIAMETER resp; - resp := ts_DIA_CEA(mrf.msg.hop_by_hop_id, mrf.msg.end_to_end_id); + resp := ts_DIA_CEA(mrf.msg.hop_by_hop_id, mrf.msg.end_to_end_id, p.origin_host, + p.origin_realm, f_inet_addr(p.local_ip), p.vendor_app_id); DIAMETER.send(t_DIAMETER_Send(g_diameter_conn_id, resp)); } diff --git a/library/DIAMETER_Templates.ttcn b/library/DIAMETER_Templates.ttcn index 11746eb..450e013 100644 --- a/library/DIAMETER_Templates.ttcn +++ b/library/DIAMETER_Templates.ttcn @@ -783,13 +783,15 @@ /* 5.3.2 Capabilities Exchange Answer */ template (value) PDU_DIAMETER -ts_DIA_CEA(template (value) UINT32 hbh_id, template (value) UINT32 ete_id) +ts_DIA_CEA(template (value) UINT32 hbh_id, template (value) UINT32 ete_id, + template (value) charstring origin_host, template (value) charstring origin_realm, + template (value) octetstring host_ip, uint32_t vendor_app_id) := ts_DIAMETER(flags:='00000000'B, cmd_code:=Capabilities_Exchange, hbh_id:=hbh_id, ete_id:=ete_id, avps := { ts_AVP_ResultCode(DIAMETER_SUCCESS), - ts_AVP_OriginHost("hss.localdomain"), - ts_AVP_OriginRealm("localdomain"), - ts_AVP_HostIpAddr('7E000004'O), + ts_AVP_OriginHost(origin_host), + ts_AVP_OriginRealm(origin_realm), + ts_AVP_HostIpAddr(host_ip), ts_AVP_VendorId(vendor_id_3GPP), ts_AVP_ProductName("TTCN-3 Testsuite"), ts_AVP_OriginStateId('00000001'O), @@ -798,7 +800,7 @@ ts_AVP_SuppVendorIdRaw(13019), /* ETSI */ ts_AVP_AuthAppId('FFFFFFFF'O), ts_AVP_InbSecId('00000000'O), - ts_AVP_VendorSpecAppId(vendor_id_3GPP, c_DIAMETER_3GPP_S6_AID) + ts_AVP_VendorSpecAppId(vendor_id_3GPP, vendor_app_id) }); diff --git a/mme/MME_Tests.ttcn b/mme/MME_Tests.ttcn index da45485..0516809 100644 --- a/mme/MME_Tests.ttcn +++ b/mme/MME_Tests.ttcn @@ -219,7 +219,10 @@ remote_ip := mp_mme_ip, remote_sctp_port := -1, local_ip := mp_s6_local_ip, - local_sctp_port := mp_s6_local_port + local_sctp_port := mp_s6_local_port, + origin_host := "hss.localdomain", + origin_realm := "localdomain", + vendor_app_id := c_DIAMETER_3GPP_S6_AID }; vc_DIAMETER := DIAMETER_Emulation_CT.create(id); map(vc_DIAMETER:DIAMETER, system:DIAMETER_CODEC_PT); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17949 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: Ie30ff1bac40ab3dc6058587f0586b643ff2b0cb6 Gerrit-Change-Number: 17949 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 Apr 26 19:53:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 19:53:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Add support for PCRF emulation (CCR/CCA) References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17950 ) Change subject: pgw: Add support for PCRF emulation (CCR/CCA) ...................................................................... pgw: Add support for PCRF emulation (CCR/CCA) If mp_pcrf_local_ip is set to a non-empty string, the PGW testsuite now emulates a PCRF and expects the PGW to perform the related transactions - so far Credit-Control-Request INITIAL_REQUEST at session creation, and TERMINATION_REQUST at session deletion. Change-Id: I5f0c7a66d38e5c8b5f36b45717d49648a14ed7b2 --- M library/DIAMETER_Templates.ttcn M pgw/PGW_Tests.ttcn M pgw/gen_links.sh M pgw/regen_makefile.sh 4 files changed, 176 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/50/17950/1 diff --git a/library/DIAMETER_Templates.ttcn b/library/DIAMETER_Templates.ttcn index 450e013..2cc2986 100644 --- a/library/DIAMETER_Templates.ttcn +++ b/library/DIAMETER_Templates.ttcn @@ -326,6 +326,51 @@ } } } +template (present) GenericAVP tr_AVP_AuthAppId(template (present) OCTET4 auth_app_id := ?) := { + avp := { + avp_header := tr_DIA_Hdr(c_AVP_Code_BASE_NONE_Auth_Application_Id), + avp_data := { + avp_BASE_NONE_Auth_Application_Id := auth_app_id + } + } +} + +template (value) GenericAVP ts_AVP_CcReqType(template (value) DCC_NONE_CC_Request_Type r) := { + avp := { + avp_header := ts_DIA_Hdr(c_AVP_Code_DCC_NONE_CC_Request_Type), + avp_data := { + avp_DCC_NONE_CC_Request_Type := r + } + } +} +template (present) GenericAVP tr_AVP_CcReqType(template (present) DCC_NONE_CC_Request_Type r := ?) := { + avp := { + avp_header := tr_DIA_Hdr(c_AVP_Code_DCC_NONE_CC_Request_Type), + avp_data := { + avp_DCC_NONE_CC_Request_Type := r + } + } +} + +template (value) GenericAVP ts_AVP_CcReqNum(template (value) AVP_Unsigned32 n) := { + avp := { + avp_header := ts_DIA_Hdr(c_AVP_Code_DCC_NONE_CC_Request_Number), + avp_data := { + avp_DCC_NONE_CC_Request_Number := n + } + } +} +template (present) GenericAVP tr_AVP_CcReqNum(template (present) AVP_Unsigned32 n := ?) := { + avp := { + avp_header := tr_DIA_Hdr(c_AVP_Code_DCC_NONE_CC_Request_Number), + avp_data := { + avp_DCC_NONE_CC_Request_Number := n + } + } +} + + + template (value) GenericAVP ts_AVP_SuppVendorIdRaw(uint32_t vendor_id) := { avp := { @@ -879,4 +924,43 @@ +/* RFC 4006 3.1. Credit-Control-Request (CCR) Command */ +template (present) PDU_DIAMETER +tr_DIA_CCR(template (present) DCC_NONE_CC_Request_Type req_type := INITIAL_REQUEST) +:= tr_DIAMETER(flags:='11000000'B, cmd_code:=Credit_Control, + app_id:=int2oct(c_DIAMETER_3GPP_Gx_AID, 4), + avps := superset( + tr_AVP_SessionId, + tr_AVP_OriginHost, + tr_AVP_OriginRealm, + tr_AVP_DestinationRealm, + tr_AVP_AuthAppId(int2oct(c_DIAMETER_3GPP_Gx_AID, 4)), + tr_AVP_CcReqType(req_type), + tr_AVP_CcReqNum(?) + )); + + +/* RFC 4006 3.2. Credit-Control-Answer (CCA) Command */ +template (value) PDU_DIAMETER +ts_DIA_CCA(template (value) UINT32 hbh_id, template (value) UINT32 ete_id, + template (value) octetstring sess_id, + template (value) DCC_NONE_CC_Request_Type req_type, + template (value) AVP_Unsigned32 req_num) + +:= ts_DIAMETER(flags:='01000000'B, cmd_code:=Credit_Control, + app_id:=int2oct(c_DIAMETER_3GPP_Gx_AID, 4), hbh_id:=hbh_id, ete_id:=ete_id, + avps := { + ts_AVP_SessionId(sess_id), + ts_AVP_ResultCode(DIAMETER_SUCCESS), + ts_AVP_OriginHost("pcrf.localdomain"), + ts_AVP_OriginRealm("localdomain"), + ts_AVP_AuthAppId(int2oct(c_DIAMETER_3GPP_Gx_AID, 4)), + ts_AVP_CcReqType(req_type), + ts_AVP_CcReqNum(req_num)//, + // qos + // default eps bearer qos + // supported features + // origin + }); + } diff --git a/pgw/PGW_Tests.ttcn b/pgw/PGW_Tests.ttcn index c99302c..875f852 100644 --- a/pgw/PGW_Tests.ttcn +++ b/pgw/PGW_Tests.ttcn @@ -12,22 +12,37 @@ import from DNS_Helpers all; + +import from DIAMETER_Types all; +import from DIAMETER_Templates all; +import from DIAMETER_Emulation all; + + modulepar { charstring mp_pgw_hostname := "127.0.0.3"; charstring mp_local_hostname_c := "127.0.0.1"; charstring mp_local_hostname_u := "127.0.0.1"; + charstring mp_run_prog_as_user := "laforge"; charstring mp_ping_hostname := "10.45.0.1"; + + charstring mp_pcrf_local_ip := "127.0.0.5"; + integer mp_pcrf_local_port := 3868; } /* main component, we typically have one per testcase */ type component PGW_Test_CT { var GTPv2_Emulation_CT vc_GTP2; port GTP2EM_PT TEID0; + + /* emulated PCRF */ + var DIAMETER_Emulation_CT vc_DIAMETER; + port DIAMETER_PT DIAMETER_UNIT; + port DIAMETEREM_PROC_PT DIAMETER_PROC; } /* per-session component; we typically have 1..N per testcase */ -type component PGW_Session_CT extends GTP2_ConnHdlr { +type component PGW_Session_CT extends GTP2_ConnHdlr, DIAMETER_ConnHdlr { var SessionPars g_pars; /* TEI (Data) local side */ @@ -91,6 +106,35 @@ type function void_fn() runs on PGW_Session_CT; +friend function DiameterForwardUnitdataCallback(PDU_DIAMETER msg) +runs on DIAMETER_Emulation_CT return template PDU_DIAMETER { + DIAMETER_UNIT.send(msg); + return omit; +} + +friend function f_init_diameter(charstring id) runs on PGW_Test_CT { + var DIAMETEROps ops := { + create_cb := refers(DIAMETER_Emulation.ExpectedCreateCallback), + unitdata_cb := refers(DiameterForwardUnitdataCallback) + }; + var DIAMETER_conn_parameters pars := { + remote_ip := mp_pgw_hostname, + remote_sctp_port := -1, + local_ip := mp_pcrf_local_ip, + local_sctp_port := mp_pcrf_local_port, + origin_host := "pcrf.localdomain", + origin_realm := "localdomain", + vendor_app_id := c_DIAMETER_3GPP_Gx_AID + }; + vc_DIAMETER := DIAMETER_Emulation_CT.create(id); + map(vc_DIAMETER:DIAMETER, system:DIAMETER_CODEC_PT); + connect(vc_DIAMETER:DIAMETER_UNIT, self:DIAMETER_UNIT); + connect(vc_DIAMETER:DIAMETER_PROC, self:DIAMETER_PROC); + vc_DIAMETER.start(DIAMETER_Emulation.main(ops, pars, id)); + /* HACK: this is supposed to wait for the PGW to perform the CER/CEA dance */ + f_sleep(10.0); +} + private function f_init() runs on PGW_Test_CT { var Gtp2EmulationCfg cfg := { gtpc_bind_ip := mp_local_hostname_c, @@ -105,6 +149,10 @@ map(vc_GTP2:GTP2C, system:GTP2C); connect(vc_GTP2:TEID0, self:TEID0); vc_GTP2.start(GTPv2_Emulation.main(cfg)); + + if (mp_pcrf_local_ip != "") { + f_init_diameter(testcasename()); + } } function f_start_handler(void_fn fn, template (omit) SessionPars pars := omit) @@ -114,6 +162,12 @@ vc_conn := PGW_Session_CT.create(id); connect(vc_conn:GTP2, vc_GTP2:CLIENT); connect(vc_conn:GTP2_PROC, vc_GTP2:CLIENT_PROC); + + if (isbound(vc_DIAMETER)) { + connect(vc_conn:DIAMETER, vc_DIAMETER:DIAMETER_CLIENT); + connect(vc_conn:DIAMETER_PROC, vc_DIAMETER:DIAMETER_PROC); + } + vc_conn.start(f_handler_init(fn, pars)); return vc_conn; } @@ -123,6 +177,9 @@ if (isvalue(pars)) { g_pars := valueof(pars); } + if (DIAMETER_PROC.checkstate("Connected")) { + f_diameter_expect(g_pars.imsi); + } fn.apply(); } @@ -146,6 +203,28 @@ return f_concat_pad(12, '49123'H, suffix); } +private altstep as_DIA_CCR(DCC_NONE_CC_Request_Type req_type) runs on PGW_Session_CT { + var PDU_DIAMETER rx_dia; + [] DIAMETER.receive(tr_DIA_CCR(req_type := req_type)) -> value rx_dia { + var template (omit) AVP avp; + var octetstring sess_id; + var AVP_Unsigned32 req_num; + + avp := f_DIAMETER_get_avp(rx_dia, c_AVP_Code_BASE_NONE_Session_Id); + sess_id := valueof(avp.avp_data.avp_BASE_NONE_Session_Id); + + avp := f_DIAMETER_get_avp(rx_dia, c_AVP_Code_DCC_NONE_CC_Request_Number); + req_num := valueof(avp.avp_data.avp_DCC_NONE_CC_Request_Number); + + DIAMETER.send(ts_DIA_CCA(rx_dia.hop_by_hop_id, rx_dia.end_to_end_id, sess_id, + req_type, req_num)); + } + [] DIAMETER.receive(PDU_DIAMETER:?) -> value rx_dia { + setverdict(fail, "Received unexpected DIAMETER ", rx_dia); + self.stop; + } +} + /* find TEID of given interface type (and optionally instance) */ private function f_find_teid(FullyQualifiedTEID_List list, @@ -228,6 +307,9 @@ g2c.gtpcv2_pdu.createSessionRequest.userLocationInfo := ts_GTP2C_UserLocInfo(tai := tai, ecgi := ecgi); GTP2.send(g2c); + if (DIAMETER_PROC.checkstate("Connected")) { + as_DIA_CCR(INITIAL_REQUEST); + } alt { [] GTP2.receive(tr_GTP2C_CreateSessionResp(d_teid:=g_teic, cause:='10'O)) -> value rx { /* extract TEIDs */ @@ -283,6 +365,9 @@ teid_list := {}, bearer_id := 1); GTP2.send(g2c); + if (DIAMETER_PROC.checkstate("Connected")) { + as_DIA_CCR(TERMINATION_REQUEST); + } alt { [] GTP2.receive(tr_GTP2C_DeleteSessionResp(d_teid := exp_teid, cause := exp_cause)) { setverdict(pass); diff --git a/pgw/gen_links.sh b/pgw/gen_links.sh index 061d78c..a0f1281 100755 --- a/pgw/gen_links.sh +++ b/pgw/gen_links.sh @@ -44,12 +44,17 @@ FILES="UECUPS_CodecPort.ttcn UECUPS_CodecPort_CtrlFunct.ttcn UECUPS_CodecPort_CtrlFunctDef.cc UECUPS_Types.ttcn " gen_links $DIR $FILES +DIR=$BASEDIR/titan.ProtocolModules.DIAMETER_ProtocolModule_Generator/src +FILES="DIAMETER_EncDec.cc" +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+="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 " +FILES+="DIAMETER_Types.ttcn DIAMETER_CodecPort.ttcn DIAMETER_CodecPort_CtrlFunct.ttcn DIAMETER_CodecPort_CtrlFunctDef.cc DIAMETER_Emulation.ttcn DIAMETER_Templates.ttcn " gen_links $DIR $FILES ignore_pp_results diff --git a/pgw/regen_makefile.sh b/pgw/regen_makefile.sh index f53150c..adb5820 100755 --- a/pgw/regen_makefile.sh +++ b/pgw/regen_makefile.sh @@ -2,5 +2,6 @@ FILES="*.ttcn IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc GTPC_EncDec.cc GTPU_EncDec.cc GTP_CodecPort_CtrlFunctDef.cc GTPv2_CodecPort_CtrlFunctDef.cc ICMPv6_EncDec.cc IP_EncDec.cc Native_FunctionDefs.cc UDP_EncDec.cc ICMP_EncDec.cc " FILES+="UECUPS_CodecPort_CtrlFunctDef.cc " +FILES+="DIAMETER_EncDec.cc DIAMETER_CodecPort_CtrlFunctDef.cc " ../regen-makefile.sh PGW_Tests.ttcn $FILES -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17950 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: I5f0c7a66d38e5c8b5f36b45717d49648a14ed7b2 Gerrit-Change-Number: 17950 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 Apr 26 20:08:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 20:08:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Add support for PCRF emulation (CCR/CCA) 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/+/17950 to look at the new patch set (#2). Change subject: pgw: Add support for PCRF emulation (CCR/CCA) ...................................................................... pgw: Add support for PCRF emulation (CCR/CCA) If mp_pcrf_local_ip is set to a non-empty string, the PGW testsuite now emulates a PCRF and expects the PGW to perform the related transactions - so far Credit-Control-Request INITIAL_REQUEST at session creation, and TERMINATION_REQUST at session deletion. Change-Id: I5f0c7a66d38e5c8b5f36b45717d49648a14ed7b2 --- M library/DIAMETER_Templates.ttcn M pgw/PGW_Tests.ttcn M pgw/gen_links.sh M pgw/regen_makefile.sh 4 files changed, 176 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/50/17950/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17950 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: I5f0c7a66d38e5c8b5f36b45717d49648a14ed7b2 Gerrit-Change-Number: 17950 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 Apr 26 20:08:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 20:08:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: DIAMETER_Emulation: Notify user of CapabilityExchange References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17951 ) Change subject: DIAMETER_Emulation: Notify user of CapabilityExchange ...................................................................... DIAMETER_Emulation: Notify user of CapabilityExchange During start of the test case, we must wait until the IUT has established a DIAMETER/SCTP connection to the testsuite. Implement this by means of a message on the DIAMETER_UNIT port and an associated helper function. Change-Id: I95434307efc67025ee6d373561f6d22398f959c5 --- M library/DIAMETER_Emulation.ttcn M mme/MME_Tests.ttcn 2 files changed, 30 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/51/17951/1 diff --git a/library/DIAMETER_Emulation.ttcn b/library/DIAMETER_Emulation.ttcn index cff4d63..f7a0f88 100644 --- a/library/DIAMETER_Emulation.ttcn +++ b/library/DIAMETER_Emulation.ttcn @@ -37,6 +37,12 @@ type hexstring IMSI; +/* notify the recipient that a Capability Exchange happened */ +type record DiameterCapabilityExchgInd { + PDU_DIAMETER rx, + PDU_DIAMETER tx +}; + type component DIAMETER_ConnHdlr { port DIAMETER_Conn_PT DIAMETER; /* procedure based port to register for incoming connections */ @@ -50,7 +56,7 @@ /* global test port e.g. for non-imsi/conn specific messages */ type port DIAMETER_PT message { - inout PDU_DIAMETER; + inout PDU_DIAMETER, DiameterCapabilityExchgInd; } with { extension "internal" }; @@ -319,6 +325,8 @@ resp := ts_DIA_CEA(mrf.msg.hop_by_hop_id, mrf.msg.end_to_end_id, p.origin_host, p.origin_realm, f_inet_addr(p.local_ip), p.vendor_app_id); DIAMETER.send(t_DIAMETER_Send(g_diameter_conn_id, resp)); + /* notify our user that the CER->CEA exchange has happened */ + DIAMETER_UNIT.send(DiameterCapabilityExchgInd:{rx:=mrf.msg, tx:=valueof(resp)}); } /* DIAMETER from remote peer */ @@ -434,4 +442,23 @@ } +function f_diameter_wait_capability(DIAMETER_PT pt) +{ + /* Wait for the Capability Exchange with the DUT */ + timer T := 10.0; + T.start; + alt { + [] pt.receive(DiameterCapabilityExchgInd:?) {} + [] pt.receive { + setverdict(fail, "Unexpected receive waiting for DiameterCapabilityExchgInd"); + mtc.stop; + } + [] T.timeout { + setverdict(fail, "Timeout waiting for DiameterCapabilityExchgInd"); + mtc.stop; + } + } +} + + } diff --git a/mme/MME_Tests.ttcn b/mme/MME_Tests.ttcn index 0516809..f9bcf6d 100644 --- a/mme/MME_Tests.ttcn +++ b/mme/MME_Tests.ttcn @@ -229,6 +229,8 @@ connect(vc_DIAMETER:DIAMETER_UNIT, self:DIAMETER_UNIT); connect(vc_DIAMETER:DIAMETER_PROC, self:DIAMETER_PROC); vc_DIAMETER.start(DIAMETER_Emulation.main(ops, pars, id)); + + f_diameter_wait_capability(DIAMETER_UNIT); } friend template (value) TAI ts_enb_S1AP_TAI(EnbParams enb) := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17951 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: I95434307efc67025ee6d373561f6d22398f959c5 Gerrit-Change-Number: 17951 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 Apr 26 20:14:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 20:14:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: DIAMETER_Types: Add IETF RFC4006 CreditControl + related In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17947 ) Change subject: DIAMETER_Types: Add IETF RFC4006 CreditControl + related ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17947 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: Ibe7321e695337ff62fdc912270f6e13e6c6d6cf2 Gerrit-Change-Number: 17947 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 26 Apr 2020 20:14: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 Apr 26 20:14:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 20:14:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: DIAMETER_Emulation: Add support for IMSI in Subscription-Id In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17948 ) Change subject: DIAMETER_Emulation: Add support for IMSI in Subscription-Id ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17948 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: I299fcc2e01e908914df32fda4fb93b1114402c77 Gerrit-Change-Number: 17948 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 26 Apr 2020 20:14: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 Sun Apr 26 20:14:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 20:14:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: DIAMETER: parametrize CEA template In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17949 ) Change subject: DIAMETER: parametrize CEA template ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17949 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: Ie30ff1bac40ab3dc6058587f0586b643ff2b0cb6 Gerrit-Change-Number: 17949 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 26 Apr 2020 20:14: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 Apr 26 20:14:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 20:14:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: DIAMETER_Emulation: Notify user of CapabilityExchange In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17951 ) Change subject: DIAMETER_Emulation: Notify user of CapabilityExchange ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17951 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: I95434307efc67025ee6d373561f6d22398f959c5 Gerrit-Change-Number: 17951 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 26 Apr 2020 20:14: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 Apr 26 20:15:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 20:15:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: DIAMETER_Types: Add IETF RFC4006 CreditControl + related In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17947 ) Change subject: DIAMETER_Types: Add IETF RFC4006 CreditControl + related ...................................................................... DIAMETER_Types: Add IETF RFC4006 CreditControl + related This adds more DIAMETER types to our TTCN-3 module, specifically those encountered on Gx between PGW and PCRF. ./AVP.sh Base_IETF_RFC3588.ddf BaseTypes_IETF_RFC3588.ddf AAAInterface_3GPP_TS29272_f10.ddf GxInterface_PCC_3GPP_TS29212_f10.ddf S6Interfaces_3GPP_TS29336_f00.ddf MobileIPv6_HA_IETF_RFC5778.ddf RxInterface_PCC_3GPP_TS29214_f20.ddf NetworkAccessServer_IETF_RFC4005.ddf CreditControl_IETF_RFC4006.ddf CxDxInterface_3GPP_TS29229_c30.ddf GiSGiInterface_3GPP_TS29061_d70.ddf Change-Id: Ibe7321e695337ff62fdc912270f6e13e6c6d6cf2 --- M library/DIAMETER_Types.ttcn 1 file changed, 2,708 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/DIAMETER_Types.ttcn b/library/DIAMETER_Types.ttcn index e0c34e4..972cd6e 100644 --- a/library/DIAMETER_Types.ttcn +++ b/library/DIAMETER_Types.ttcn @@ -4,7 +4,7 @@ // // /////////////////////////////////////////////////// // Generated with command: -// AVP.sh Base_IETF_RFC3588.ddf BaseTypes_IETF_RFC3588.ddf AAAInterface_3GPP_TS29272_f10.ddf GxInterface_PCC_3GPP_TS29212_f10.ddf S6Interfaces_3GPP_TS29336_f00.ddf MobileIPv6_HA_IETF_RFC5778.ddf RxInterface_PCC_3GPP_TS29214_f20.ddf +// AVP.sh Base_IETF_RFC3588.ddf BaseTypes_IETF_RFC3588.ddf AAAInterface_3GPP_TS29272_f10.ddf GxInterface_PCC_3GPP_TS29212_f10.ddf S6Interfaces_3GPP_TS29336_f00.ddf MobileIPv6_HA_IETF_RFC5778.ddf RxInterface_PCC_3GPP_TS29214_f20.ddf NetworkAccessServer_IETF_RFC4005.ddf CreditControl_IETF_RFC4006.ddf CxDxInterface_3GPP_TS29229_c30.ddf GiSGiInterface_3GPP_TS29061_d70.ddf module DIAMETER_Types { /****************************************************************************** * Copyright (c) 2000-2019 Ericsson Telecom AB @@ -3947,17 +3947,1627 @@ type AVP_Unsigned32 RX_3GPP_Extended_Min_Requested_BW_UL -// STATISTICS: 523 AVP descriptors found -// STATISTICS: 523 AVP type definitions matching AVP descriptors found +/****************************************************************************** +* Copyright (c) 2000-2019 Ericsson Telecom AB +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v2.0 +* which accompanies this distribution, and is available at +* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html +* +* Contributors: +* Roland Gecse - initial implementation and initial documentation +* Akos Pernek +* Antal Wuh.Hen.Chang +* Attila Fulop +* Balazs Barcsik +* Bence Molnar +* Csaba Koppany +* David Juhasz +* Eduard Czimbalmos +* Elemer Lelik +* Endre Kiss +* Endre Kulcsar +* Gabor Szalai +* Gabor Tatarka +* Gergely Futo +* Istvan Sandor +* Krisztian Pandi +* Kulcs?r Endre +* Laszlo Tamas Zeke +* Norbert Pinter +* Roland Gecse +* Tibor Bende +* Tibor Szabo +* Timea Moder +* Zoltan Medve +* Zsolt Nandor Torok +* Zsolt Szalai +******************************************************************************/ +// +// File: NetworkAccessServer_IETF_RFC4005.ddf +// Description: DDF for NAS according to RFC 4005 +// Rev: R55A +// Prodnr: CNL113462 +/////////////////////////////////////////////// + +// APPLICATION-NAME: DNAS +// APPLICATION-REVISION: RFC4005 + +// AVP implementations according to: +// RFC 4005 - Diameter Network Access Server Application +// + +// RFC 4005 3 +// WARNING: Enumeration item with code (265) exists in type Command_Code +// WARNING: Enumeration item with code (258) exists in type Command_Code +// WARNING: Enumeration item with code (275) exists in type Command_Code +// WARNING: Enumeration item with code (274) exists in type Command_Code +// WARNING: Enumeration item with code (271) exists in type Command_Code + + +// RFC 4005 +// AVP: NAS-Port (5) +// 4.2 +type AVP_Unsigned32 DNAS_NONE_NAS_Port + +// RFC 4005 +// AVP: NAS-Port-Id (87) +// 4.3 +type AVP_UTF8String DNAS_NONE_NAS_Port_Id + +// RFC 4005 +// AVP: NAS-Port-Type (61) +// 4.4 +type AVP_Unsigned32 DNAS_NONE_NAS_Port_Type + +// RFC 4005 +// AVP: Called-Station-Id (30) +// 4.5 +type AVP_UTF8String DNAS_NONE_Called_Station_Id + +// RFC 4005 +// AVP: Calling-Station-Id (31) +// 4.6 +type AVP_UTF8String DNAS_NONE_Calling_Station_Id + +// RFC 4005 +// AVP: Connect-Info (77) +// 4.7 +type AVP_UTF8String DNAS_NONE_Connect_Info + +// RFC 4005 +// AVP: Originating-Line-Info (94) +// 4.8 +type AVP_OctetString DNAS_NONE_Originating_Line_Info + +// RFC 4005 +// AVP: Reply-Message (18) +// 4.9 +type AVP_UTF8String DNAS_NONE_Reply_Message + + + +// RFC 4005 +// AVP: User-Password (2) +// 5.1 +type AVP_OctetString DNAS_NONE_User_Password + +// RFC 4005 +// AVP: Password-Retry (75) +// 5.2 +type AVP_Unsigned32 DNAS_NONE_Password_Retry + +// RFC 4005 +// AVP: Prompt (76) +// 5.3 +type enumerated DNAS_NONE_Prompt { + NO_ECHO (0), + ECHO (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4005 +// AVP: CHAP-Auth (402) +// 5.4 +type AVP_Grouped DNAS_NONE_CHAP_Auth + +// RFC 4005 +// AVP: CHAP-Algorithm (403) +// 5.5 +type enumerated DNAS_NONE_CHAP_Algorithm { + CHAP_with_MD5 (5) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4005 +// AVP: CHAP-Ident (404) +// 5.6 +type AVP_OctetString DNAS_NONE_CHAP_Ident + +// RFC 4005 +// AVP: CHAP-Response (405) +// 5.7 +type AVP_OctetString DNAS_NONE_CHAP_Response + +// RFC 4005 +// AVP: CHAP-Challenge (60) +// 5.8 +type AVP_OctetString DNAS_NONE_CHAP_Challenge + +// RFC 4005 +// AVP: ARAP-Password (70) +// 5.9 +type AVP_OctetString DNAS_NONE_ARAP_Password + +// RFC 4005 +// AVP: ARAP-Challenge-Response (84) +// 5.10 +type AVP_OctetString DNAS_NONE_ARAP_Challenge_Response + +// RFC 4005 +// AVP: ARAP-Security (73) +// 5.11 +type AVP_Unsigned32 DNAS_NONE_ARAP_Security + +// RFC 4005 +// AVP: ARAP-Security-Data (74) +// 5.12 +type AVP_OctetString DNAS_NONE_ARAP_Security_Data + + + +// RFC 4005 +// AVP: Service-Type (6) +// 6.1 +type AVP_Unsigned32 DNAS_NONE_Service_Type + +// RFC 4005 +// AVP: Callback-Number (19) +// 6.2 +type AVP_UTF8String DNAS_NONE_Callback_Number + +// RFC 4005 +// AVP: Callback-Id (20) +// 6.3 +type AVP_UTF8String DNAS_NONE_Callback_Id + +// RFC 4005 +// AVP: Idle-Timeout (28) +// 6.4 +type AVP_Unsigned32 DNAS_NONE_Idle_Timeout + +// RFC 4005 +// AVP: Port-Limit (62) +// 6.5 +type AVP_Unsigned32 DNAS_NONE_Port_Limit + +// RFC 4005 +// AVP: NAS-Filter-Rule (400) +// 6.6 +type AVP_IPFilterRule DNAS_NONE_NAS_Filter_Rule + +// RFC 4005 +// AVP: Filter-Id (11) +// 6.7 +type AVP_UTF8String DNAS_NONE_Filter_Id + +// RFC 4005 +// AVP: Configuration-Token (78) +// 6.8 +type AVP_OctetString DNAS_NONE_Configuration_Token + +// RFC 4005 +// AVP: QoS-Filter-Rule (407) +// 6.9 +type AVP_QoSFilterRule DNAS_NONE_QoS_Filter_Rule + +// RFC 4005 +// AVP: Framed-Protocol (7) +// 6.10.1 +type enumerated DNAS_NONE_Framed_Protocol { + PPP (1), + SLIP (2), + ARAP (3), + GANDALF (4), + XYLOGICS (5), + X_75_SYNCHRONOUS (6), + GPRS_PDP_CONTEXT (7) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4005 +// AVP: Framed-Routing (10) +// 6.10.2 +type enumerated DNAS_NONE_Framed_Routing { + NONE (0), + SEND_ROUTING_PACKETS (1), + LISTEN_FOR_ROUTING_PACKETS (2), + SEND_AND_LISTEN (3) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4005 +// AVP: Framed-MTU (12) +// 6.10.3 +type AVP_Unsigned32 DNAS_NONE_Framed_MTU + +// RFC 4005 +// AVP: Framed-Compression (13) +// 6.10.4 +type enumerated DNAS_NONE_Framed_Compression { + NONE (0), + VJ_TCP_IP_HEADER_COMPRESSION (1), + IPX_HEADER_COMPRESSION (2), + STAC_LZS_COMPRESSION (3) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4005 +// AVP: Framed-IP-Address (8) +// 6.11.1 +type AVP_OctetString DNAS_NONE_Framed_IP_Address + +// RFC 4005 +// AVP: Framed-IP-Netmask (9) +// 6.11.2 +type AVP_OctetString DNAS_NONE_Framed_IP_Netmask + +// RFC 4005 +// AVP: Framed-Route (22) +// 6.11.3 +type AVP_UTF8String DNAS_NONE_Framed_Route + +// RFC 4005 +// AVP: Framed-Pool (88) +// 6.11.4 +type AVP_OctetString DNAS_NONE_Framed_Pool + +// RFC 4005 +// AVP: Framed-Interface-Id (96) +// 6.11.5 +type AVP_Unsigned64 DNAS_NONE_Framed_Interface_Id + +// RFC 4005 +// AVP: Framed-IPv6-Prefix (97) +// 6.11.6 +type AVP_OctetString DNAS_NONE_Framed_IPv6_Prefix + +// RFC 4005 +// AVP: Framed-IPv6-Route (99) +// 6.11.7 +type AVP_UTF8String DNAS_NONE_Framed_IPv6_Route + +// RFC 4005 +// AVP: Framed-IPv6-Pool (100) +// 6.11.8 +type AVP_OctetString DNAS_NONE_Framed_IPv6_Pool + +// RFC 4005 +// AVP: Framed-IPX-Network (23) +// 6.12.1 +type AVP_UTF8String DNAS_NONE_Framed_IPX_Network + +// RFC 4005 +// AVP: Framed-Appletalk-Link (37) +// 6.13.1 +type AVP_Unsigned32 DNAS_NONE_Framed_Appletalk_Link + +// RFC 4005 +// AVP: Framed-Appletalk-Network (38) +// 6.13.2 +type AVP_Unsigned32 DNAS_NONE_Framed_Appletalk_Network + +// RFC 4005 +// AVP: Framed-Appletalk-Zone (39) +// 6.13.3 +type AVP_OctetString DNAS_NONE_Framed_Appletalk_Zone + +// RFC 4005 +// AVP: ARAP-Features (71) +// 6.14.1 +type AVP_OctetString DNAS_NONE_ARAP_Features + +// RFC 4005 +// AVP: ARAP-Zone-Access (72) +// 6.14.2 +type enumerated DNAS_NONE_ARAP_Zone_Access { + ONLY_ALLOW_ACCESS_TO_DEFAULT_ZONE (1), + USE_ZONE_FILTER_INCLUSIVELY (2), + USE_ZONE_FILTER_EXCLUSIVELY (4) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4005 +// AVP: Login-IP-Host (14) +// 6.15.1 +type AVP_OctetString DNAS_NONE_Login_IP_Host + +// RFC 4005 +// AVP: Login-IPv6-Host (98) +// 6.15.2 +type AVP_OctetString DNAS_NONE_Login_IPv6_Host + +// RFC 4005 +// AVP: Login-Service (15) +// 6.15.3 +type enumerated DNAS_NONE_Login_Service { + TELNET (0), + RLOGIN (1), + TCP_CLEAR (2), + PORTMASTER (3), + LAT (4), + X25_PAD (5), + X25_T3POS (6), + TCP_CLEAR_QUIET (8) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4005 +// AVP: Login-TCP-Port (16) +// 6.16.1 +type AVP_Unsigned32 DNAS_NONE_Login_TCP_Port + +// RFC 4005 +// AVP: Login-LAT-Service (34) +// 6.17.1 +type AVP_OctetString DNAS_NONE_Login_LAT_Service + +// RFC 4005 +// AVP: Login-LAT-Node (35) +// 6.17.2 +type AVP_OctetString DNAS_NONE_Login_LAT_Node + +// RFC 4005 +// AVP: Login-LAT-Group (36) +// 6.17.3 +type AVP_OctetString DNAS_NONE_Login_LAT_Group + +// RFC 4005 +// AVP: Login-LAT-Port (63) +// 6.17.4 +type AVP_OctetString DNAS_NONE_Login_LAT_Port + + + +// RFC 4005 +// AVP: Tunneling (401) +// 7.1 +type AVP_Grouped DNAS_NONE_Tunneling + +// RFC 4005 +// AVP: Tunnel-Type (64) +// 7.2 +type AVP_Unsigned32 DNAS_NONE_Tunnel_Type + +// RFC 4005 +// AVP: Tunnel-Medium-Type (65) +// 7.3 +type AVP_Unsigned32 DNAS_NONE_Tunnel_Medium_Type + +// RFC 4005 +// AVP: Tunnel-Client-Endpoint (66) +// 7.4 +type AVP_UTF8String DNAS_NONE_Tunnel_Client_Endpoint + +// RFC 4005 +// AVP: Tunnel-Server-Endpoint (67) +// 7.5 +type AVP_UTF8String DNAS_NONE_Tunnel_Server_Endpoint + +// RFC 4005 +// AVP: Tunnel-Password (69) +// 7.6 +type AVP_OctetString DNAS_NONE_Tunnel_Password + +// RFC 4005 +// AVP: Tunnel-Private-Group-Id (81) +// 7.7 +type AVP_OctetString DNAS_NONE_Tunnel_Private_Group_Id + +// RFC 4005 +// AVP: Tunnel-Assignment-Id (82) +// 7.8 +type AVP_OctetString DNAS_NONE_Tunnel_Assignment_Id + +// RFC 4005 +// AVP: Tunnel-Preference (83) +// 7.9 +type AVP_Unsigned32 DNAS_NONE_Tunnel_Preference + +// RFC 4005 +// AVP: Tunnel-Client-Auth-Id (90) +// 7.10 +type AVP_UTF8String DNAS_NONE_Tunnel_Client_Auth_Id + +// RFC 4005 +// AVP: Tunnel-Server-Auth-Id (91) +// 7.11 +type AVP_UTF8String DNAS_NONE_Tunnel_Server_Auth_Id + + + +// RFC 4005 +// AVP: Accounting-Input-Octets (363) +// 8.1 +type AVP_Unsigned64 DNAS_NONE_Accounting_Input_Octets + +// RFC 4005 +// AVP: Accounting-Output-Octets (364) +// 8.2 +type AVP_Unsigned64 DNAS_NONE_Accounting_Output_Octets + +// RFC 4005 +// AVP: Accounting-Input-Packets (365) +// 8.3 +type AVP_Unsigned64 DNAS_NONE_Accounting_Input_Packets + +// RFC 4005 +// AVP: Accounting-Output-Packets (366) +// 8.4 +type AVP_Unsigned64 DNAS_NONE_Accounting_Output_Packets + +// RFC 4005 +// AVP: Acct-Session-Time (46) +// 8.5 +type AVP_Unsigned32 DNAS_NONE_Acct_Session_Time + +// RFC 4005 +// AVP: Acct-Authentic (45) +// 8.6 +type enumerated DNAS_NONE_Acct_Authentic { + RADIUS (1), + LOCAL (2), + REMOTE (3), + DIAMETER (4) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4005 +// AVP: Accounting-Auth-Method (406) +// 8.7 +type enumerated DNAS_NONE_Accounting_Auth_Method { + PAP (1), + CHAP (2), + MS_CHAP_1 (3), + MS_CHAP_2 (4), + EAP (5), + None (7) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4005 +// AVP: Acct-Delay-Time (41) +// 8.8 +type AVP_Unsigned32 DNAS_NONE_Acct_Delay_Time + +// RFC 4005 +// AVP: Acct-Link-Count (51) +// 8.9 +type AVP_Unsigned32 DNAS_NONE_Acct_Link_Count + +// RFC 4005 +// AVP: Acct-Tunnel-Connection (68) +// 8.10 +type AVP_OctetString DNAS_NONE_Acct_Tunnel_Connection + +// RFC 4005 +// AVP: Acct-Tunnel-Packets-Lost (86) +// 8.11 +type AVP_Unsigned32 DNAS_NONE_Acct_Tunnel_Packets_Lost + + + +// RFC 4005 +// AVP: NAS-Identifier (32) +// 9.3.1 +type AVP_UTF8String DNAS_NONE_NAS_Identifier + +// RFC 4005 +// AVP: NAS-IP-Address (4) +// 9.3.2 +type AVP_OctetString DNAS_NONE_NAS_IP_Address + +// RFC 4005 +// AVP: NAS-IPv6-Address (95) +// 9.3.3 +type AVP_OctetString DNAS_NONE_NAS_IPv6_Address + +// RFC 4005 +// AVP: State (24) +// 9.3.4 +type AVP_OctetString DNAS_NONE_State + +// RFC 4005 +// AVP: Origin-AAA-Protocol (408) +// 9.3.6 +type enumerated DNAS_NONE_Origin_AAA_Protocol { + RADIUS (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} +/****************************************************************************** +* Copyright (c) 2000-2019 Ericsson Telecom AB +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v2.0 +* which accompanies this distribution, and is available at +* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html +* +* Contributors: +* Roland Gecse - initial implementation and initial documentation +* Akos Pernek +* Antal Wuh.Hen.Chang +* Attila Fulop +* Balazs Barcsik +* Bence Molnar +* Csaba Koppany +* David Juhasz +* Eduard Czimbalmos +* Elemer Lelik +* Endre Kiss +* Endre Kulcsar +* Gabor Szalai +* Gabor Tatarka +* Gergely Futo +* Istvan Sandor +* Krisztian Pandi +* Kulcs?r Endre +* Laszlo Tamas Zeke +* Norbert Pinter +* Roland Gecse +* Tibor Bende +* Tibor Szabo +* Timea Moder +* Zoltan Medve +* Zsolt Nandor Torok +* Zsolt Szalai +******************************************************************************/ +// +// File: CreditControl_IETF_RFC4006.ddf +// Description: DDF for DCC according to RFC 4006 +// Rev: R55A +// Prodnr: CNL 1134 62 +/////////////////////////////////////////////// + +// APPLICATION-NAME: DCC +// APPLICATION-REVISION: RFC4006 + +// AVP implementations according to: +// RFC 4006 - Diameter Credit Control Application +// IS for Additional Billing for Verizon in MTAS 125/1594-FCP 101 8664 Uen PA8 + +// RFC 4006 12.2 +// WARNING: Enumeration item with code (272) exists in type Command_Code + + +// RFC 4006 +// AVP: CC-Correlation-Id (411) +// 8.1 +type AVP_OctetString DCC_NONE_CC_Correlation_Id + +// RFC 4006 +// AVP: CC-Input-Octets (412) +// 8.24 +type AVP_Unsigned64 DCC_NONE_CC_Input_Octets + +// RFC 4006 +// AVP: CC-Money (413) +// 8.22 +type AVP_Grouped DCC_NONE_CC_Money + +// RFC 4006 +// AVP: CC-Output-Octets (414) +// 8.25 +type AVP_Unsigned64 DCC_NONE_CC_Output_Octets + +// RFC 4006 +// AVP: CC-Request-Number (415) +// 8.2 +type AVP_Unsigned32 DCC_NONE_CC_Request_Number + +// RFC 4006 +// AVP: CC-Request-Type (416) +// 8.3 +type enumerated DCC_NONE_CC_Request_Type { + INITIAL_REQUEST (1), + UPDATE_REQUEST (2), + TERMINATION_REQUEST (3), + EVENT_REQUEST (4) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: CC-Service-Specific-Units (417) +// 8.26 +type AVP_Unsigned64 DCC_NONE_CC_Service_Specific_Units + +// RFC 4006 +// AVP: CC-Session-Failover (418) +// 8.4 +type enumerated DCC_NONE_CC_Session_Failover { + FAILOVER_NOT_SUPPORTED (0), + FAILOVER_SUPPORTED (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: CC-Sub-Session-Id (419) +// 8.5 +type AVP_Unsigned64 DCC_NONE_CC_Sub_Session_Id + +// RFC 4006 +// AVP: CC-Time (420) +// 8.21 +type AVP_Unsigned32 DCC_NONE_CC_Time + +// RFC 4006 +// AVP: CC-Total-Octets (421) +// 8.23 +type AVP_Unsigned64 DCC_NONE_CC_Total_Octets + +// RFC 4006 +// AVP: CC-Unit-Type (454) +// 8.32 +type enumerated DCC_NONE_CC_Unit_Type { + TIME (0), + MONEY (1), + TOTAL_OCTETS (2), + INPUT_OCTETS (3), + OUTPUT_OCTETS (4), + SERVICE_SPECIFIC_UNITS (5) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Check-Balance-Result (422) +// 8.6 +type enumerated DCC_NONE_Check_Balance_Result { + ENOUGH_CREDIT (0), + NO_CREDIT (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Cost-Information (423) +// 8.7 +type AVP_Grouped DCC_NONE_Cost_Information + +// RFC 4006 +// AVP: Cost-Unit (424) +// 8.12 +type AVP_UTF8String DCC_NONE_Cost_Unit + +// RFC 4006 +// AVP: Credit-Control (426) +// 8.13 +type enumerated DCC_NONE_Credit_Control { + CREDIT_AUTHORIZATION (0), + RE_AUTHORIZATION (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Credit-Control-Failure-Handling (427) +// 8.14 +type enumerated DCC_NONE_Credit_Control_Failure_Handling { + TERMINATE (0), + CONTINUE (1), + RETRY_AND_TERMINATE (2) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Currency-Code (425) +// 8.11 +type AVP_Unsigned32 DCC_NONE_Currency_Code + +// RFC 4006 +// AVP: Direct-Debiting-Failure-Handling (428) +// 8.15 +type enumerated DCC_NONE_Direct_Debiting_Failure_Handling { + TERMINATE_OR_BUFFER (0), + CONTINUE (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Exponent (429) +// 8.9 +type AVP_Integer32 DCC_NONE_Exponent + +// RFC 4006 +// AVP: Final-Unit-Action (449) +// 8.35 +type enumerated DCC_NONE_Final_Unit_Action { + TERMINATE (0), + REDIRECT (1), + RESTRICT_ACCESS (2) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Final-Unit-Indication (430) +// 8.34 +type AVP_Grouped DCC_NONE_Final_Unit_Indication + +// RFC 4006 +// AVP: Granted-Service-Unit (431) +// 8.17 +type AVP_Grouped DCC_NONE_Granted_Service_Unit + +// RFC 4006 +// AVP: G-S-U-Pool-Identifier (453) +// 8.31 +type AVP_Unsigned32 DCC_NONE_G_S_U_Pool_Identifier + +// RFC 4006 +// AVP: G-S-U-Pool-Reference (457) +// 8.30 +type AVP_Grouped DCC_NONE_G_S_U_Pool_Reference + +// RFC 4006 +// AVP: Multiple-Services-Credit-Control (456) +// 8.16 +type AVP_Grouped DCC_NONE_Multiple_Services_Credit_Control + +// RFC 4006 +// AVP: Multiple-Services-Indicator (455) +// 8.40 +type enumerated DCC_NONE_Multiple_Services_Indicator { + MULTIPLE_SERVICES_NOT_SUPPORTED (0), + MULTIPLE_SERVICES_SUPPORTED (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Rating-Group (432) +// 8.29 +type AVP_Unsigned32 DCC_NONE_Rating_Group + +// RFC 4006 +// AVP: Redirect-Address-Type (433) +// 8.38 +type enumerated DCC_NONE_Redirect_Address_Type { + IPV4_ADDRESS (0), + IPV6_ADDRESS (1), + URL (2), + SIP_URI (3) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Redirect-Server (434) +type AVP_Grouped DCC_NONE_Redirect_Server + +// RFC 4006 +// AVP: Redirect-Server-Address (435) +// 8.37 +type AVP_UTF8String DCC_NONE_Redirect_Server_Address + +// RFC 4006 +// AVP: Requested-Action (436) +// 8.41 +type enumerated DCC_NONE_Requested_Action { + DIRECT_DEBITING (0), + REFUND_ACCOUNT (1), + CHECK_BALANCE (2), + PRICE_ENQUIRY (3) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Requested-Service-Unit (437) +// 8.18 +type AVP_Grouped DCC_NONE_Requested_Service_Unit + +// RFC 4006 +// AVP: Restriction-Filter-Rule (438) +// 8.36 +type AVP_IPFilterRule DCC_NONE_Restriction_Filter_Rule + +// RFC 4006 +// AVP: Service-Context-Id (461) +// 8.42 +type AVP_UTF8String DCC_NONE_Service_Context_Id + +// RFC 4006 +// AVP: Service-Identifier (439) +// 8.28 +type AVP_Unsigned32 DCC_NONE_Service_Identifier + +// RFC 4006 +// AVP: Service-Parameter-Info (440) +// 8.43 +type AVP_Grouped DCC_NONE_Service_Parameter_Info + +// RFC 4006 +// AVP: Service-Parameter-Type (441) +// 8.44 +type AVP_Unsigned32 DCC_NONE_Service_Parameter_Type + +// RFC 4006 +// AVP: Service-Parameter-Value (442) +// 8.45 +type AVP_OctetString DCC_NONE_Service_Parameter_Value + +// RFC 4006 +// AVP: Subscription-Id (443) +// 8.46 +type AVP_Grouped DCC_NONE_Subscription_Id + +// RFC 4006 +// AVP: Subscription-Id-Data (444) +// 8.48 +type AVP_UTF8String DCC_NONE_Subscription_Id_Data + +// RFC 4006 +// AVP: Subscription-Id-Type (450) +// 8.47 +type enumerated DCC_NONE_Subscription_Id_Type { + END_USER_E164 (0), + END_USER_IMSI (1), + END_USER_SIP_URI (2), + END_USER_NAI (3), + END_USER_PRIVATE (4) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Tariff-Change-Usage (452) +// 8.27 +type enumerated DCC_NONE_Tariff_Change_Usage { + UNIT_BEFORE_TARIFF_CHANGE (0), + UNIT_AFTER_TARIFF_CHANGE (1), + UNIT_INDETERMINATE (2) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: Tariff-Time-Change (451) +// 8.20 +type AVP_Time DCC_NONE_Tariff_Time_Change + +// RFC 4006 +// AVP: Unit-Value (445) +// 8.8 +type AVP_Grouped DCC_NONE_Unit_Value + +// RFC 4006 +// AVP: Used-Service-Unit (446) +// 8.19 +type AVP_Grouped DCC_NONE_Used_Service_Unit + +// RFC 4006 +// AVP: User-Equipment-Info (458) +// 8.49 +type AVP_Grouped DCC_NONE_User_Equipment_Info + +// RFC 4006, 125/1594-FCP 101 8664 +// AVP: User-Equipment-Info-Type (459) +// RFC 4006 section 8.50, 125/1594-FCP 101 8664 section 3.3.12 +type enumerated DCC_NONE_User_Equipment_Info_Type { + IMEISV (0), + MAC (1), + EUI64 (2), + MODIFIED_EUI64 (3), + ESN (4), + MEID (5) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// RFC 4006 +// AVP: User-Equipment-Info-Value (460) +// 8.51 +type AVP_OctetString DCC_NONE_User_Equipment_Info_Value + +// RFC 4006 +// AVP: Value-Digits (447) +// 8.10 +type AVP_Integer64 DCC_NONE_Value_Digits + +// RFC 4006 +// AVP: Validity-Time (448) +// 8.33 +type AVP_Unsigned32 DCC_NONE_Validity_Time + +/****************************************************************************** +* Copyright (c) 2000-2019 Ericsson Telecom AB +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v2.0 +* which accompanies this distribution, and is available at +* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html +* +* Contributors: +* Gabor Szalai - initial implementation and initial documentation +******************************************************************************/ +// +// File: CxDxInterface_3GPP_TS29229_c30.ddf +// Description: DDF for CxDx according to 3GPP TS 29.229 V12.3.0 +// Rev: R55A +// Prodnr: CNL 113 462 +/////////////////////////////////////////////// + + +// APPLICATION-NAME: CxDx +// APPLICATION-REVISION: V12_3_0 + +// AVP implementations according to: +// 3GPP TS 29.229 V12.3.0 - Cx and Dx interfaces based on the Diameter protocol +// +// +// Dependant applications +// IETF RFC 3588 - Diameter Base Protocol +// IETF RFC 4005 - Diameter Network Access Server Application +// IETF RFC 5090 (Obsoletes: 4590) - RADIUS Extension for Digest Authentication +// +// Notes: +// Present application has its own vendor specific Diameter application id: 16777216 +// + +// 3GPP TS 29.229 V12.3.0 6.1 + + + + +// 3GPP 29.229 V12.3.0 +// AVP: Visited-Network-Identifier (600) 3GPP (10415) +// 6.3.1 +type AVP_OctetString CxDx_3GPP_Visited_Network_Identifier + +// 3GPP 29.229 V12.3.0 +// AVP: Public-Identity (601) 3GPP (10415) +// 6.3.2 +type AVP_UTF8String CxDx_3GPP_Public_Identity + +// 3GPP 29.229 V12.3.0 +// AVP: Server-Name (602) 3GPP (10415) +// 6.3.3 +type AVP_UTF8String CxDx_3GPP_Server_Name + +// 3GPP 29.229 V12.3.0 +// AVP: Server-Capabilities (603) 3GPP (10415) +// 6.3.4 +type AVP_Grouped CxDx_3GPP_Server_Capabilities + +// 3GPP 29.229 V12.3.0 +// AVP: Mandatory-Capability (604) 3GPP (10415) +// 6.3.5 +type AVP_Unsigned32 CxDx_3GPP_Mandatory_Capability + +// 3GPP 29.229 V12.3.0 +// AVP: Optional-Capability (605) 3GPP (10415) +// 6.3.6 +type AVP_Unsigned32 CxDx_3GPP_Optional_Capability + +// 3GPP 29.229 V12.3.0 +// AVP: User-Data (606) 3GPP (10415) +// 6.3.7 +type AVP_OctetString CxDx_3GPP_User_Data + +// 3GPP 29.229 V12.3.0 +// AVP: SIP-Number-Auth-Items (607) 3GPP (10415) +// 6.3.8 +type AVP_Unsigned32 CxDx_3GPP_SIP_Number_Auth_Items + +// 3GPP 29.229 V12.3.0 +// AVP: SIP-Authentication-Scheme (608) 3GPP (10415) +// 6.3.9 +type AVP_UTF8String CxDx_3GPP_SIP_Authentication_Scheme + +// 3GPP 29.229 V12.3.0 +// AVP: SIP-Authenticate (609) 3GPP (10415) +// 6.3.10 +type AVP_OctetString CxDx_3GPP_SIP_Authenticate + +// 3GPP 29.229 V12.3.0 +// AVP: SIP-Authorization (610) 3GPP (10415) +// 6.3.11 +type AVP_OctetString CxDx_3GPP_SIP_Authorization + +// 3GPP 29.229 V12.3.0 +// AVP: SIP-Authentication-Context (611) 3GPP (10415) +// 6.3.12 +type AVP_OctetString CxDx_3GPP_SIP_Authentication_Context + +// 3GPP 29.229 V12.3.0 +// AVP: SIP-Auth-Data-Item (612) 3GPP (10415) +// 6.3.13 +type AVP_Grouped CxDx_3GPP_SIP_Auth_Data_Item + +// 3GPP 29.229 V12.3.0 +// AVP: SIP-Item-Number (613) 3GPP (10415) +// 6.3.14 +type AVP_Unsigned32 CxDx_3GPP_SIP_Item_Number + +// 3GPP 29.229 V12.3.0 +// AVP: Server-Assignment-Type (614) 3GPP (10415) +// 6.3.15 +type enumerated CxDx_3GPP_Server_Assignment_Type { + NO_ASSIGNMENT (0), + REGISTRATION (1), + RE_REGISTRATION (2), + UNREGISTERED_USER (3), + TIMEOUT_DEREGISTRATION (4), + USER_DEREGISTRATION (5), + TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME (6), + USER_DEREGISTRATION_STORE_SERVER_NAME (7), + ADMINISTRATIVE_DEREGISTRATION (8), + AUTHENTICATION_FAILURE (9), + AUTHENTICATION_TIMEOUT (10), + DEREGISTRATION_TOO_MUCH_DATA (11), + AAA_USER_DATA_REQUEST (12), + PGW_UPDATE (13), + RESTORATION (14) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// 3GPP 29.229 V12.3.0 +// AVP: Deregistration-Reason (615) 3GPP (10415) +// 6.3.16 +type AVP_Grouped CxDx_3GPP_Deregistration_Reason + +// 3GPP 29.229 V12.3.0 +// AVP: Reason-Code (616) 3GPP (10415) +// 6.3.17 +type enumerated CxDx_3GPP_Reason_Code { + PERMANENT_TERMINATION (0), + NEW_SERVER_ASSIGNED (1), + SERVER_CHANGE (2), + REMOVE_S_CSCF (3) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// 3GPP 29.229 V12.3.0 +// AVP: Reason-Info (617) 3GPP (10415) +// 6.3.18 +type AVP_UTF8String CxDx_3GPP_Reason_Info + +// 3GPP 29.229 V12.3.0 +// AVP: Charging-Information (618) 3GPP (10415) +// 6.3.19 +type AVP_Grouped CxDx_3GPP_Charging_Information + +// 3GPP 29.229 V12.3.0 +// AVP: Primary-Event-Charging-Function-Name (619) 3GPP (10415) +// 6.3.20 +type AVP_DiameterURI CxDx_3GPP_Primary_Event_Charging_Function_Name + +// 3GPP 29.229 V12.3.0 +// AVP: Secondary-Event-Charging-Function-Name (620) 3GPP (10415) +// 6.3.21 +type AVP_DiameterURI CxDx_3GPP_Secondary_Event_Charging_Function_Name + +// 3GPP 29.229 V12.3.0 +// AVP: Primary-Charging-Collection-Function-Name (621) 3GPP (10415) +// 6.3.22 +type AVP_DiameterURI CxDx_3GPP_Primary_Charging_Collection_Function_Name + +// 3GPP 29.229 V12.3.0 +// AVP: Secondary-Charging-Collection-Function-Name (622) 3GPP (10415) +// 6.3.23 +type AVP_DiameterURI CxDx_3GPP_Secondary_Charging_Collection_Function_Name + +// 3GPP 29.229 V12.3.0 +// AVP: User-Authorization-Type (623) 3GPP (10415) +// 6.3.24 +type enumerated CxDx_3GPP_User_Authorization_Type { + REGISTRATION (0), + DE_REGISTRATION (1), + REGISTRATION_AND_CAPABILITIES (2) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// 3GPP 29.229 V12.3.0 +// AVP: User-Data-Already-Available (624) 3GPP (10415) +// 6.3.26 +type enumerated CxDx_3GPP_User_Data_Already_Available { + USER_DATA_NOT_AVAILABLE (0), + USER_DATA_ALREADY_AVAILABLE (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// 3GPP 29.229 V12.3.0 +// AVP: Confidentiality-Key (625) 3GPP (10415) +// 6.3.27 +type AVP_OctetString CxDx_3GPP_Confidentiality_Key + +// 3GPP 29.229 V12.3.0 +// AVP: Integrity-Key (626) 3GPP (10415) +// 6.3.28 +type AVP_OctetString CxDx_3GPP_Integrity_Key + +// 3GPP 29.229 V12.3.0 +// AVP: Supported-Features (628) 3GPP (10415) +// 6.3.29 +type AVP_Grouped CxDx_3GPP_Supported_Features + +// 3GPP 29.229 V12.3.0 +// AVP: Feature-List-ID (629) 3GPP (10415) +// 6.3.30 +type AVP_Unsigned32 CxDx_3GPP_Feature_List_ID + +// 3GPP 29.229 V12.3.0 +// AVP: Feature-List (630) 3GPP (10415) +// 6.3.31 +type AVP_Unsigned32 CxDx_3GPP_Feature_List + +// 3GPP 29.229 V12.3.0 +// AVP: Supported-Applications (631) 3GPP (10415) +// 6.3.32 +type AVP_Grouped CxDx_3GPP_Supported_Applications + +// 3GPP 29.229 V12.3.0 +// AVP: Associated-Identities (632) 3GPP (10415) +// 6.3.33 +type AVP_Grouped CxDx_3GPP_Associated_Identities + +// 3GPP TS 29.229 V12.3.0 +// AVP: Originating-Request (633) 3GPP (10415) +// 6.3.34 +type enumerated CxDx_3GPP_Originating_Request { + ORIGINATING (0) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// 3GPP TS 29.229 V12.3.0 +// AVP: Wildcarded-Public-Identity (634) 3GPP (10415) +// 6.3.35 +type AVP_UTF8String CxDx_3GPP_Wildcarded_Public_Identity + +// 3GPP TS 29.229 V12.3.0 +// AVP: SIP-Digest-Authenticate (635) 3GPP (10415) +// 6.3.36 +type AVP_Grouped CxDx_3GPP_SIP_Digest_Authenticate + +// 3GPP 29.229 V12.3.0 +// AVP: Line-Identifier (500) ETSI (13019) +// 6.3.42 +type AVP_OctetString CxDx_ETSI_Line_Identifier + +// 3GPP TS 29.229 V12.3.0 +// AVP: UAR-Flags (637) 3GPP (10415) +// 6.3.44 +type AVP_Unsigned32 CxDx_3GPP_UAR_Flags + +// 3GPP TS 29.229 V12.3.0 +// AVP: Loose-Route-Indication (638) 3GPP (10415) +// 6.3.45 +type enumerated CxDx_3GPP_Loose_Route_Indication { + LOOSE_ROUTE_NOT_REQUIRED (0), + LOOSE_ROUTE_REQUIRED (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// 3GPP TS 29.229 V12.3.0 +// AVP: SCSCF-Restoration-Info (639) 3GPP (10415) +// 6.3.46 +type AVP_Grouped CxDx_3GPP_SCSCF_Restoration_Info + +// 3GPP TS 29.229 V12.3.0 +// AVP: Path (640) 3GPP (10415) +// 6.3.47 +type AVP_OctetString CxDx_3GPP_Path + +// 3GPP TS 29.229 V12.3.0 +// AVP: Contact (641) 3GPP (10415) +// 6.3.48 +type AVP_OctetString CxDx_3GPP_Contact + +// 3GPP TS 29.229 V12.3.0 +// AVP: Subscription-Info (642) 3GPP (10415) +// 6.3.49 +type AVP_Grouped CxDx_3GPP_Subscription_Info + +// 3GPP TS 29.229 V12.3.0 +// AVP: Call-ID-SIP-Header (643) 3GPP (10415) +// 6.3.49.1 +type AVP_OctetString CxDx_3GPP_Call_ID_SIP_Header + +// 3GPP TS 29.229 V12.3.0 +// AVP: From-SIP-Header (644) 3GPP (10415) +// 6.3.49.2 +type AVP_OctetString CxDx_3GPP_From_SIP_Header + +// 3GPP TS 29.229 V12.3.0 +// AVP: To-SIP-Header (645) 3GPP (10415) +// 6.3.49.3 +type AVP_OctetString CxDx_3GPP_To_SIP_Header + +// 3GPP TS 29.229 V12.3.0 +// AVP: Record-Route (646) 3GPP (10415) +// 6.3.49.4 +type AVP_OctetString CxDx_3GPP_Record_Route + +// 3GPP TS 29.229 V12.3.0 +// AVP: Associated-Registered-Identities (647) 3GPP (10415) +// 6.3.50 +type AVP_Grouped CxDx_3GPP_Associated_Registered_Identities + +// 3GPP TS 29.229 V12.3.0 +// AVP: Multiple-Registration-Indication (648) 3GPP (10415) +// 6.3.51 +type enumerated CxDx_3GPP_Multiple_Registration_Indication { + NOT_MULTIPLE_REGISTRATION (0), + MULTIPLE_REGISTRATION (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// 3GPP TS 29.229 V12.3.0 +// AVP: Restoration-Info (649) 3GPP (10415) +// 6.3.52 +type AVP_Grouped CxDx_3GPP_Restoration_Info + +// 3GPP TS 29.229 V12.3.0 +// AVP: Session-Priority (650) 3GPP (10415) +// 6.3.56 +type enumerated CxDx_3GPP_Session_Priority { + PRIORITY_0 (0), + PRIORITY_1 (1), + PRIORITY_2 (2), + PRIORITY_3 (3), + PRIORITY_4 (4) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// 3GPP TS 29.229 V12.3.0 +// AVP: Identity-with-Emergency-Registration (651) 3GPP (10415) +// 6.3.57 +type AVP_Grouped CxDx_3GPP_Identity_with_Emergency_Registration + +// 3GPP TS 29.229 V12.3.0 +// AVP: Priviledged-Sender-Indication (652) 3GPP (10415) +// 6.3.58 +type enumerated CxDx_3GPP_Priviledged_Sender_Indication { + NOT_PRIVILEDGED_SENDER (0), + PRIVILEDGED_SENDER (1) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + +// 3GPP TS 29.229 V12.3.0 +// AVP: LIA-Flags (653) 3GPP (10415) +// 6.3.59 +type AVP_Unsigned32 CxDx_3GPP_LIA_Flags + +// 3GPP TS 29.229 V12.3.0 +// AVP: Initial-CSeq-Sequence-Number (654) 3GPP (10415) +// 6.3.62 +type AVP_Unsigned32 CxDx_3GPP_Initial_CSeq_Sequence_Number + +// 3GPP TS 29.229 V12.3.0 +// AVP: SAR-Flags (655) 3GPP (10415) +// 6.3.63 +type AVP_Unsigned32 CxDx_3GPP_SAR_Flags + +/****************************************************************************** +* Copyright (c) 2000-2019 Ericsson Telecom AB +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v2.0 +* which accompanies this distribution, and is available at +* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html +* +* Contributors: +* M??t?? Kov??cs +******************************************************************************/ +// +// File: GiSGiInterface_3GPP_TS29061_d70.ddf +// Description: DDF for Gi/SGi according to 3GPP TS 29.061 V13.7.0 +// Rev: R55A +// Prodnr: CNL 113 462 +/////////////////////////////////////////////// + + +// APPLICATION-NAME: GI +// APPLICATION-REVISION: V13_7_0 + +// AVP implementations according to: +// 3GPP TS 29.061 V13.7.0 - Interworking between the Public Land Mobile Network (PLMN) supporting packet based services and Packet Data Networks (PDN) +// +// +// Dependant applications +// - + + +// 3GPP TS 29.061 V13.7.0 16a.4 +// WARNING: Enumeration item with code (265) exists in type Command_Code +// WARNING: Enumeration item with code (275) exists in type Command_Code +// WARNING: Enumeration item with code (274) exists in type Command_Code +// WARNING: Enumeration item with code (271) exists in type Command_Code + + + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-IMSI (1) 3GPP (10415) +// 16.4.7 +type AVP_UTF8String GI_3GPP_3GPP_IMSI + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-Charging-Id (2) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_Charging_Id + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-PDP-Type (3) 3GPP (10415) +// 16.4.7 +type enumerated GI_3GPP_3GPP_PDP_Type { + IPv4 (0), + PPP (1), + IPv6 (2), + IPv4v6 (3), + NonIp (4) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-CG-Address (4) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_CG_Address + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-GPRS-Negotiated-QoS-Profile (5) 3GPP (10415) +// 16.4.7 +type AVP_UTF8String GI_3GPP_3GPP_GPRS_Negotiated_QoS_Profile + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-SGSN-Address (6) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_SGSN_Address + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-GGSN-Address (7) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_GGSN_Address + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-IMSI-MCC-MNC (8) 3GPP (10415) +// 16.4.7 +type AVP_UTF8String GI_3GPP_3GPP_IMSI_MCC_MNC + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-GGSN-MCC-MNC (9) 3GPP (10415) +// 16.4.7 +type AVP_UTF8String GI_3GPP_3GPP_GGSN_MCC_MNC + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-NSAPI (10) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_NSAPI + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-Session-Stop-Indicator (11) 3GPP (10415) +type AVP_UTF8String GI_3GPP_3GPP_Session_Stop_Indicator + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-Selection-Mode (12) 3GPP (10415) +// 16.4.7 +type AVP_UTF8String GI_3GPP_3GPP_Selection_Mode + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-Charging-Characteristics (13) 3GPP (10415) +// 16.4.7 +type AVP_UTF8String GI_3GPP_3GPP_Charging_Characteristics + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-CG-IPv6-Address (14) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_CG_IPv6_Address + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-SGSN-IPv6-Address (15) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_SGSN_IPv6_Address + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-GGSN-IPv6-Address (16) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_GGSN_IPv6_Address + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-IPv6-DNS-Servers (17) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_IPv6_DNS_Servers + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-SGSN-MCC-MNC (18) 3GPP (10415) +// 16.4.7 +type AVP_UTF8String GI_3GPP_3GPP_SGSN_MCC_MNC + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-IMEISV (20) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_IMEISV + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-RAT-Type (21) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_RAT_Type + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-User-Location-Info (22) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_User_Location_Info + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-MS-TimeZone (23) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_MS_TimeZone + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-CAMEL-Charging-Info (24) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_CAMEL_Charging_Info + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-Packet-Filter (25) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_Packet_Filter + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-Negotiated-DSCP (26) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_Negotiated_DSCP + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-Allocate-IP-Type (27) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_3GPP_Allocate_IP_Type + +// 3GPP TS 29.061 V13.7.0 +// AVP: External-Identifier (28) 3GPP (10415) +// 16.4.7 +type AVP_UTF8String GI_3GPP_External_Identifier + + +// 3GPP TS 29.061 V13.7.0 +// AVP: TWAN-Identifier (29) 3GPP (10415) +// 16.4.7 +type AVP_OctetString GI_3GPP_TWAN_Identifier + + +// 3GPP TS 29.061 V13.7.0 +// AVP: 3GPP-User-Location-Info-Time (30) 3GPP (10415) +// 16.4.7 +type AVP_Unsigned32 GI_3GPP_3GPP_User_Location_Info_Time + + + +// STATISTICS: 740 AVP descriptors found +// STATISTICS: 740 AVP type definitions matching AVP descriptors found // STATISTICS: duplicate AVP definitions deleted type enumerated Command_Code { - Abort_Session (274), Accounting (271), Capabilities_Exchange (257), Device_Watchdog (280), Disconnect_Peer (282), Re_Auth (258), Session_Termination (275), Experimental1 (16777214), Experimental2 (16777215) , Update_Location (316), Cancel_Location (317), Authentication_Information (318), Insert_Subscriber_Data (319), Delete_Subscriber_Data (320), Purge_UE (321), Reset (322), Notify (323), ME_Identity_Check (324), Update_VCSG_Location (8388638), Cancel_VCSG_Location (8388642), Credit_Control (272), TDF_Session (8388637), Subscriber_Information (8388641), Configuration_Information (8388718), Reporting_Information (8388719), NIDD_Information (8388726), Authorize_Authenticate (265) + Abort_Session (274), Accounting (271), Capabilities_Exchange (257), Device_Watchdog (280), Disconnect_Peer (282), Re_Auth (258), Session_Termination (275), Experimental1 (16777214), Experimental2 (16777215) , Update_Location (316), Cancel_Location (317), Authentication_Information (318), Insert_Subscriber_Data (319), Delete_Subscriber_Data (320), Purge_UE (321), Reset (322), Notify (323), ME_Identity_Check (324), Update_VCSG_Location (8388638), Cancel_VCSG_Location (8388642), Credit_Control (272), TDF_Session (8388637), Subscriber_Information (8388641), Configuration_Information (8388718), Reporting_Information (8388719), NIDD_Information (8388726), Authorize_Authenticate (265), User_Authorization (300), Server_Assignment (301), Location_Info (302), Multimedia_Auth (303), Registration_Termination (304), Push_Profile (305) } with { variant "FIELDLENGTH(24)" variant "BYTEORDER(last)" } type enumerated Vendor_Id { + vendor_id_ETSI (13019), vendor_id_NONE (0), vendor_id_3GPP (10415) } with { @@ -3965,80 +5575,222 @@ variant "BYTEORDER(last)" variant "COMP(2scompl)" } +type enumerated AVP_Code_ETSI { + avp_code_CxDx_ETSI_Line_Identifier (500) +} with { + variant "FIELDLENGTH(32)" + variant "BYTEORDER(last)" + variant "COMP(2scompl)" +} type enumerated AVP_Code_NONE { + avp_code_DNAS_NONE_Login_LAT_Service (34), + avp_code_DCC_NONE_Direct_Debiting_Failure_Handling (428), avp_code_MIPv6_NONE_MIP_Careof_Address (487), avp_code_BASE_NONE_Session_Id (263), + avp_code_DCC_NONE_Requested_Service_Unit (437), + avp_code_DNAS_NONE_Framed_Pool (88), + avp_code_DCC_NONE_CC_Time (420), + avp_code_DCC_NONE_Used_Service_Unit (446), avp_code_BASE_NONE_Auth_Application_Id (258), + avp_code_DNAS_NONE_Framed_Appletalk_Network (38), + avp_code_DNAS_NONE_Framed_IPv6_Prefix (97), avp_code_BASE_NONE_Firmware_Revision (267), avp_code_BASE_NONE_Auth_Grace_Period (276), avp_code_BASE_NONE_Re_Auth_Request_Type (285), + avp_code_DCC_NONE_Redirect_Address_Type (433), avp_code_MIPv6_NONE_MIP_MN_HA_MSA (492), + avp_code_DNAS_NONE_Tunnel_Medium_Type (65), + avp_code_DCC_NONE_User_Equipment_Info_Type (459), avp_code_MIPv6_NONE_QoS_Resources (508), + avp_code_DCC_NONE_Service_Parameter_Value (442), avp_code_MIPv6_NONE_MIP_Session_Key (343), + avp_code_DCC_NONE_Tariff_Time_Change (451), + avp_code_DNAS_NONE_Tunnel_Password (69), + avp_code_DCC_NONE_User_Equipment_Info_Value (460), + avp_code_DNAS_NONE_Tunneling (401), avp_code_BASE_NONE_Multi_Round_Time_Out (272), avp_code_BASE_NONE_Experimental_Result_Code (298), + avp_code_DNAS_NONE_Configuration_Token (78), + avp_code_DNAS_NONE_Callback_Number (19), avp_code_BASE_NONE_Error_Message (281), + avp_code_DNAS_NONE_NAS_Port_Type (61), + avp_code_DCC_NONE_Multiple_Services_Indicator (455), + avp_code_DNAS_NONE_Framed_Protocol (7), + avp_code_DNAS_NONE_Filter_Id (11), + avp_code_DNAS_NONE_ARAP_Password (70), + avp_code_DNAS_NONE_CHAP_Response (405), + avp_code_DNAS_NONE_Accounting_Input_Packets (365), + avp_code_DNAS_NONE_Callback_Id (20), + avp_code_DCC_NONE_CC_Output_Octets (414), + avp_code_DCC_NONE_Cost_Information (423), avp_code_BASE_NONE_Error_Reporting_Host (294), + avp_code_DNAS_NONE_Login_Service (15), + avp_code_DNAS_NONE_ARAP_Security_Data (74), + avp_code_DNAS_NONE_State (24), + avp_code_DNAS_NONE_Tunnel_Preference (83), + avp_code_DCC_NONE_CC_Session_Failover (418), avp_code_BASE_NONE_Proxy_State (33), + avp_code_DCC_NONE_Credit_Control_Failure_Handling (427), avp_code_BASE_NONE_Redirect_Max_Cache_Time (262), + avp_code_DCC_NONE_Requested_Action (436), + avp_code_DNAS_NONE_Idle_Timeout (28), + avp_code_DNAS_NONE_NAS_Port_Id (87), avp_code_BASE_NONE_Host_IP_Address (257), + avp_code_DNAS_NONE_Framed_Appletalk_Link (37), + avp_code_DNAS_NONE_Framed_Interface_Id (96), avp_code_BASE_NONE_Vendor_Id (266), + avp_code_DNAS_NONE_Acct_Session_Time (46), avp_code_BASE_NONE_Event_Timestamp (55), + avp_code_DCC_NONE_Final_Unit_Action (449), + avp_code_DNAS_NONE_Framed_IPv6_Pool (100), + avp_code_DCC_NONE_Rating_Group (432), avp_code_MIPv6_NONE_MIP_MN_HA_SPI (491), + avp_code_DCC_NONE_User_Equipment_Info (458), avp_code_MIPv6_NONE_MIP_Mobile_Node_Address (333), + avp_code_DCC_NONE_Service_Parameter_Type (441), avp_code_BASE_NONE_Failed_AVP (279), + avp_code_DCC_NONE_Subscription_Id_Type (450), + avp_code_DNAS_NONE_User_Password (2), + avp_code_DNAS_NONE_Acct_Tunnel_Connection (68), + avp_code_DNAS_NONE_NAS_Filter_Rule (400), avp_code_BASE_NONE_Session_Server_Failover (271), avp_code_BASE_NONE_Experimental_Result (297), + avp_code_DNAS_NONE_Acct_Link_Count (51), + avp_code_DCC_NONE_Unit_Value (445), + avp_code_DNAS_NONE_Reply_Message (18), + avp_code_DNAS_NONE_Connect_Info (77), avp_code_MIPv6_NONE_MIP_Replay_Mode (346), avp_code_BASE_NONE_Proxy_Host (280), + avp_code_DNAS_NONE_CHAP_Challenge (60), + avp_code_DCC_NONE_CC_Unit_Type (454), + avp_code_DNAS_NONE_Service_Type (6), + avp_code_DNAS_NONE_Framed_Routing (10), + avp_code_DNAS_NONE_CHAP_Ident (404), + avp_code_DCC_NONE_CC_Money (413), avp_code_BASE_NONE_Proxy_Info (284), + avp_code_DNAS_NONE_Tunnel_Type (64), + avp_code_DCC_NONE_Check_Balance_Result (422), avp_code_BASE_NONE_Destination_Host (293), + avp_code_DNAS_NONE_Login_IP_Host (14), + avp_code_DNAS_NONE_ARAP_Security (73), + avp_code_DNAS_NONE_Origin_AAA_Protocol (408), + avp_code_DNAS_NONE_Tunnel_Assignment_Id (82), + avp_code_DNAS_NONE_Framed_IPX_Network (23), + avp_code_DCC_NONE_CC_Service_Specific_Units (417), + avp_code_DNAS_NONE_NAS_Identifier (32), + avp_code_DNAS_NONE_Tunnel_Server_Auth_Id (91), + avp_code_DCC_NONE_Credit_Control (426), avp_code_BASE_NONE_Accounting_Record_Number (485), avp_code_BASE_NONE_Redirect_Host_Usage (261), + avp_code_DCC_NONE_Redirect_Server_Address (435), avp_code_MIPv6_NONE_MIP6_Auth_Mode (494), + avp_code_DNAS_NONE_Acct_Tunnel_Packets_Lost (86), avp_code_BASE_NONE_Session_Timeout (27), + avp_code_DNAS_NONE_NAS_IPv6_Address (95), + avp_code_DNAS_NONE_Login_LAT_Group (36), avp_code_MIPv6_NONE_MIP_MAC_Mobility_Data (489), + avp_code_DNAS_NONE_Accounting_Output_Octets (364), avp_code_BASE_NONE_Supported_Vendor_Id (265), + avp_code_DNAS_NONE_Acct_Authentic (45), + avp_code_DCC_NONE_Service_Identifier (439), avp_code_BASE_NONE_Auth_Request_Type (274), + avp_code_DCC_NONE_Validity_Time (448), + avp_code_DNAS_NONE_Framed_IPv6_Route (99), + avp_code_DCC_NONE_Granted_Service_Unit (431), avp_code_MIPv6_NONE_MIP_Timestamp (490), avp_code_BASE_NONE_Product_Name (269), + avp_code_DNAS_NONE_Framed_IP_Netmask (9), + avp_code_DCC_NONE_Service_Parameter_Info (440), avp_code_BASE_NONE_Origin_State_Id (278), avp_code_BASE_NONE_User_Name (1), avp_code_BASE_NONE_Accounting_Sub_Session_Id (287), + avp_code_DNAS_NONE_Acct_Delay_Time (41), + avp_code_DNAS_NONE_Tunnel_Server_Endpoint (67), avp_code_BASE_NONE_Session_Binding (270), avp_code_BASE_NONE_Acct_Multi_Session_Id (50), + avp_code_DCC_NONE_Subscription_Id_Data (444), avp_code_MIPv6_NONE_MIP_Algorithm_Type (345), avp_code_MIPv6_NONE_QoS_Capability (578), + avp_code_DCC_NONE_G_S_U_Pool_Identifier (453), + avp_code_DNAS_NONE_NAS_Port (5), + avp_code_DNAS_NONE_CHAP_Algorithm (403), + avp_code_DCC_NONE_CC_Input_Octets (412), avp_code_BASE_NONE_Destination_Realm (283), + avp_code_DNAS_NONE_Login_LAT_Port (63), + avp_code_DCC_NONE_G_S_U_Pool_Reference (457), avp_code_MIPv6_NONE_Chargable_User_Identity (89), avp_code_BASE_NONE_Redirect_Host (292), + avp_code_DNAS_NONE_ARAP_Zone_Access (72), + avp_code_DNAS_NONE_Framed_Compression (13), + avp_code_DNAS_NONE_QoS_Filter_Rule (407), avp_code_MIPv6_NONE_MIP_MN_AAA_SPI (341), avp_code_MIPv6_NONE_MIP_MSA_Lifetime (367), + avp_code_DNAS_NONE_Tunnel_Private_Group_Id (81), + avp_code_DNAS_NONE_Framed_Route (22), + avp_code_DCC_NONE_CC_Request_Type (416), + avp_code_DNAS_NONE_Tunnel_Client_Auth_Id (90), + avp_code_DNAS_NONE_Calling_Station_Id (31), + avp_code_DCC_NONE_Currency_Code (425), avp_code_BASE_NONE_E2E_Sequence (300), avp_code_BASE_NONE_Origin_Realm (296), + avp_code_DNAS_NONE_Prompt (76), + avp_code_DCC_NONE_Redirect_Server (434), avp_code_BASE_NONE_Acct_Interim_Interval (85), + avp_code_DNAS_NONE_Login_LAT_Node (35), + avp_code_DNAS_NONE_Originating_Line_Info (94), + avp_code_DCC_NONE_Exponent (429), avp_code_MIPv6_NONE_MIP_Authenticator (488), + avp_code_DNAS_NONE_Accounting_Input_Octets (363), avp_code_BASE_NONE_Origin_Host (264), avp_code_BASE_NONE_Accounting_Session_Id (44), + avp_code_DCC_NONE_Restriction_Filter_Rule (438), avp_code_BASE_NONE_Disconnect_Cause (273), + avp_code_DCC_NONE_CC_Total_Octets (421), avp_code_BASE_NONE_Accounting_Record_Type (480), + avp_code_DCC_NONE_Value_Digits (447), avp_code_BASE_NONE_Acct_Application_Id (259), + avp_code_DNAS_NONE_Login_IPv6_Host (98), + avp_code_DNAS_NONE_Framed_Appletalk_Zone (39), + avp_code_DCC_NONE_Final_Unit_Indication (430), avp_code_BASE_NONE_Result_Code (268), + avp_code_DNAS_NONE_Framed_IP_Address (8), avp_code_BASE_NONE_Auth_Session_State (277), avp_code_BASE_NONE_Vendor_Specific_Application_Id (260), avp_code_MIPv6_NONE_Service_Selection (493), + avp_code_DNAS_NONE_Tunnel_Client_Endpoint (66), + avp_code_DCC_NONE_Subscription_Id (443), + avp_code_DCC_NONE_Tariff_Change_Usage (452), + avp_code_DNAS_NONE_NAS_IP_Address (4), + avp_code_DCC_NONE_Service_Context_Id (461), + avp_code_DNAS_NONE_CHAP_Auth (402), avp_code_BASE_NONE_Inband_Security_Id (299), + avp_code_DCC_NONE_CC_Correlation_Id (411), avp_code_BASE_NONE_Route_Record (282), + avp_code_DNAS_NONE_Port_Limit (62), + avp_code_DCC_NONE_Multiple_Services_Credit_Control (456), avp_code_BASE_NONE_Authorization_Lifetime (291), + avp_code_DNAS_NONE_ARAP_Features (71), + avp_code_DNAS_NONE_Framed_MTU (12), + avp_code_DNAS_NONE_Accounting_Auth_Method (406), + avp_code_DNAS_NONE_Accounting_Output_Packets (366), + avp_code_DCC_NONE_CC_Request_Number (415), + avp_code_DNAS_NONE_Called_Station_Id (30), + avp_code_DCC_NONE_Cost_Unit (424), avp_code_BASE_NONE_Accounting_Realtime_Required (483), avp_code_BASE_NONE_Termination_Cause (295), - avp_code_BASE_NONE_Class (25) + avp_code_DNAS_NONE_Login_TCP_Port (16), + avp_code_DNAS_NONE_Password_Retry (75), + avp_code_DNAS_NONE_ARAP_Challenge_Response (84), + avp_code_BASE_NONE_Class (25), + avp_code_DCC_NONE_CC_Sub_Session_Id (419) } with { variant "FIELDLENGTH(32)" variant "BYTEORDER(last)" variant "COMP(2scompl)" } type enumerated AVP_Code_3GPP { + avp_code_GI_3GPP_3GPP_SGSN_IPv6_Address (15), + avp_code_GI_3GPP_3GPP_GGSN_MCC_MNC (9), avp_code_PCC_3GPP_Bearer_Identifier (1020), avp_code_RX_3GPP_Content_Version (552), avp_code_RX_3GPP_Media_Component_Description (517), @@ -4050,9 +5802,11 @@ avp_code_AAA_3GPP_List_Of_Measurements (1625), avp_code_PCC_3GPP_Default_QoS_Name (2817), avp_code_AAA_3GPP_UVA_Flags (1640), + avp_code_CxDx_3GPP_SAR_Flags (655), avp_code_AAA_3GPP_Group_Service_Id (1676), avp_code_PCC_3GPP_TDF_Information (1087), avp_code_AAA_3GPP_Requested_EUTRAN_Authentication_Info (1408), + avp_code_CxDx_3GPP_SIP_Digest_Authenticate (635), avp_code_AAA_3GPP_Last_UE_Activity_Time (1494), avp_code_AAA_3GPP_Context_Identifier (1423), avp_code_AAA_3GPP_Trace_Reference (1459), @@ -4069,7 +5823,9 @@ avp_code_AAA_3GPP_SGs_MME_Identity (1664), avp_code_PCC_3GPP_Routing_Rule_Remove (1075), avp_code_S6_3GPP_Roaming_Information (3139), + avp_code_CxDx_3GPP_SIP_Authentication_Scheme (608), avp_code_AAA_3GPP_Event_Threshold_RSRP (1629), + avp_code_CxDx_3GPP_User_Authorization_Type (623), avp_code_AAA_3GPP_PLMN_Client (1482), avp_code_AAA_3GPP_Re_Synchronization_Info (1411), avp_code_AAA_3GPP_RAND (1447), @@ -4087,12 +5843,17 @@ avp_code_AAA_3GPP_VPLMN_LIPA_Allowed (1617), avp_code_PCC_3GPP_QoS_Class_Identifier (1028), avp_code_PCC_3GPP_Mute_Notification (2809), + avp_code_CxDx_3GPP_SIP_Authentication_Context (611), avp_code_AAA_3GPP_Logging_Duration (1632), + avp_code_CxDx_3GPP_Associated_Registered_Identities (647), avp_code_AAA_3GPP_WLAN_offloadability_EUTRAN (1668), avp_code_PCC_3GPP_Routing_IP_Address (1079), avp_code_AAA_3GPP_KASME (1450), + avp_code_GI_3GPP_3GPP_User_Location_Info_Time (30), avp_code_AAA_3GPP_Teleservice_List (1486), avp_code_AAA_3GPP_UTRAN_Vector (1415), + avp_code_GI_3GPP_3GPP_NSAPI (10), + avp_code_GI_3GPP_3GPP_CG_Address (4), avp_code_RX_3GPP_Application_Service_Provider_Identity (532), avp_code_S6_3GPP_NIDD_Authorization_Request (3150), avp_code_PCC_3GPP_QoS_Rule_Install (1051), @@ -4111,12 +5872,15 @@ avp_code_AAA_3GPP_Measurement_Period_LTE (1656), avp_code_PCC_3GPP_Usage_Monitoring_Information (1067), avp_code_PCC_3GPP_Extended_APN_AMBR_DL (2848), + avp_code_CxDx_3GPP_Session_Priority (650), + avp_code_CxDx_3GPP_Deregistration_Reason (615), avp_code_AAA_3GPP_GMLC_Number (1474), avp_code_AAA_3GPP_Software_Version (1403), avp_code_AAA_3GPP_Expiration_Date (1439), avp_code_AAA_3GPP_SRES (1454), avp_code_AAA_3GPP_Item_Number (1419), avp_code_S6_3GPP_Service_ID (3103), + avp_code_GI_3GPP_3GPP_IMSI_MCC_MNC (8), avp_code_RX_3GPP_Abort_Cause (500), avp_code_PCC_3GPP_Charging_Rule_Base_Name (1004), avp_code_RX_3GPP_Required_Access_Info (536), @@ -4129,8 +5893,13 @@ avp_code_AAA_3GPP_Geodetic_Information (1609), avp_code_PCC_3GPP_Extended_GBR_UL (2851), avp_code_AAA_3GPP_MBSFN_Area_ID (1695), + avp_code_CxDx_3GPP_Server_Capabilities (603), avp_code_AAA_3GPP_Area_Scope (1624), + avp_code_CxDx_3GPP_SCSCF_Restoration_Info (639), + avp_code_CxDx_3GPP_Initial_CSeq_Sequence_Number (654), avp_code_AAA_3GPP_PUA_Flags (1442), + avp_code_CxDx_3GPP_Primary_Event_Charging_Function_Name (619), + avp_code_GI_3GPP_3GPP_User_Location_Info (22), avp_code_AAA_3GPP_Notification_To_UE_User (1478), avp_code_AAA_3GPP_Visited_PLMN_Id (1407), avp_code_AAA_3GPP_Homogeneous_Support_of_IMS_Voice_Over_PS_Sessions (1493), @@ -4150,10 +5919,13 @@ avp_code_PCC_3GPP_HeNB_Local_IP_Address (2804), avp_code_AAA_3GPP_SMS_Register_Request (1648), avp_code_PCC_3GPP_Packet_Filter_Content (1059), + avp_code_CxDx_3GPP_Subscription_Info (642), avp_code_AAA_3GPP_APN_Configuration (1430), + avp_code_CxDx_3GPP_SIP_Number_Auth_Items (607), avp_code_AAA_3GPP_OMC_Id (1466), avp_code_AAA_3GPP_GMLC_Restriction (1481), avp_code_AAA_3GPP_Regional_Subscription_Zone_Code (1446), + avp_code_GI_3GPP_3GPP_Negotiated_DSCP (26), avp_code_S6_3GPP_SIR_Flags (3110), avp_code_RX_3GPP_MPS_Identifier (528), avp_code_AAA_3GPP_MDT_Allowed_PLMN_Id (1671), @@ -4165,11 +5937,14 @@ avp_code_AAA_3GPP_Subscribed_VSRVCC (1636), avp_code_PCC_3GPP_Pre_emption_Capability (1047), avp_code_PCC_3GPP_Monitoring_Flags (2828), + avp_code_CxDx_3GPP_Feature_List (630), avp_code_PCC_3GPP_TCP_Source_Port (2843), avp_code_PCC_3GPP_Application_Detection_Information (1098), avp_code_AAA_3GPP_Emergency_Info (1687), avp_code_AAA_3GPP_MPS_Priority (1616), + avp_code_CxDx_3GPP_Record_Route (646), avp_code_AAA_3GPP_Alert_Reason (1434), + avp_code_GI_3GPP_3GPP_CG_IPv6_Address (14), avp_code_AAA_3GPP_MO_LR (1485), avp_code_RX_3GPP_Max_Requested_Bandwidth_UL (516), avp_code_PCC_3GPP_Usage_Monitoring_Support (1070), @@ -4183,10 +5958,12 @@ avp_code_AAA_3GPP_IMSI_Group_Id (1675), avp_code_AAA_3GPP_Cell_Global_Identity (1604), avp_code_AAA_3GPP_PDN_Connection_Continuity (1690), + avp_code_CxDx_3GPP_Wildcarded_Public_Identity (634), avp_code_AAA_3GPP_DSA_Flags (1422), avp_code_AAA_3GPP_Trace_Data (1458), avp_code_AAA_3GPP_LCS_Info (1473), avp_code_AAA_3GPP_PDN_GW_Allocation_Type (1438), + avp_code_GI_3GPP_3GPP_SGSN_MCC_MNC (18), avp_code_RX_3GPP_Extended_Max_Requested_BW_UL (555), avp_code_S6_3GPP_User_Identifier (3102), avp_code_PCC_3GPP_QoS_Rule_Base_Name (1074), @@ -4196,13 +5973,16 @@ avp_code_RX_3GPP_Min_Requested_Bandwidth_UL (535), avp_code_AAA_3GPP_Report_Amount (1628), avp_code_PCC_3GPP_CoA_Information (1039), + avp_code_CxDx_3GPP_Secondary_Charging_Collection_Function_Name (622), avp_code_AAA_3GPP_A_MSISDN (1643), avp_code_PCC_3GPP_Routing_Rule_Report (2835), avp_code_AAA_3GPP_Number_Of_Requested_Vectors (1410), avp_code_AAA_3GPP_AIR_Flags (1679), avp_code_AAA_3GPP_Geographical_Information (1608), + avp_code_CxDx_3GPP_Loose_Route_Indication (638), avp_code_AAA_3GPP_MME_User_State (1497), avp_code_AAA_3GPP_Access_Restriction_Data (1426), + avp_code_GI_3GPP_3GPP_RAT_Type (21), avp_code_AAA_3GPP_SS_Status (1477), avp_code_S6_3GPP_NIDD_Authorization_Update (3161), avp_code_PCC_3GPP_Packet_Filter_Operation (1062), @@ -4211,6 +5991,7 @@ avp_code_S6_3GPP_IMEI_Change (3141), avp_code_PCC_3GPP_IP_CAN_Type (1027), avp_code_RX_3GPP_Extended_Min_Desired_BW_UL (559), + avp_code_CxDx_3GPP_SIP_Authorization (610), avp_code_PCC_3GPP_Revalidation_Time (1042), avp_code_AAA_3GPP_Logging_Interval (1631), avp_code_PCC_3GPP_Presence_Reporting_Area_Status (2823), @@ -4218,8 +5999,10 @@ avp_code_PCC_3GPP_Routing_Filter (1078), avp_code_PCC_3GPP_Metering_Method (1007), avp_code_AAA_3GPP_Non_IP_Data_Delivery_Mechanism (1682), + avp_code_CxDx_3GPP_Integrity_Key (626), avp_code_AAA_3GPP_E_UTRAN_Vector (1414), avp_code_AAA_3GPP_Trace_Event_List (1465), + avp_code_GI_3GPP_3GPP_PDP_Type (3), avp_code_S6_3GPP_Communication_Pattern_Set (3114), avp_code_RX_3GPP_Flow_Status (511), avp_code_RX_3GPP_MCPTT_Identifier (547), @@ -4231,13 +6014,16 @@ avp_code_PCC_3GPP_3GPP_PS_Data_Off_Status (2847), avp_code_AAA_3GPP_Reset_ID (1670), avp_code_PCC_3GPP_Routing_Rule_Install (1081), + avp_code_CxDx_3GPP_Server_Assignment_Type (614), avp_code_AAA_3GPP_PUR_Flags (1635), avp_code_PCC_3GPP_IP_CAN_Session_Charging_Scope (2827), avp_code_AAA_3GPP_IMEI (1402), avp_code_AAA_3GPP_Kc (1453), avp_code_AAA_3GPP_SGSN_Number (1489), avp_code_AAA_3GPP_HPLMN_ODB (1418), + avp_code_GI_3GPP_3GPP_Charging_Characteristics (13), avp_code_AAA_3GPP_PDP_Context (1469), + avp_code_GI_3GPP_3GPP_GGSN_Address (7), avp_code_S6_3GPP_Node_Type (3153), avp_code_RX_3GPP_Priority_Sharing_Indicator (550), avp_code_PCC_3GPP_QoS_Rule_Name (1054), @@ -4247,12 +6033,15 @@ avp_code_PCC_3GPP_PCC_Rule_Status (1019), avp_code_PCC_3GPP_Extended_GBR_DL (2850), avp_code_AAA_3GPP_MBSFN_Area (1694), + avp_code_CxDx_3GPP_Server_Name (602), avp_code_S6_3GPP_APN_Validity_Time (3169), avp_code_AAA_3GPP_Job_Type (1623), avp_code_PCC_3GPP_Allocation_Retention_Priority (1034), avp_code_AAA_3GPP_Positioning_Method (1659), + avp_code_CxDx_3GPP_LIA_Flags (653), avp_code_AAA_3GPP_DL_Buffering_Suggested_Packet_Count (1674), avp_code_AAA_3GPP_IDA_Flags (1441), + avp_code_CxDx_3GPP_Charging_Information (618), avp_code_AAA_3GPP_ULA_Flags (1406), avp_code_AAA_3GPP_IMS_Voice_Over_PS_Sessions_Supported (1492), avp_code_AAA_3GPP_Roaming_Restricted_Due_To_Unsupported_Feature (1457), @@ -4267,12 +6056,15 @@ avp_code_RX_3GPP_Extended_Max_Requested_BW_DL (554), avp_code_PCC_3GPP_Flow_Information (1058), avp_code_PCC_3GPP_Execution_Time (2839), + avp_code_CxDx_3GPP_Contact (641), avp_code_AAA_3GPP_Event_Threshold_Event_1I (1662), avp_code_PCC_3GPP_Charging_Correlation_Indicator (1073), + avp_code_CxDx_3GPP_User_Data (606), avp_code_AAA_3GPP_Report_Interval (1627), avp_code_PCC_3GPP_RAN_NAS_Release_Cause (2819), avp_code_AAA_3GPP_Client_Identity (1480), avp_code_AAA_3GPP_Equipment_Status (1445), + avp_code_GI_3GPP_3GPP_Packet_Filter (25), avp_code_AAA_3GPP_EPS_Location_Information (1496), avp_code_RX_3GPP_Service_Info_Status (527), avp_code_S6_3GPP_CIR_Flags (3145), @@ -4289,10 +6081,12 @@ avp_code_PCC_3GPP_ADC_Rule_Report (1097), avp_code_AAA_3GPP_UE_SRVCC_Capability (1615), avp_code_PCC_3GPP_Guaranteed_Bitrate_UL (1026), + avp_code_CxDx_3GPP_To_SIP_Header (645), avp_code_AAA_3GPP_Coupled_Node_Diameter_ID (1666), avp_code_AAA_3GPP_STN_SR (1433), avp_code_AAA_3GPP_ServiceTypeIdentity (1484), avp_code_AAA_3GPP_AUTN (1449), + avp_code_GI_3GPP_TWAN_Identifier (29), avp_code_RX_3GPP_Sponsored_Connectivity_Data (530), avp_code_S6_3GPP_AESE_Communication_Pattern (3113), avp_code_PCC_3GPP_NBIFOM_Mode (2830), @@ -4302,6 +6096,7 @@ avp_code_PCC_3GPP_ToS_Traffic_Class (1014), avp_code_RX_3GPP_Min_Desired_Bandwidth_UL (546), avp_code_AAA_3GPP_UVR_Flags (1639), + avp_code_CxDx_3GPP_Originating_Request (633), avp_code_AAA_3GPP_Subscription_Data_Flags (1654), avp_code_PCC_3GPP_PDN_Connection_ID (1065), avp_code_AAA_3GPP_DSR_Flags (1421), @@ -4309,7 +6104,9 @@ avp_code_AAA_3GPP_Subscribed_Periodic_RAU_TAU_Timer (1619), avp_code_AAA_3GPP_Specific_APN_Info (1472), avp_code_AAA_3GPP_Terminal_Information (1401), + avp_code_CxDx_3GPP_Restoration_Info (649), avp_code_AAA_3GPP_CSG_Id (1437), + avp_code_GI_3GPP_3GPP_IPv6_DNS_Servers (17), avp_code_AAA_3GPP_Call_Barring_Info (1488), avp_code_S6_3GPP_IP_SM_GW_Name (3101), avp_code_RX_3GPP_Media_Sub_Component (519), @@ -4318,6 +6115,7 @@ avp_code_RX_3GPP_Min_Requested_Bandwidth_DL (534), avp_code_S6_3GPP_Service_Report (3152), avp_code_PCC_3GPP_Tunnel_Information (1038), + avp_code_CxDx_3GPP_Primary_Charging_Collection_Function_Name (621), avp_code_AAA_3GPP_Time_Zone (1642), avp_code_PCC_3GPP_QoS_Rule_Definition (1053), avp_code_S6_3GPP_Periodic_Time (3117), @@ -4327,8 +6125,11 @@ avp_code_AAA_3GPP_Service_Area_Identity (1607), avp_code_PCC_3GPP_Charging_Rule_Report (1018), avp_code_AAA_3GPP_UE_PC5_AMBR (1693), + avp_code_CxDx_3GPP_Public_Identity (601), + avp_code_CxDx_3GPP_UAR_Flags (637), avp_code_AAA_3GPP_Collection_Period_RRM_UMTS (1658), avp_code_AAA_3GPP_Operator_Determined_Barring (1425), + avp_code_GI_3GPP_3GPP_IMEISV (20), avp_code_AAA_3GPP_SS_Code (1476), avp_code_RX_3GPP_RS_Bandwidth (522), avp_code_S6_3GPP_Reachability_Information (3140), @@ -4342,10 +6143,13 @@ avp_code_RX_3GPP_GCS_Identifier (538), avp_code_AAA_3GPP_Non_IP_PDN_Type_Indicator (1681), avp_code_PCC_3GPP_ADC_Rule_Install (1092), + avp_code_CxDx_3GPP_Confidentiality_Key (625), avp_code_PCC_3GPP_Flow_Label (1057), avp_code_AAA_3GPP_Authentication_Info (1413), avp_code_AAA_3GPP_Trace_Interface_List (1464), + avp_code_GI_3GPP_3GPP_Charging_Id (2), avp_code_AAA_3GPP_APN_Configuration_Profile (1429), + avp_code_GI_3GPP_3GPP_CAMEL_Charging_Info (24), avp_code_RX_3GPP_Flows (510), avp_code_S6_3GPP_CIA_Flags (3164), avp_code_RX_3GPP_Extended_Min_Requested_BW_UL (561), @@ -4354,27 +6158,35 @@ avp_code_RX_3GPP_Acceptable_Service_Info (526), avp_code_PCC_3GPP_Flow_Direction (1080), avp_code_S6_3GPP_Supported_Monitoring_Events (3144), + avp_code_CxDx_3GPP_SIP_Item_Number (613), avp_code_PCC_3GPP_Session_Release_Cause (1045), avp_code_AAA_3GPP_MDT_User_Consent (1634), avp_code_S6_3GPP_HSS_Cause (3109), avp_code_PCC_3GPP_PCSCF_Restoration_Indication (2826), avp_code_AAA_3GPP_Subscription_Data_Deletion (1685), avp_code_AAA_3GPP_Trace_Collection_Entity (1452), + avp_code_CxDx_3GPP_Feature_List_ID (629), avp_code_AAA_3GPP_Network_Access_Mode (1417), + avp_code_GI_3GPP_3GPP_Selection_Mode (12), avp_code_AAA_3GPP_Complete_Data_List_Included_Indicator (1468), + avp_code_GI_3GPP_3GPP_SGSN_Address (6), + avp_code_GI_3GPP_External_Identifier (28), avp_code_S6_3GPP_Reachability_Type (3132), avp_code_S6_3GPP_Type_Of_External_Identifier (3168), avp_code_PCC_3GPP_Event_Report_Indication (1033), avp_code_AAA_3GPP_MDT_Configuration (1622), avp_code_PCC_3GPP_Usage_Monitoring_Report (1069), + avp_code_CxDx_3GPP_Priviledged_Sender_Indication (652), avp_code_AAA_3GPP_Adjacent_Access_Restriction_Data (1673), avp_code_AAA_3GPP_RAT_Frequency_Selection_Priority_ID (1440), + avp_code_CxDx_3GPP_Reason_Info (617), avp_code_AAA_3GPP_CLR_Flags (1638), avp_code_PCC_3GPP_Default_EPS_Bearer_QoS (1049), avp_code_AAA_3GPP_ULR_Flags (1405), avp_code_AAA_3GPP_ICS_Indicator (1491), avp_code_AAA_3GPP_Cancellation_Type (1420), avp_code_AAA_3GPP_PDN_Type (1456), + avp_code_GI_3GPP_3GPP_GGSN_IPv6_Address (16), avp_code_RX_3GPP_Access_Network_Charging_Identifier (502), avp_code_S6_3GPP_AESE_Communication_Pattern_Config_Status (3120), avp_code_S6_3GPP_Enhanced_Coverage_Restriction_Data (3156), @@ -4383,13 +6195,16 @@ avp_code_RX_3GPP_Pre_emption_Control_Info (553), avp_code_PCC_3GPP_TDF_Application_Instance_Identifier (2802), avp_code_RX_3GPP_Media_Component_Number (518), + avp_code_CxDx_3GPP_Path (640), avp_code_AAA_3GPP_Event_Threshold_Event_1F (1661), avp_code_PCC_3GPP_Packet_Filter_Usage (1072), avp_code_S6_3GPP_MONTE_Location_Type (3136), avp_code_AAA_3GPP_RDS_Indicator (1697), + avp_code_CxDx_3GPP_Optional_Capability (605), avp_code_AAA_3GPP_Reporting_Trigger (1626), avp_code_PCC_3GPP_Tunnel_Header_Length (1037), avp_code_PCC_3GPP_Conditional_APN_Aggregate_Max_Bitrate (2818), + avp_code_CxDx_3GPP_Secondary_Event_Charging_Function_Name (620), avp_code_AAA_3GPP_Group_PLMN_Id (1677), avp_code_AAA_3GPP_User_Id (1444), avp_code_AAA_3GPP_Requested_UTRAN_GERAN_Authentication_Info (1409), @@ -4403,12 +6218,15 @@ avp_code_PCC_3GPP_Guaranteed_Bitrate_DL (1025), avp_code_RX_3GPP_Extended_Max_Supported_BW_UL (557), avp_code_PCC_3GPP_UDP_Source_Port (2806), + avp_code_CxDx_3GPP_From_SIP_Header (644), avp_code_AAA_3GPP_SIPTO_Local_Network_Permission (1665), avp_code_PCC_3GPP_Routing_Rule_Definition (1076), avp_code_AAA_3GPP_VPLMN_Dynamic_Address_Allowed (1432), + avp_code_CxDx_3GPP_SIP_Authenticate (609), avp_code_AAA_3GPP_Service_Type (1483), avp_code_AAA_3GPP_Immediate_Response_Preferred (1412), avp_code_AAA_3GPP_XRES (1448), + avp_code_GI_3GPP_3GPP_IMSI (1), avp_code_AAA_3GPP_User_State (1499), avp_code_S6_3GPP_IP_SM_GW_Realm (3112), avp_code_S6_3GPP_Reference_ID_Validity_Time (3148), @@ -4416,14 +6234,17 @@ avp_code_PCC_3GPP_TFT_Packet_Filter_Information (1013), avp_code_RX_3GPP_Min_Desired_Bandwidth_DL (545), avp_code_S6_3GPP_Group_Reporting_Guard_Timer (3163), + avp_code_CxDx_3GPP_Associated_Identities (632), avp_code_PCC_3GPP_Session_Linking_Indicator (1064), avp_code_S6_3GPP_Maximum_Number_of_Reports (3128), avp_code_PCC_3GPP_PRA_Install (2845), avp_code_AAA_3GPP_V2X_Permission (1689), avp_code_AAA_3GPP_LIPA_Permission (1618), avp_code_PCC_3GPP_QoS_Negotiation (1029), + avp_code_CxDx_3GPP_SIP_Auth_Data_Item (612), avp_code_AAA_3GPP_3GPP2_MEID (1471), avp_code_AAA_3GPP_Subscription_Data (1400), + avp_code_CxDx_3GPP_Multiple_Registration_Indication (648), avp_code_AAA_3GPP_WLAN_offloadability_UTRAN (1669), avp_code_AAA_3GPP_CSG_Subscription_Data (1436), avp_code_AAA_3GPP_TS_Code (1487), @@ -4439,11 +6260,13 @@ avp_code_AAA_3GPP_Location_Area_Identity (1606), avp_code_RX_3GPP_Media_Component_Status (549), avp_code_AAA_3GPP_eDRX_Cycle_Length_Value (1692), + avp_code_CxDx_3GPP_Visited_Network_Identifier (600), avp_code_S6_3GPP_RIR_Flags (3167), avp_code_AAA_3GPP_Collection_Period_RRM_LTE (1657), avp_code_PCC_3GPP_Usage_Monitoring_Level (1068), avp_code_AAA_3GPP_Subscriber_Status (1424), avp_code_PCC_3GPP_Extended_APN_AMBR_UL (2849), + avp_code_CxDx_3GPP_Identity_with_Emergency_Registration (651), avp_code_AAA_3GPP_LCS_PrivacyException (1475), avp_code_AAA_3GPP_QoS_Subscribed (1404), avp_code_RX_3GPP_RR_Bandwidth (521), @@ -4456,13 +6279,16 @@ avp_code_AAA_3GPP_UE_Usage_Type (1680), avp_code_PCC_3GPP_TDF_IP_Address (1091), avp_code_S6_3GPP_Enhanced_Coverage_Restriction (3155), + avp_code_CxDx_3GPP_User_Data_Already_Available (624), avp_code_AAA_3GPP_MME_Number_for_MT_SMS (1645), avp_code_PCC_3GPP_Security_Parameter_Index (1056), avp_code_PCC_3GPP_Traffic_Steering_Policy_Identifier_UL (2837), avp_code_AAA_3GPP_Carrier_Frequency (1696), + avp_code_CxDx_3GPP_Mandatory_Capability (604), avp_code_AAA_3GPP_Trace_NE_Type_List (1463), avp_code_AAA_3GPP_All_APN_Configurations_Included_Indicator (1428), avp_code_AAA_3GPP_NOR_Flags (1443), + avp_code_GI_3GPP_3GPP_MS_TimeZone (23), avp_code_AAA_3GPP_External_Client (1479), avp_code_RX_3GPP_Extended_Min_Requested_BW_DL (560), avp_code_RX_3GPP_Service_URN (525), @@ -4475,10 +6301,15 @@ avp_code_PCC_3GPP_ADC_Rule_Base_Name (1095), avp_code_AAA_3GPP_SCEF_Realm (1684), avp_code_S6_3GPP_Requested_Validity_Time (3159), + avp_code_CxDx_3GPP_Supported_Features (628), avp_code_AAA_3GPP_Local_Time_Zone (1649), avp_code_AAA_3GPP_GERAN_Vector (1416), + avp_code_CxDx_3GPP_Call_ID_SIP_Header (643), avp_code_AAA_3GPP_EPS_Subscribed_QoS_Profile (1431), + avp_code_GI_3GPP_3GPP_Session_Stop_Indicator (11), avp_code_AAA_3GPP_GPRS_Subscription_Data (1467), + avp_code_GI_3GPP_3GPP_GPRS_Negotiated_QoS_Profile (5), + avp_code_GI_3GPP_3GPP_Allocate_IP_Type (27), avp_code_RX_3GPP_Specific_Action (513), avp_code_S6_3GPP_Maximum_Detection_Time (3131), avp_code_AAA_3GPP_Ext_PDP_Address (1621), @@ -4487,9 +6318,11 @@ avp_code_AAA_3GPP_Adjacent_PLMNs (1672), avp_code_S6_3GPP_Service_Result_Code (3147), avp_code_AAA_3GPP_SGSN_Location_Information (1601), + avp_code_CxDx_3GPP_Reason_Code (616), avp_code_PCC_3GPP_Pre_emption_Vulnerability (1048), avp_code_AAA_3GPP_Equivalent_PLMN_List (1637), avp_code_PCC_3GPP_Default_Access (2829), + avp_code_CxDx_3GPP_Supported_Applications (631), avp_code_AAA_3GPP_IDR_Flags (1490), avp_code_AAA_3GPP_V2X_Subscription_Data (1688), avp_code_PCC_3GPP_PS_to_CS_Session_Continuity (1099), @@ -4501,6 +6334,7 @@ variant "COMP(2scompl)" } type union AVP_Code { + AVP_Code_ETSI vendor_id_ETSI, AVP_Code_NONE vendor_id_NONE, AVP_Code_3GPP vendor_id_3GPP } @@ -4517,12 +6351,18 @@ VMPxxxxx = '11100000'B } )" variant (avp_code) "CROSSTAG( + vendor_id_ETSI, vendor_id = vendor_id_ETSI; vendor_id_NONE, vendor_id = omit; vendor_id_3GPP, vendor_id = vendor_id_3GPP; )" } type union AVP_Data { + GI_3GPP_3GPP_SGSN_IPv6_Address avp_GI_3GPP_3GPP_SGSN_IPv6_Address, + DNAS_NONE_Login_LAT_Service avp_DNAS_NONE_Login_LAT_Service, + GI_3GPP_3GPP_GGSN_MCC_MNC avp_GI_3GPP_3GPP_GGSN_MCC_MNC, + DCC_NONE_Direct_Debiting_Failure_Handling avp_DCC_NONE_Direct_Debiting_Failure_Handling, MIPv6_NONE_MIP_Careof_Address avp_MIPv6_NONE_MIP_Careof_Address, + CxDx_ETSI_Line_Identifier avp_CxDx_ETSI_Line_Identifier, PCC_3GPP_Bearer_Identifier avp_PCC_3GPP_Bearer_Identifier, RX_3GPP_Content_Version avp_RX_3GPP_Content_Version, BASE_NONE_Session_Id avp_BASE_NONE_Session_Id, @@ -4533,15 +6373,23 @@ PCC_3GPP_Bearer_Usage avp_PCC_3GPP_Bearer_Usage, PCC_3GPP_Tunnel_Header_Filter avp_PCC_3GPP_Tunnel_Header_Filter, AAA_3GPP_List_Of_Measurements avp_AAA_3GPP_List_Of_Measurements, + DCC_NONE_Requested_Service_Unit avp_DCC_NONE_Requested_Service_Unit, PCC_3GPP_Default_QoS_Name avp_PCC_3GPP_Default_QoS_Name, AAA_3GPP_UVA_Flags avp_AAA_3GPP_UVA_Flags, + CxDx_3GPP_SAR_Flags avp_CxDx_3GPP_SAR_Flags, AAA_3GPP_Group_Service_Id avp_AAA_3GPP_Group_Service_Id, PCC_3GPP_TDF_Information avp_PCC_3GPP_TDF_Information, + DNAS_NONE_Framed_Pool avp_DNAS_NONE_Framed_Pool, + DCC_NONE_CC_Time avp_DCC_NONE_CC_Time, AAA_3GPP_Requested_EUTRAN_Authentication_Info avp_AAA_3GPP_Requested_EUTRAN_Authentication_Info, + CxDx_3GPP_SIP_Digest_Authenticate avp_CxDx_3GPP_SIP_Digest_Authenticate, AAA_3GPP_Last_UE_Activity_Time avp_AAA_3GPP_Last_UE_Activity_Time, AAA_3GPP_Context_Identifier avp_AAA_3GPP_Context_Identifier, + DCC_NONE_Used_Service_Unit avp_DCC_NONE_Used_Service_Unit, BASE_NONE_Auth_Application_Id avp_BASE_NONE_Auth_Application_Id, AAA_3GPP_Trace_Reference avp_AAA_3GPP_Trace_Reference, + DNAS_NONE_Framed_Appletalk_Network avp_DNAS_NONE_Framed_Appletalk_Network, + DNAS_NONE_Framed_IPv6_Prefix avp_DNAS_NONE_Framed_IPv6_Prefix, RX_3GPP_Sharing_Key_UL avp_RX_3GPP_Sharing_Key_UL, RX_3GPP_AF_Charging_Identifier avp_RX_3GPP_AF_Charging_Identifier, S6_3GPP_Monitoring_Event_Report avp_S6_3GPP_Monitoring_Event_Report, @@ -4556,7 +6404,9 @@ AAA_3GPP_SGs_MME_Identity avp_AAA_3GPP_SGs_MME_Identity, PCC_3GPP_Routing_Rule_Remove avp_PCC_3GPP_Routing_Rule_Remove, S6_3GPP_Roaming_Information avp_S6_3GPP_Roaming_Information, + CxDx_3GPP_SIP_Authentication_Scheme avp_CxDx_3GPP_SIP_Authentication_Scheme, AAA_3GPP_Event_Threshold_RSRP avp_AAA_3GPP_Event_Threshold_RSRP, + CxDx_3GPP_User_Authorization_Type avp_CxDx_3GPP_User_Authorization_Type, AAA_3GPP_PLMN_Client avp_AAA_3GPP_PLMN_Client, AAA_3GPP_Re_Synchronization_Info avp_AAA_3GPP_Re_Synchronization_Info, BASE_NONE_Auth_Grace_Period avp_BASE_NONE_Auth_Grace_Period, @@ -4566,10 +6416,13 @@ AAA_3GPP_APN_OI_Replacement avp_AAA_3GPP_APN_OI_Replacement, BASE_NONE_Re_Auth_Request_Type avp_BASE_NONE_Re_Auth_Request_Type, S6_3GPP_External_Identifier avp_S6_3GPP_External_Identifier, + DCC_NONE_Redirect_Address_Type avp_DCC_NONE_Redirect_Address_Type, MIPv6_NONE_MIP_MN_HA_MSA avp_MIPv6_NONE_MIP_MN_HA_MSA, PCC_3GPP_TFT_Filter avp_PCC_3GPP_TFT_Filter, RX_3GPP_Max_Supported_Bandwidth_UL avp_RX_3GPP_Max_Supported_Bandwidth_UL, + DNAS_NONE_Tunnel_Medium_Type avp_DNAS_NONE_Tunnel_Medium_Type, S6_3GPP_Loss_Of_Connectivity_Reason avp_S6_3GPP_Loss_Of_Connectivity_Reason, + DCC_NONE_User_Equipment_Info_Type avp_DCC_NONE_User_Equipment_Info_Type, RX_3GPP_Flow_Number avp_RX_3GPP_Flow_Number, PCC_3GPP_Resource_Allocation_Notification avp_PCC_3GPP_Resource_Allocation_Notification, S6_3GPP_Monitoring_Type avp_S6_3GPP_Monitoring_Type, @@ -4577,23 +6430,33 @@ AAA_3GPP_VPLMN_LIPA_Allowed avp_AAA_3GPP_VPLMN_LIPA_Allowed, PCC_3GPP_QoS_Class_Identifier avp_PCC_3GPP_QoS_Class_Identifier, PCC_3GPP_Mute_Notification avp_PCC_3GPP_Mute_Notification, + CxDx_3GPP_SIP_Authentication_Context avp_CxDx_3GPP_SIP_Authentication_Context, MIPv6_NONE_QoS_Resources avp_MIPv6_NONE_QoS_Resources, AAA_3GPP_Logging_Duration avp_AAA_3GPP_Logging_Duration, + DCC_NONE_Service_Parameter_Value avp_DCC_NONE_Service_Parameter_Value, + CxDx_3GPP_Associated_Registered_Identities avp_CxDx_3GPP_Associated_Registered_Identities, AAA_3GPP_WLAN_offloadability_EUTRAN avp_AAA_3GPP_WLAN_offloadability_EUTRAN, PCC_3GPP_Routing_IP_Address avp_PCC_3GPP_Routing_IP_Address, MIPv6_NONE_MIP_Session_Key avp_MIPv6_NONE_MIP_Session_Key, AAA_3GPP_KASME avp_AAA_3GPP_KASME, + GI_3GPP_3GPP_User_Location_Info_Time avp_GI_3GPP_3GPP_User_Location_Info_Time, AAA_3GPP_Teleservice_List avp_AAA_3GPP_Teleservice_List, AAA_3GPP_UTRAN_Vector avp_AAA_3GPP_UTRAN_Vector, + DCC_NONE_Tariff_Time_Change avp_DCC_NONE_Tariff_Time_Change, + GI_3GPP_3GPP_NSAPI avp_GI_3GPP_3GPP_NSAPI, + GI_3GPP_3GPP_CG_Address avp_GI_3GPP_3GPP_CG_Address, RX_3GPP_Application_Service_Provider_Identity avp_RX_3GPP_Application_Service_Provider_Identity, S6_3GPP_NIDD_Authorization_Request avp_S6_3GPP_NIDD_Authorization_Request, PCC_3GPP_QoS_Rule_Install avp_PCC_3GPP_QoS_Rule_Install, S6_3GPP_Periodic_Communication_Indicator avp_S6_3GPP_Periodic_Communication_Indicator, RX_3GPP_Flow_Usage avp_RX_3GPP_Flow_Usage, PCC_3GPP_RAN_Rule_Support avp_PCC_3GPP_RAN_Rule_Support, + DNAS_NONE_Tunnel_Password avp_DNAS_NONE_Tunnel_Password, S6_3GPP_Monitoring_Duration avp_S6_3GPP_Monitoring_Duration, AAA_3GPP_Routing_Area_Identity avp_AAA_3GPP_Routing_Area_Identity, PCC_3GPP_QoS_Information avp_PCC_3GPP_QoS_Information, + DCC_NONE_User_Equipment_Info_Value avp_DCC_NONE_User_Equipment_Info_Value, + DNAS_NONE_Tunneling avp_DNAS_NONE_Tunneling, RX_3GPP_Service_Authorization_Info avp_RX_3GPP_Service_Authorization_Info, BASE_NONE_Multi_Round_Time_Out avp_BASE_NONE_Multi_Round_Time_Out, AAA_3GPP_eDRX_Cycle_Length avp_AAA_3GPP_eDRX_Cycle_Length, @@ -4605,32 +6468,52 @@ PCC_3GPP_Usage_Monitoring_Information avp_PCC_3GPP_Usage_Monitoring_Information, BASE_NONE_Experimental_Result_Code avp_BASE_NONE_Experimental_Result_Code, PCC_3GPP_Extended_APN_AMBR_DL avp_PCC_3GPP_Extended_APN_AMBR_DL, + CxDx_3GPP_Session_Priority avp_CxDx_3GPP_Session_Priority, + CxDx_3GPP_Deregistration_Reason avp_CxDx_3GPP_Deregistration_Reason, AAA_3GPP_GMLC_Number avp_AAA_3GPP_GMLC_Number, + DNAS_NONE_Configuration_Token avp_DNAS_NONE_Configuration_Token, + DNAS_NONE_Callback_Number avp_DNAS_NONE_Callback_Number, AAA_3GPP_Software_Version avp_AAA_3GPP_Software_Version, AAA_3GPP_Expiration_Date avp_AAA_3GPP_Expiration_Date, BASE_NONE_Error_Message avp_BASE_NONE_Error_Message, AAA_3GPP_SRES avp_AAA_3GPP_SRES, + DNAS_NONE_NAS_Port_Type avp_DNAS_NONE_NAS_Port_Type, AAA_3GPP_Item_Number avp_AAA_3GPP_Item_Number, + DCC_NONE_Multiple_Services_Indicator avp_DCC_NONE_Multiple_Services_Indicator, + DNAS_NONE_Framed_Protocol avp_DNAS_NONE_Framed_Protocol, S6_3GPP_Service_ID avp_S6_3GPP_Service_ID, + GI_3GPP_3GPP_IMSI_MCC_MNC avp_GI_3GPP_3GPP_IMSI_MCC_MNC, RX_3GPP_Abort_Cause avp_RX_3GPP_Abort_Cause, PCC_3GPP_Charging_Rule_Base_Name avp_PCC_3GPP_Charging_Rule_Base_Name, RX_3GPP_Required_Access_Info avp_RX_3GPP_Required_Access_Info, PCC_3GPP_TDF_Destination_Realm avp_PCC_3GPP_TDF_Destination_Realm, S6_3GPP_S6t_HSS_Cause avp_S6_3GPP_S6t_HSS_Cause, RX_3GPP_AF_Requested_Data avp_RX_3GPP_AF_Requested_Data, + DNAS_NONE_Filter_Id avp_DNAS_NONE_Filter_Id, + DNAS_NONE_ARAP_Password avp_DNAS_NONE_ARAP_Password, PCC_3GPP_QoS_Rule_Report avp_PCC_3GPP_QoS_Rule_Report, + DNAS_NONE_CHAP_Response avp_DNAS_NONE_CHAP_Response, S6_3GPP_Stationary_Indication avp_S6_3GPP_Stationary_Indication, PCC_3GPP_Traffic_Steering_Policy_Identifier_DL avp_PCC_3GPP_Traffic_Steering_Policy_Identifier_DL, AAA_3GPP_Geodetic_Information avp_AAA_3GPP_Geodetic_Information, PCC_3GPP_Extended_GBR_UL avp_PCC_3GPP_Extended_GBR_UL, AAA_3GPP_MBSFN_Area_ID avp_AAA_3GPP_MBSFN_Area_ID, + CxDx_3GPP_Server_Capabilities avp_CxDx_3GPP_Server_Capabilities, AAA_3GPP_Area_Scope avp_AAA_3GPP_Area_Scope, + DNAS_NONE_Accounting_Input_Packets avp_DNAS_NONE_Accounting_Input_Packets, + CxDx_3GPP_SCSCF_Restoration_Info avp_CxDx_3GPP_SCSCF_Restoration_Info, + CxDx_3GPP_Initial_CSeq_Sequence_Number avp_CxDx_3GPP_Initial_CSeq_Sequence_Number, AAA_3GPP_PUA_Flags avp_AAA_3GPP_PUA_Flags, + DNAS_NONE_Callback_Id avp_DNAS_NONE_Callback_Id, + CxDx_3GPP_Primary_Event_Charging_Function_Name avp_CxDx_3GPP_Primary_Event_Charging_Function_Name, + DCC_NONE_CC_Output_Octets avp_DCC_NONE_CC_Output_Octets, + GI_3GPP_3GPP_User_Location_Info avp_GI_3GPP_3GPP_User_Location_Info, AAA_3GPP_Notification_To_UE_User avp_AAA_3GPP_Notification_To_UE_User, AAA_3GPP_Visited_PLMN_Id avp_AAA_3GPP_Visited_PLMN_Id, AAA_3GPP_Homogeneous_Support_of_IMS_Voice_Over_PS_Sessions avp_AAA_3GPP_Homogeneous_Support_of_IMS_Voice_Over_PS_Sessions, RX_3GPP_Codec_Data avp_RX_3GPP_Codec_Data, S6_3GPP_Monitoring_Event_Config_Status avp_S6_3GPP_Monitoring_Event_Config_Status, + DCC_NONE_Cost_Information avp_DCC_NONE_Cost_Information, BASE_NONE_Error_Reporting_Host avp_BASE_NONE_Error_Reporting_Host, PCC_3GPP_Rule_Activation_Time avp_PCC_3GPP_Rule_Activation_Time, S6_3GPP_Service_Data avp_S6_3GPP_Service_Data, @@ -4638,6 +6521,8 @@ PCC_3GPP_NetLoc_Access_Support avp_PCC_3GPP_NetLoc_Access_Support, S6_3GPP_Monitoring_Event_Configuration avp_S6_3GPP_Monitoring_Event_Configuration, PCC_3GPP_Offline avp_PCC_3GPP_Offline, + DNAS_NONE_Login_Service avp_DNAS_NONE_Login_Service, + DNAS_NONE_ARAP_Security_Data avp_DNAS_NONE_ARAP_Security_Data, AAA_3GPP_Additional_Context_ID avp_AAA_3GPP_Additional_Context_ID, PCC_3GPP_ADC_Rule_Definition avp_PCC_3GPP_ADC_Rule_Definition, S6_3GPP_Allowed_PLMN_List avp_S6_3GPP_Allowed_PLMN_List, @@ -4646,11 +6531,18 @@ PCC_3GPP_HeNB_Local_IP_Address avp_PCC_3GPP_HeNB_Local_IP_Address, AAA_3GPP_SMS_Register_Request avp_AAA_3GPP_SMS_Register_Request, PCC_3GPP_Packet_Filter_Content avp_PCC_3GPP_Packet_Filter_Content, + CxDx_3GPP_Subscription_Info avp_CxDx_3GPP_Subscription_Info, AAA_3GPP_APN_Configuration avp_AAA_3GPP_APN_Configuration, + CxDx_3GPP_SIP_Number_Auth_Items avp_CxDx_3GPP_SIP_Number_Auth_Items, AAA_3GPP_OMC_Id avp_AAA_3GPP_OMC_Id, AAA_3GPP_GMLC_Restriction avp_AAA_3GPP_GMLC_Restriction, + DNAS_NONE_State avp_DNAS_NONE_State, + DNAS_NONE_Tunnel_Preference avp_DNAS_NONE_Tunnel_Preference, + DCC_NONE_CC_Session_Failover avp_DCC_NONE_CC_Session_Failover, AAA_3GPP_Regional_Subscription_Zone_Code avp_AAA_3GPP_Regional_Subscription_Zone_Code, + GI_3GPP_3GPP_Negotiated_DSCP avp_GI_3GPP_3GPP_Negotiated_DSCP, BASE_NONE_Proxy_State avp_BASE_NONE_Proxy_State, + DCC_NONE_Credit_Control_Failure_Handling avp_DCC_NONE_Credit_Control_Failure_Handling, S6_3GPP_SIR_Flags avp_S6_3GPP_SIR_Flags, RX_3GPP_MPS_Identifier avp_RX_3GPP_MPS_Identifier, AAA_3GPP_MDT_Allowed_PLMN_Id avp_AAA_3GPP_MDT_Allowed_PLMN_Id, @@ -4663,17 +6555,25 @@ PCC_3GPP_Pre_emption_Capability avp_PCC_3GPP_Pre_emption_Capability, PCC_3GPP_Monitoring_Flags avp_PCC_3GPP_Monitoring_Flags, BASE_NONE_Redirect_Max_Cache_Time avp_BASE_NONE_Redirect_Max_Cache_Time, + CxDx_3GPP_Feature_List avp_CxDx_3GPP_Feature_List, PCC_3GPP_TCP_Source_Port avp_PCC_3GPP_TCP_Source_Port, PCC_3GPP_Application_Detection_Information avp_PCC_3GPP_Application_Detection_Information, AAA_3GPP_Emergency_Info avp_AAA_3GPP_Emergency_Info, AAA_3GPP_MPS_Priority avp_AAA_3GPP_MPS_Priority, + DCC_NONE_Requested_Action avp_DCC_NONE_Requested_Action, + CxDx_3GPP_Record_Route avp_CxDx_3GPP_Record_Route, AAA_3GPP_Alert_Reason avp_AAA_3GPP_Alert_Reason, + GI_3GPP_3GPP_CG_IPv6_Address avp_GI_3GPP_3GPP_CG_IPv6_Address, + DNAS_NONE_Idle_Timeout avp_DNAS_NONE_Idle_Timeout, + DNAS_NONE_NAS_Port_Id avp_DNAS_NONE_NAS_Port_Id, AAA_3GPP_MO_LR avp_AAA_3GPP_MO_LR, BASE_NONE_Host_IP_Address avp_BASE_NONE_Host_IP_Address, RX_3GPP_Max_Requested_Bandwidth_UL avp_RX_3GPP_Max_Requested_Bandwidth_UL, PCC_3GPP_Usage_Monitoring_Support avp_PCC_3GPP_Usage_Monitoring_Support, S6_3GPP_Maximum_Response_Time avp_S6_3GPP_Maximum_Response_Time, RX_3GPP_Sponsor_Identity avp_RX_3GPP_Sponsor_Identity, + DNAS_NONE_Framed_Appletalk_Link avp_DNAS_NONE_Framed_Appletalk_Link, + DNAS_NONE_Framed_Interface_Id avp_DNAS_NONE_Framed_Interface_Id, PCC_3GPP_CoA_IP_Address avp_PCC_3GPP_CoA_IP_Address, PCC_3GPP_Default_QoS_Information avp_PCC_3GPP_Default_QoS_Information, PCC_3GPP_AN_GW_Address avp_PCC_3GPP_AN_GW_Address, @@ -4683,72 +6583,104 @@ AAA_3GPP_Cell_Global_Identity avp_AAA_3GPP_Cell_Global_Identity, BASE_NONE_Vendor_Id avp_BASE_NONE_Vendor_Id, AAA_3GPP_PDN_Connection_Continuity avp_AAA_3GPP_PDN_Connection_Continuity, + CxDx_3GPP_Wildcarded_Public_Identity avp_CxDx_3GPP_Wildcarded_Public_Identity, + DNAS_NONE_Acct_Session_Time avp_DNAS_NONE_Acct_Session_Time, AAA_3GPP_DSA_Flags avp_AAA_3GPP_DSA_Flags, AAA_3GPP_Trace_Data avp_AAA_3GPP_Trace_Data, AAA_3GPP_LCS_Info avp_AAA_3GPP_LCS_Info, AAA_3GPP_PDN_GW_Allocation_Type avp_AAA_3GPP_PDN_GW_Allocation_Type, + GI_3GPP_3GPP_SGSN_MCC_MNC avp_GI_3GPP_3GPP_SGSN_MCC_MNC, BASE_NONE_Event_Timestamp avp_BASE_NONE_Event_Timestamp, + DCC_NONE_Final_Unit_Action avp_DCC_NONE_Final_Unit_Action, RX_3GPP_Extended_Max_Requested_BW_UL avp_RX_3GPP_Extended_Max_Requested_BW_UL, S6_3GPP_User_Identifier avp_S6_3GPP_User_Identifier, + DNAS_NONE_Framed_IPv6_Pool avp_DNAS_NONE_Framed_IPv6_Pool, PCC_3GPP_QoS_Rule_Base_Name avp_PCC_3GPP_QoS_Rule_Base_Name, AAA_3GPP_Restoration_Priority avp_AAA_3GPP_Restoration_Priority, + DCC_NONE_Rating_Group avp_DCC_NONE_Rating_Group, MIPv6_NONE_MIP_MN_HA_SPI avp_MIPv6_NONE_MIP_MN_HA_SPI, S6_3GPP_Association_Type avp_S6_3GPP_Association_Type, PCC_3GPP_Charging_Rule_Definition avp_PCC_3GPP_Charging_Rule_Definition, RX_3GPP_Min_Requested_Bandwidth_UL avp_RX_3GPP_Min_Requested_Bandwidth_UL, AAA_3GPP_Report_Amount avp_AAA_3GPP_Report_Amount, PCC_3GPP_CoA_Information avp_PCC_3GPP_CoA_Information, + CxDx_3GPP_Secondary_Charging_Collection_Function_Name avp_CxDx_3GPP_Secondary_Charging_Collection_Function_Name, + DCC_NONE_User_Equipment_Info avp_DCC_NONE_User_Equipment_Info, AAA_3GPP_A_MSISDN avp_AAA_3GPP_A_MSISDN, MIPv6_NONE_MIP_Mobile_Node_Address avp_MIPv6_NONE_MIP_Mobile_Node_Address, PCC_3GPP_Routing_Rule_Report avp_PCC_3GPP_Routing_Rule_Report, AAA_3GPP_Number_Of_Requested_Vectors avp_AAA_3GPP_Number_Of_Requested_Vectors, AAA_3GPP_AIR_Flags avp_AAA_3GPP_AIR_Flags, AAA_3GPP_Geographical_Information avp_AAA_3GPP_Geographical_Information, + CxDx_3GPP_Loose_Route_Indication avp_CxDx_3GPP_Loose_Route_Indication, + DCC_NONE_Service_Parameter_Type avp_DCC_NONE_Service_Parameter_Type, AAA_3GPP_MME_User_State avp_AAA_3GPP_MME_User_State, AAA_3GPP_Access_Restriction_Data avp_AAA_3GPP_Access_Restriction_Data, BASE_NONE_Failed_AVP avp_BASE_NONE_Failed_AVP, + GI_3GPP_3GPP_RAT_Type avp_GI_3GPP_3GPP_RAT_Type, AAA_3GPP_SS_Status avp_AAA_3GPP_SS_Status, S6_3GPP_NIDD_Authorization_Update avp_S6_3GPP_NIDD_Authorization_Update, + DCC_NONE_Subscription_Id_Type avp_DCC_NONE_Subscription_Id_Type, PCC_3GPP_Packet_Filter_Operation avp_PCC_3GPP_Packet_Filter_Operation, S6_3GPP_SCEF_Reference_ID_for_Deletion avp_S6_3GPP_SCEF_Reference_ID_for_Deletion, RX_3GPP_SIP_Forking_Indication avp_RX_3GPP_SIP_Forking_Indication, + DNAS_NONE_User_Password avp_DNAS_NONE_User_Password, S6_3GPP_IMEI_Change avp_S6_3GPP_IMEI_Change, PCC_3GPP_IP_CAN_Type avp_PCC_3GPP_IP_CAN_Type, RX_3GPP_Extended_Min_Desired_BW_UL avp_RX_3GPP_Extended_Min_Desired_BW_UL, + CxDx_3GPP_SIP_Authorization avp_CxDx_3GPP_SIP_Authorization, PCC_3GPP_Revalidation_Time avp_PCC_3GPP_Revalidation_Time, AAA_3GPP_Logging_Interval avp_AAA_3GPP_Logging_Interval, PCC_3GPP_Presence_Reporting_Area_Status avp_PCC_3GPP_Presence_Reporting_Area_Status, AAA_3GPP_WLAN_offloadability avp_AAA_3GPP_WLAN_offloadability, PCC_3GPP_Routing_Filter avp_PCC_3GPP_Routing_Filter, PCC_3GPP_Metering_Method avp_PCC_3GPP_Metering_Method, + DNAS_NONE_Acct_Tunnel_Connection avp_DNAS_NONE_Acct_Tunnel_Connection, AAA_3GPP_Non_IP_Data_Delivery_Mechanism avp_AAA_3GPP_Non_IP_Data_Delivery_Mechanism, + DNAS_NONE_NAS_Filter_Rule avp_DNAS_NONE_NAS_Filter_Rule, BASE_NONE_Session_Server_Failover avp_BASE_NONE_Session_Server_Failover, + CxDx_3GPP_Integrity_Key avp_CxDx_3GPP_Integrity_Key, AAA_3GPP_E_UTRAN_Vector avp_AAA_3GPP_E_UTRAN_Vector, BASE_NONE_Experimental_Result avp_BASE_NONE_Experimental_Result, + DNAS_NONE_Acct_Link_Count avp_DNAS_NONE_Acct_Link_Count, + DCC_NONE_Unit_Value avp_DCC_NONE_Unit_Value, AAA_3GPP_Trace_Event_List avp_AAA_3GPP_Trace_Event_List, + GI_3GPP_3GPP_PDP_Type avp_GI_3GPP_3GPP_PDP_Type, + DNAS_NONE_Reply_Message avp_DNAS_NONE_Reply_Message, + DNAS_NONE_Connect_Info avp_DNAS_NONE_Connect_Info, MIPv6_NONE_MIP_Replay_Mode avp_MIPv6_NONE_MIP_Replay_Mode, BASE_NONE_Proxy_Host avp_BASE_NONE_Proxy_Host, S6_3GPP_Communication_Pattern_Set avp_S6_3GPP_Communication_Pattern_Set, RX_3GPP_Flow_Status avp_RX_3GPP_Flow_Status, + DNAS_NONE_CHAP_Challenge avp_DNAS_NONE_CHAP_Challenge, + DCC_NONE_CC_Unit_Type avp_DCC_NONE_CC_Unit_Type, RX_3GPP_MCPTT_Identifier avp_RX_3GPP_MCPTT_Identifier, S6_3GPP_Group_Monitoring_Event_Report avp_S6_3GPP_Group_Monitoring_Event_Report, PCC_3GPP_QoS_Upgrade avp_PCC_3GPP_QoS_Upgrade, + DNAS_NONE_Service_Type avp_DNAS_NONE_Service_Type, PCC_3GPP_AN_GW_Status avp_PCC_3GPP_AN_GW_Status, AAA_3GPP_Measurement_Period_UMTS avp_AAA_3GPP_Measurement_Period_UMTS, PCC_3GPP_Monitoring_Key avp_PCC_3GPP_Monitoring_Key, PCC_3GPP_3GPP_PS_Data_Off_Status avp_PCC_3GPP_3GPP_PS_Data_Off_Status, AAA_3GPP_Reset_ID avp_AAA_3GPP_Reset_ID, PCC_3GPP_Routing_Rule_Install avp_PCC_3GPP_Routing_Rule_Install, + CxDx_3GPP_Server_Assignment_Type avp_CxDx_3GPP_Server_Assignment_Type, AAA_3GPP_PUR_Flags avp_AAA_3GPP_PUR_Flags, + DNAS_NONE_Framed_Routing avp_DNAS_NONE_Framed_Routing, PCC_3GPP_IP_CAN_Session_Charging_Scope avp_PCC_3GPP_IP_CAN_Session_Charging_Scope, AAA_3GPP_IMEI avp_AAA_3GPP_IMEI, + DNAS_NONE_CHAP_Ident avp_DNAS_NONE_CHAP_Ident, AAA_3GPP_Kc avp_AAA_3GPP_Kc, AAA_3GPP_SGSN_Number avp_AAA_3GPP_SGSN_Number, AAA_3GPP_HPLMN_ODB avp_AAA_3GPP_HPLMN_ODB, + GI_3GPP_3GPP_Charging_Characteristics avp_GI_3GPP_3GPP_Charging_Characteristics, AAA_3GPP_PDP_Context avp_AAA_3GPP_PDP_Context, + DCC_NONE_CC_Money avp_DCC_NONE_CC_Money, + GI_3GPP_3GPP_GGSN_Address avp_GI_3GPP_3GPP_GGSN_Address, BASE_NONE_Proxy_Info avp_BASE_NONE_Proxy_Info, S6_3GPP_Node_Type avp_S6_3GPP_Node_Type, RX_3GPP_Priority_Sharing_Indicator avp_RX_3GPP_Priority_Sharing_Indicator, + DNAS_NONE_Tunnel_Type avp_DNAS_NONE_Tunnel_Type, PCC_3GPP_QoS_Rule_Name avp_PCC_3GPP_QoS_Rule_Name, S6_3GPP_Scheduled_Communication_Time avp_S6_3GPP_Scheduled_Communication_Time, RX_3GPP_Max_Requested_Bandwidth_DL avp_RX_3GPP_Max_Requested_Bandwidth_DL, @@ -4756,16 +6688,26 @@ PCC_3GPP_PCC_Rule_Status avp_PCC_3GPP_PCC_Rule_Status, PCC_3GPP_Extended_GBR_DL avp_PCC_3GPP_Extended_GBR_DL, AAA_3GPP_MBSFN_Area avp_AAA_3GPP_MBSFN_Area, + CxDx_3GPP_Server_Name avp_CxDx_3GPP_Server_Name, + DCC_NONE_Check_Balance_Result avp_DCC_NONE_Check_Balance_Result, S6_3GPP_APN_Validity_Time avp_S6_3GPP_APN_Validity_Time, AAA_3GPP_Job_Type avp_AAA_3GPP_Job_Type, PCC_3GPP_Allocation_Retention_Priority avp_PCC_3GPP_Allocation_Retention_Priority, BASE_NONE_Destination_Host avp_BASE_NONE_Destination_Host, AAA_3GPP_Positioning_Method avp_AAA_3GPP_Positioning_Method, + CxDx_3GPP_LIA_Flags avp_CxDx_3GPP_LIA_Flags, AAA_3GPP_DL_Buffering_Suggested_Packet_Count avp_AAA_3GPP_DL_Buffering_Suggested_Packet_Count, + DNAS_NONE_Login_IP_Host avp_DNAS_NONE_Login_IP_Host, + DNAS_NONE_ARAP_Security avp_DNAS_NONE_ARAP_Security, AAA_3GPP_IDA_Flags avp_AAA_3GPP_IDA_Flags, + DNAS_NONE_Origin_AAA_Protocol avp_DNAS_NONE_Origin_AAA_Protocol, + CxDx_3GPP_Charging_Information avp_CxDx_3GPP_Charging_Information, AAA_3GPP_ULA_Flags avp_AAA_3GPP_ULA_Flags, AAA_3GPP_IMS_Voice_Over_PS_Sessions_Supported avp_AAA_3GPP_IMS_Voice_Over_PS_Sessions_Supported, AAA_3GPP_Roaming_Restricted_Due_To_Unsupported_Feature avp_AAA_3GPP_Roaming_Restricted_Due_To_Unsupported_Feature, + DNAS_NONE_Tunnel_Assignment_Id avp_DNAS_NONE_Tunnel_Assignment_Id, + DNAS_NONE_Framed_IPX_Network avp_DNAS_NONE_Framed_IPX_Network, + DCC_NONE_CC_Service_Specific_Units avp_DCC_NONE_CC_Service_Specific_Units, S6_3GPP_T4_Parameters avp_S6_3GPP_T4_Parameters, RX_3GPP_Access_Network_Charging_Identifier_Value avp_RX_3GPP_Access_Network_Charging_Identifier_Value, S6_3GPP_AESE_Error_Report avp_S6_3GPP_AESE_Error_Report, @@ -4776,17 +6718,25 @@ PCC_3GPP_Access_Network_Charging_Identifier_Gx avp_PCC_3GPP_Access_Network_Charging_Identifier_Gx, RX_3GPP_Extended_Max_Requested_BW_DL avp_RX_3GPP_Extended_Max_Requested_BW_DL, PCC_3GPP_Flow_Information avp_PCC_3GPP_Flow_Information, + DNAS_NONE_NAS_Identifier avp_DNAS_NONE_NAS_Identifier, + DNAS_NONE_Tunnel_Server_Auth_Id avp_DNAS_NONE_Tunnel_Server_Auth_Id, PCC_3GPP_Execution_Time avp_PCC_3GPP_Execution_Time, + CxDx_3GPP_Contact avp_CxDx_3GPP_Contact, + DCC_NONE_Credit_Control avp_DCC_NONE_Credit_Control, BASE_NONE_Accounting_Record_Number avp_BASE_NONE_Accounting_Record_Number, AAA_3GPP_Event_Threshold_Event_1I avp_AAA_3GPP_Event_Threshold_Event_1I, PCC_3GPP_Charging_Correlation_Indicator avp_PCC_3GPP_Charging_Correlation_Indicator, + CxDx_3GPP_User_Data avp_CxDx_3GPP_User_Data, AAA_3GPP_Report_Interval avp_AAA_3GPP_Report_Interval, PCC_3GPP_RAN_NAS_Release_Cause avp_PCC_3GPP_RAN_NAS_Release_Cause, AAA_3GPP_Client_Identity avp_AAA_3GPP_Client_Identity, BASE_NONE_Redirect_Host_Usage avp_BASE_NONE_Redirect_Host_Usage, AAA_3GPP_Equipment_Status avp_AAA_3GPP_Equipment_Status, + GI_3GPP_3GPP_Packet_Filter avp_GI_3GPP_3GPP_Packet_Filter, + DCC_NONE_Redirect_Server_Address avp_DCC_NONE_Redirect_Server_Address, MIPv6_NONE_MIP6_Auth_Mode avp_MIPv6_NONE_MIP6_Auth_Mode, AAA_3GPP_EPS_Location_Information avp_AAA_3GPP_EPS_Location_Information, + DNAS_NONE_Acct_Tunnel_Packets_Lost avp_DNAS_NONE_Acct_Tunnel_Packets_Lost, BASE_NONE_Session_Timeout avp_BASE_NONE_Session_Timeout, RX_3GPP_Service_Info_Status avp_RX_3GPP_Service_Info_Status, S6_3GPP_CIR_Flags avp_S6_3GPP_CIR_Flags, @@ -4803,33 +6753,48 @@ PCC_3GPP_ADC_Rule_Report avp_PCC_3GPP_ADC_Rule_Report, AAA_3GPP_UE_SRVCC_Capability avp_AAA_3GPP_UE_SRVCC_Capability, PCC_3GPP_Guaranteed_Bitrate_UL avp_PCC_3GPP_Guaranteed_Bitrate_UL, + DNAS_NONE_NAS_IPv6_Address avp_DNAS_NONE_NAS_IPv6_Address, + DNAS_NONE_Login_LAT_Group avp_DNAS_NONE_Login_LAT_Group, MIPv6_NONE_MIP_MAC_Mobility_Data avp_MIPv6_NONE_MIP_MAC_Mobility_Data, + DNAS_NONE_Accounting_Output_Octets avp_DNAS_NONE_Accounting_Output_Octets, + CxDx_3GPP_To_SIP_Header avp_CxDx_3GPP_To_SIP_Header, AAA_3GPP_Coupled_Node_Diameter_ID avp_AAA_3GPP_Coupled_Node_Diameter_ID, AAA_3GPP_STN_SR avp_AAA_3GPP_STN_SR, BASE_NONE_Supported_Vendor_Id avp_BASE_NONE_Supported_Vendor_Id, AAA_3GPP_ServiceTypeIdentity avp_AAA_3GPP_ServiceTypeIdentity, + DNAS_NONE_Acct_Authentic avp_DNAS_NONE_Acct_Authentic, + DCC_NONE_Service_Identifier avp_DCC_NONE_Service_Identifier, AAA_3GPP_AUTN avp_AAA_3GPP_AUTN, + GI_3GPP_TWAN_Identifier avp_GI_3GPP_TWAN_Identifier, RX_3GPP_Sponsored_Connectivity_Data avp_RX_3GPP_Sponsored_Connectivity_Data, BASE_NONE_Auth_Request_Type avp_BASE_NONE_Auth_Request_Type, S6_3GPP_AESE_Communication_Pattern avp_S6_3GPP_AESE_Communication_Pattern, PCC_3GPP_NBIFOM_Mode avp_PCC_3GPP_NBIFOM_Mode, + DCC_NONE_Validity_Time avp_DCC_NONE_Validity_Time, PCC_3GPP_Redirect_Information avp_PCC_3GPP_Redirect_Information, S6_3GPP_Event_Handling avp_S6_3GPP_Event_Handling, AAA_3GPP_Tracking_Area_Identity avp_AAA_3GPP_Tracking_Area_Identity, PCC_3GPP_ToS_Traffic_Class avp_PCC_3GPP_ToS_Traffic_Class, RX_3GPP_Min_Desired_Bandwidth_UL avp_RX_3GPP_Min_Desired_Bandwidth_UL, AAA_3GPP_UVR_Flags avp_AAA_3GPP_UVR_Flags, + CxDx_3GPP_Originating_Request avp_CxDx_3GPP_Originating_Request, AAA_3GPP_Subscription_Data_Flags avp_AAA_3GPP_Subscription_Data_Flags, PCC_3GPP_PDN_Connection_ID avp_PCC_3GPP_PDN_Connection_ID, + DNAS_NONE_Framed_IPv6_Route avp_DNAS_NONE_Framed_IPv6_Route, AAA_3GPP_DSR_Flags avp_AAA_3GPP_DSR_Flags, PCC_3GPP_PRA_Remove avp_PCC_3GPP_PRA_Remove, + DCC_NONE_Granted_Service_Unit avp_DCC_NONE_Granted_Service_Unit, MIPv6_NONE_MIP_Timestamp avp_MIPv6_NONE_MIP_Timestamp, AAA_3GPP_Subscribed_Periodic_RAU_TAU_Timer avp_AAA_3GPP_Subscribed_Periodic_RAU_TAU_Timer, AAA_3GPP_Specific_APN_Info avp_AAA_3GPP_Specific_APN_Info, AAA_3GPP_Terminal_Information avp_AAA_3GPP_Terminal_Information, + CxDx_3GPP_Restoration_Info avp_CxDx_3GPP_Restoration_Info, BASE_NONE_Product_Name avp_BASE_NONE_Product_Name, AAA_3GPP_CSG_Id avp_AAA_3GPP_CSG_Id, + DNAS_NONE_Framed_IP_Netmask avp_DNAS_NONE_Framed_IP_Netmask, + GI_3GPP_3GPP_IPv6_DNS_Servers avp_GI_3GPP_3GPP_IPv6_DNS_Servers, AAA_3GPP_Call_Barring_Info avp_AAA_3GPP_Call_Barring_Info, + DCC_NONE_Service_Parameter_Info avp_DCC_NONE_Service_Parameter_Info, BASE_NONE_Origin_State_Id avp_BASE_NONE_Origin_State_Id, S6_3GPP_IP_SM_GW_Name avp_S6_3GPP_IP_SM_GW_Name, RX_3GPP_Media_Sub_Component avp_RX_3GPP_Media_Sub_Component, @@ -4838,6 +6803,7 @@ RX_3GPP_Min_Requested_Bandwidth_DL avp_RX_3GPP_Min_Requested_Bandwidth_DL, S6_3GPP_Service_Report avp_S6_3GPP_Service_Report, PCC_3GPP_Tunnel_Information avp_PCC_3GPP_Tunnel_Information, + CxDx_3GPP_Primary_Charging_Collection_Function_Name avp_CxDx_3GPP_Primary_Charging_Collection_Function_Name, AAA_3GPP_Time_Zone avp_AAA_3GPP_Time_Zone, PCC_3GPP_QoS_Rule_Definition avp_PCC_3GPP_QoS_Rule_Definition, S6_3GPP_Periodic_Time avp_S6_3GPP_Periodic_Time, @@ -4848,12 +6814,18 @@ PCC_3GPP_Charging_Rule_Report avp_PCC_3GPP_Charging_Rule_Report, BASE_NONE_User_Name avp_BASE_NONE_User_Name, AAA_3GPP_UE_PC5_AMBR avp_AAA_3GPP_UE_PC5_AMBR, + CxDx_3GPP_Public_Identity avp_CxDx_3GPP_Public_Identity, BASE_NONE_Accounting_Sub_Session_Id avp_BASE_NONE_Accounting_Sub_Session_Id, + DNAS_NONE_Acct_Delay_Time avp_DNAS_NONE_Acct_Delay_Time, + CxDx_3GPP_UAR_Flags avp_CxDx_3GPP_UAR_Flags, AAA_3GPP_Collection_Period_RRM_UMTS avp_AAA_3GPP_Collection_Period_RRM_UMTS, AAA_3GPP_Operator_Determined_Barring avp_AAA_3GPP_Operator_Determined_Barring, + DNAS_NONE_Tunnel_Server_Endpoint avp_DNAS_NONE_Tunnel_Server_Endpoint, BASE_NONE_Session_Binding avp_BASE_NONE_Session_Binding, + GI_3GPP_3GPP_IMEISV avp_GI_3GPP_3GPP_IMEISV, AAA_3GPP_SS_Code avp_AAA_3GPP_SS_Code, BASE_NONE_Acct_Multi_Session_Id avp_BASE_NONE_Acct_Multi_Session_Id, + DCC_NONE_Subscription_Id_Data avp_DCC_NONE_Subscription_Id_Data, RX_3GPP_RS_Bandwidth avp_RX_3GPP_RS_Bandwidth, MIPv6_NONE_MIP_Algorithm_Type avp_MIPv6_NONE_MIP_Algorithm_Type, S6_3GPP_Reachability_Information avp_S6_3GPP_Reachability_Information, @@ -4866,49 +6838,77 @@ PCC_3GPP_Event_Trigger avp_PCC_3GPP_Event_Trigger, RX_3GPP_GCS_Identifier avp_RX_3GPP_GCS_Identifier, MIPv6_NONE_QoS_Capability avp_MIPv6_NONE_QoS_Capability, + DCC_NONE_G_S_U_Pool_Identifier avp_DCC_NONE_G_S_U_Pool_Identifier, AAA_3GPP_Non_IP_PDN_Type_Indicator avp_AAA_3GPP_Non_IP_PDN_Type_Indicator, PCC_3GPP_ADC_Rule_Install avp_PCC_3GPP_ADC_Rule_Install, + CxDx_3GPP_Confidentiality_Key avp_CxDx_3GPP_Confidentiality_Key, PCC_3GPP_Flow_Label avp_PCC_3GPP_Flow_Label, + DNAS_NONE_NAS_Port avp_DNAS_NONE_NAS_Port, AAA_3GPP_Authentication_Info avp_AAA_3GPP_Authentication_Info, AAA_3GPP_Trace_Interface_List avp_AAA_3GPP_Trace_Interface_List, + GI_3GPP_3GPP_Charging_Id avp_GI_3GPP_3GPP_Charging_Id, + DNAS_NONE_CHAP_Algorithm avp_DNAS_NONE_CHAP_Algorithm, AAA_3GPP_APN_Configuration_Profile avp_AAA_3GPP_APN_Configuration_Profile, + GI_3GPP_3GPP_CAMEL_Charging_Info avp_GI_3GPP_3GPP_CAMEL_Charging_Info, RX_3GPP_Flows avp_RX_3GPP_Flows, S6_3GPP_CIA_Flags avp_S6_3GPP_CIA_Flags, RX_3GPP_Extended_Min_Requested_BW_UL avp_RX_3GPP_Extended_Min_Requested_BW_UL, PCC_3GPP_Monitoring_Time avp_PCC_3GPP_Monitoring_Time, + DCC_NONE_CC_Input_Octets avp_DCC_NONE_CC_Input_Octets, S6_3GPP_UE_Reachability_Configuration avp_S6_3GPP_UE_Reachability_Configuration, BASE_NONE_Destination_Realm avp_BASE_NONE_Destination_Realm, RX_3GPP_Acceptable_Service_Info avp_RX_3GPP_Acceptable_Service_Info, PCC_3GPP_Flow_Direction avp_PCC_3GPP_Flow_Direction, S6_3GPP_Supported_Monitoring_Events avp_S6_3GPP_Supported_Monitoring_Events, + CxDx_3GPP_SIP_Item_Number avp_CxDx_3GPP_SIP_Item_Number, PCC_3GPP_Session_Release_Cause avp_PCC_3GPP_Session_Release_Cause, AAA_3GPP_MDT_User_Consent avp_AAA_3GPP_MDT_User_Consent, + DNAS_NONE_Login_LAT_Port avp_DNAS_NONE_Login_LAT_Port, S6_3GPP_HSS_Cause avp_S6_3GPP_HSS_Cause, + DCC_NONE_G_S_U_Pool_Reference avp_DCC_NONE_G_S_U_Pool_Reference, PCC_3GPP_PCSCF_Restoration_Indication avp_PCC_3GPP_PCSCF_Restoration_Indication, AAA_3GPP_Subscription_Data_Deletion avp_AAA_3GPP_Subscription_Data_Deletion, MIPv6_NONE_Chargable_User_Identity avp_MIPv6_NONE_Chargable_User_Identity, AAA_3GPP_Trace_Collection_Entity avp_AAA_3GPP_Trace_Collection_Entity, + CxDx_3GPP_Feature_List_ID avp_CxDx_3GPP_Feature_List_ID, BASE_NONE_Redirect_Host avp_BASE_NONE_Redirect_Host, AAA_3GPP_Network_Access_Mode avp_AAA_3GPP_Network_Access_Mode, + DNAS_NONE_ARAP_Zone_Access avp_DNAS_NONE_ARAP_Zone_Access, + DNAS_NONE_Framed_Compression avp_DNAS_NONE_Framed_Compression, + GI_3GPP_3GPP_Selection_Mode avp_GI_3GPP_3GPP_Selection_Mode, + DNAS_NONE_QoS_Filter_Rule avp_DNAS_NONE_QoS_Filter_Rule, AAA_3GPP_Complete_Data_List_Included_Indicator avp_AAA_3GPP_Complete_Data_List_Included_Indicator, MIPv6_NONE_MIP_MN_AAA_SPI avp_MIPv6_NONE_MIP_MN_AAA_SPI, + GI_3GPP_3GPP_SGSN_Address avp_GI_3GPP_3GPP_SGSN_Address, MIPv6_NONE_MIP_MSA_Lifetime avp_MIPv6_NONE_MIP_MSA_Lifetime, + GI_3GPP_External_Identifier avp_GI_3GPP_External_Identifier, S6_3GPP_Reachability_Type avp_S6_3GPP_Reachability_Type, + DNAS_NONE_Tunnel_Private_Group_Id avp_DNAS_NONE_Tunnel_Private_Group_Id, + DNAS_NONE_Framed_Route avp_DNAS_NONE_Framed_Route, + DCC_NONE_CC_Request_Type avp_DCC_NONE_CC_Request_Type, S6_3GPP_Type_Of_External_Identifier avp_S6_3GPP_Type_Of_External_Identifier, PCC_3GPP_Event_Report_Indication avp_PCC_3GPP_Event_Report_Indication, AAA_3GPP_MDT_Configuration avp_AAA_3GPP_MDT_Configuration, PCC_3GPP_Usage_Monitoring_Report avp_PCC_3GPP_Usage_Monitoring_Report, + CxDx_3GPP_Priviledged_Sender_Indication avp_CxDx_3GPP_Priviledged_Sender_Indication, AAA_3GPP_Adjacent_Access_Restriction_Data avp_AAA_3GPP_Adjacent_Access_Restriction_Data, AAA_3GPP_RAT_Frequency_Selection_Priority_ID avp_AAA_3GPP_RAT_Frequency_Selection_Priority_ID, + CxDx_3GPP_Reason_Info avp_CxDx_3GPP_Reason_Info, AAA_3GPP_CLR_Flags avp_AAA_3GPP_CLR_Flags, PCC_3GPP_Default_EPS_Bearer_QoS avp_PCC_3GPP_Default_EPS_Bearer_QoS, AAA_3GPP_ULR_Flags avp_AAA_3GPP_ULR_Flags, + DNAS_NONE_Tunnel_Client_Auth_Id avp_DNAS_NONE_Tunnel_Client_Auth_Id, + DNAS_NONE_Calling_Station_Id avp_DNAS_NONE_Calling_Station_Id, AAA_3GPP_ICS_Indicator avp_AAA_3GPP_ICS_Indicator, + DCC_NONE_Currency_Code avp_DCC_NONE_Currency_Code, AAA_3GPP_Cancellation_Type avp_AAA_3GPP_Cancellation_Type, BASE_NONE_E2E_Sequence avp_BASE_NONE_E2E_Sequence, BASE_NONE_Origin_Realm avp_BASE_NONE_Origin_Realm, AAA_3GPP_PDN_Type avp_AAA_3GPP_PDN_Type, + DNAS_NONE_Prompt avp_DNAS_NONE_Prompt, + GI_3GPP_3GPP_GGSN_IPv6_Address avp_GI_3GPP_3GPP_GGSN_IPv6_Address, RX_3GPP_Access_Network_Charging_Identifier avp_RX_3GPP_Access_Network_Charging_Identifier, + DCC_NONE_Redirect_Server avp_DCC_NONE_Redirect_Server, S6_3GPP_AESE_Communication_Pattern_Config_Status avp_S6_3GPP_AESE_Communication_Pattern_Config_Status, S6_3GPP_Enhanced_Coverage_Restriction_Data avp_S6_3GPP_Enhanced_Coverage_Restriction_Data, PCC_3GPP_Bearer_Operation avp_PCC_3GPP_Bearer_Operation, @@ -4917,21 +6917,29 @@ PCC_3GPP_TDF_Application_Instance_Identifier avp_PCC_3GPP_TDF_Application_Instance_Identifier, BASE_NONE_Acct_Interim_Interval avp_BASE_NONE_Acct_Interim_Interval, RX_3GPP_Media_Component_Number avp_RX_3GPP_Media_Component_Number, + CxDx_3GPP_Path avp_CxDx_3GPP_Path, AAA_3GPP_Event_Threshold_Event_1F avp_AAA_3GPP_Event_Threshold_Event_1F, PCC_3GPP_Packet_Filter_Usage avp_PCC_3GPP_Packet_Filter_Usage, S6_3GPP_MONTE_Location_Type avp_S6_3GPP_MONTE_Location_Type, AAA_3GPP_RDS_Indicator avp_AAA_3GPP_RDS_Indicator, + CxDx_3GPP_Optional_Capability avp_CxDx_3GPP_Optional_Capability, AAA_3GPP_Reporting_Trigger avp_AAA_3GPP_Reporting_Trigger, PCC_3GPP_Tunnel_Header_Length avp_PCC_3GPP_Tunnel_Header_Length, PCC_3GPP_Conditional_APN_Aggregate_Max_Bitrate avp_PCC_3GPP_Conditional_APN_Aggregate_Max_Bitrate, + CxDx_3GPP_Secondary_Event_Charging_Function_Name avp_CxDx_3GPP_Secondary_Event_Charging_Function_Name, AAA_3GPP_Group_PLMN_Id avp_AAA_3GPP_Group_PLMN_Id, AAA_3GPP_User_Id avp_AAA_3GPP_User_Id, + DNAS_NONE_Login_LAT_Node avp_DNAS_NONE_Login_LAT_Node, + DNAS_NONE_Originating_Line_Info avp_DNAS_NONE_Originating_Line_Info, + DCC_NONE_Exponent avp_DCC_NONE_Exponent, MIPv6_NONE_MIP_Authenticator avp_MIPv6_NONE_MIP_Authenticator, + DNAS_NONE_Accounting_Input_Octets avp_DNAS_NONE_Accounting_Input_Octets, AAA_3GPP_Requested_UTRAN_GERAN_Authentication_Info avp_AAA_3GPP_Requested_UTRAN_GERAN_Authentication_Info, AAA_3GPP_EPS_User_State avp_AAA_3GPP_EPS_User_State, BASE_NONE_Origin_Host avp_BASE_NONE_Origin_Host, RX_3GPP_Retry_Interval avp_RX_3GPP_Retry_Interval, BASE_NONE_Accounting_Session_Id avp_BASE_NONE_Accounting_Session_Id, + DCC_NONE_Restriction_Filter_Rule avp_DCC_NONE_Restriction_Filter_Rule, PCC_3GPP_Packet_Filter_Identifier avp_PCC_3GPP_Packet_Filter_Identifier, S6_3GPP_SCEF_Reference_ID avp_S6_3GPP_SCEF_Reference_ID, PCC_3GPP_Resource_Release_Notification avp_PCC_3GPP_Resource_Release_Notification, @@ -4940,23 +6948,33 @@ AAA_3GPP_Error_Diagnostic avp_AAA_3GPP_Error_Diagnostic, PCC_3GPP_Guaranteed_Bitrate_DL avp_PCC_3GPP_Guaranteed_Bitrate_DL, RX_3GPP_Extended_Max_Supported_BW_UL avp_RX_3GPP_Extended_Max_Supported_BW_UL, + DCC_NONE_CC_Total_Octets avp_DCC_NONE_CC_Total_Octets, PCC_3GPP_UDP_Source_Port avp_PCC_3GPP_UDP_Source_Port, BASE_NONE_Accounting_Record_Type avp_BASE_NONE_Accounting_Record_Type, + CxDx_3GPP_From_SIP_Header avp_CxDx_3GPP_From_SIP_Header, AAA_3GPP_SIPTO_Local_Network_Permission avp_AAA_3GPP_SIPTO_Local_Network_Permission, PCC_3GPP_Routing_Rule_Definition avp_PCC_3GPP_Routing_Rule_Definition, + DCC_NONE_Value_Digits avp_DCC_NONE_Value_Digits, AAA_3GPP_VPLMN_Dynamic_Address_Allowed avp_AAA_3GPP_VPLMN_Dynamic_Address_Allowed, BASE_NONE_Acct_Application_Id avp_BASE_NONE_Acct_Application_Id, + CxDx_3GPP_SIP_Authenticate avp_CxDx_3GPP_SIP_Authenticate, AAA_3GPP_Service_Type avp_AAA_3GPP_Service_Type, AAA_3GPP_Immediate_Response_Preferred avp_AAA_3GPP_Immediate_Response_Preferred, + DNAS_NONE_Login_IPv6_Host avp_DNAS_NONE_Login_IPv6_Host, + DNAS_NONE_Framed_Appletalk_Zone avp_DNAS_NONE_Framed_Appletalk_Zone, + DCC_NONE_Final_Unit_Indication avp_DCC_NONE_Final_Unit_Indication, AAA_3GPP_XRES avp_AAA_3GPP_XRES, + GI_3GPP_3GPP_IMSI avp_GI_3GPP_3GPP_IMSI, AAA_3GPP_User_State avp_AAA_3GPP_User_State, BASE_NONE_Result_Code avp_BASE_NONE_Result_Code, + DNAS_NONE_Framed_IP_Address avp_DNAS_NONE_Framed_IP_Address, S6_3GPP_IP_SM_GW_Realm avp_S6_3GPP_IP_SM_GW_Realm, S6_3GPP_Reference_ID_Validity_Time avp_S6_3GPP_Reference_ID_Validity_Time, AAA_3GPP_E_UTRAN_Cell_Global_Identity avp_AAA_3GPP_E_UTRAN_Cell_Global_Identity, PCC_3GPP_TFT_Packet_Filter_Information avp_PCC_3GPP_TFT_Packet_Filter_Information, RX_3GPP_Min_Desired_Bandwidth_DL avp_RX_3GPP_Min_Desired_Bandwidth_DL, S6_3GPP_Group_Reporting_Guard_Timer avp_S6_3GPP_Group_Reporting_Guard_Timer, + CxDx_3GPP_Associated_Identities avp_CxDx_3GPP_Associated_Identities, BASE_NONE_Auth_Session_State avp_BASE_NONE_Auth_Session_State, PCC_3GPP_Session_Linking_Indicator avp_PCC_3GPP_Session_Linking_Indicator, S6_3GPP_Maximum_Number_of_Reports avp_S6_3GPP_Maximum_Number_of_Reports, @@ -4964,17 +6982,21 @@ AAA_3GPP_V2X_Permission avp_AAA_3GPP_V2X_Permission, AAA_3GPP_LIPA_Permission avp_AAA_3GPP_LIPA_Permission, PCC_3GPP_QoS_Negotiation avp_PCC_3GPP_QoS_Negotiation, + CxDx_3GPP_SIP_Auth_Data_Item avp_CxDx_3GPP_SIP_Auth_Data_Item, AAA_3GPP_3GPP2_MEID avp_AAA_3GPP_3GPP2_MEID, AAA_3GPP_Subscription_Data avp_AAA_3GPP_Subscription_Data, + CxDx_3GPP_Multiple_Registration_Indication avp_CxDx_3GPP_Multiple_Registration_Indication, BASE_NONE_Vendor_Specific_Application_Id avp_BASE_NONE_Vendor_Specific_Application_Id, AAA_3GPP_WLAN_offloadability_UTRAN avp_AAA_3GPP_WLAN_offloadability_UTRAN, AAA_3GPP_CSG_Subscription_Data avp_AAA_3GPP_CSG_Subscription_Data, MIPv6_NONE_Service_Selection avp_MIPv6_NONE_Service_Selection, AAA_3GPP_TS_Code avp_AAA_3GPP_TS_Code, + DNAS_NONE_Tunnel_Client_Endpoint avp_DNAS_NONE_Tunnel_Client_Endpoint, S6_3GPP_IP_SM_GW_Number avp_S6_3GPP_IP_SM_GW_Number, PCC_3GPP_Charging_Rule_Install avp_PCC_3GPP_Charging_Rule_Install, RX_3GPP_Rx_Request_Type avp_RX_3GPP_Rx_Request_Type, S6_3GPP_NIDD_Authorization_Response avp_S6_3GPP_NIDD_Authorization_Response, + DCC_NONE_Subscription_Id avp_DCC_NONE_Subscription_Id, AAA_3GPP_VPLMN_CSG_Subscription_Data avp_AAA_3GPP_VPLMN_CSG_Subscription_Data, PCC_3GPP_QoS_Rule_Remove avp_PCC_3GPP_QoS_Rule_Remove, S6_3GPP_Communication_Duration_Time avp_S6_3GPP_Communication_Duration_Time, @@ -4983,14 +7005,20 @@ AAA_3GPP_Location_Area_Identity avp_AAA_3GPP_Location_Area_Identity, RX_3GPP_Media_Component_Status avp_RX_3GPP_Media_Component_Status, AAA_3GPP_eDRX_Cycle_Length_Value avp_AAA_3GPP_eDRX_Cycle_Length_Value, + CxDx_3GPP_Visited_Network_Identifier avp_CxDx_3GPP_Visited_Network_Identifier, S6_3GPP_RIR_Flags avp_S6_3GPP_RIR_Flags, AAA_3GPP_Collection_Period_RRM_LTE avp_AAA_3GPP_Collection_Period_RRM_LTE, PCC_3GPP_Usage_Monitoring_Level avp_PCC_3GPP_Usage_Monitoring_Level, AAA_3GPP_Subscriber_Status avp_AAA_3GPP_Subscriber_Status, PCC_3GPP_Extended_APN_AMBR_UL avp_PCC_3GPP_Extended_APN_AMBR_UL, + CxDx_3GPP_Identity_with_Emergency_Registration avp_CxDx_3GPP_Identity_with_Emergency_Registration, + DCC_NONE_Tariff_Change_Usage avp_DCC_NONE_Tariff_Change_Usage, AAA_3GPP_LCS_PrivacyException avp_AAA_3GPP_LCS_PrivacyException, AAA_3GPP_QoS_Subscribed avp_AAA_3GPP_QoS_Subscribed, + DNAS_NONE_NAS_IP_Address avp_DNAS_NONE_NAS_IP_Address, RX_3GPP_RR_Bandwidth avp_RX_3GPP_RR_Bandwidth, + DCC_NONE_Service_Context_Id avp_DCC_NONE_Service_Context_Id, + DNAS_NONE_CHAP_Auth avp_DNAS_NONE_CHAP_Auth, PCC_3GPP_APN_Aggregate_Max_Bitrate_DL avp_PCC_3GPP_APN_Aggregate_Max_Bitrate_DL, S6_3GPP_SCS_Identity avp_S6_3GPP_SCS_Identity, RX_3GPP_Access_Network_Charging_Address avp_RX_3GPP_Access_Network_Charging_Address, @@ -5001,19 +7029,29 @@ AAA_3GPP_UE_Usage_Type avp_AAA_3GPP_UE_Usage_Type, PCC_3GPP_TDF_IP_Address avp_PCC_3GPP_TDF_IP_Address, S6_3GPP_Enhanced_Coverage_Restriction avp_S6_3GPP_Enhanced_Coverage_Restriction, + CxDx_3GPP_User_Data_Already_Available avp_CxDx_3GPP_User_Data_Already_Available, AAA_3GPP_MME_Number_for_MT_SMS avp_AAA_3GPP_MME_Number_for_MT_SMS, PCC_3GPP_Security_Parameter_Index avp_PCC_3GPP_Security_Parameter_Index, + DCC_NONE_CC_Correlation_Id avp_DCC_NONE_CC_Correlation_Id, PCC_3GPP_Traffic_Steering_Policy_Identifier_UL avp_PCC_3GPP_Traffic_Steering_Policy_Identifier_UL, BASE_NONE_Route_Record avp_BASE_NONE_Route_Record, AAA_3GPP_Carrier_Frequency avp_AAA_3GPP_Carrier_Frequency, + CxDx_3GPP_Mandatory_Capability avp_CxDx_3GPP_Mandatory_Capability, AAA_3GPP_Trace_NE_Type_List avp_AAA_3GPP_Trace_NE_Type_List, + DNAS_NONE_Port_Limit avp_DNAS_NONE_Port_Limit, + DCC_NONE_Multiple_Services_Credit_Control avp_DCC_NONE_Multiple_Services_Credit_Control, AAA_3GPP_All_APN_Configurations_Included_Indicator avp_AAA_3GPP_All_APN_Configurations_Included_Indicator, AAA_3GPP_NOR_Flags avp_AAA_3GPP_NOR_Flags, + GI_3GPP_3GPP_MS_TimeZone avp_GI_3GPP_3GPP_MS_TimeZone, AAA_3GPP_External_Client avp_AAA_3GPP_External_Client, BASE_NONE_Authorization_Lifetime avp_BASE_NONE_Authorization_Lifetime, + DNAS_NONE_ARAP_Features avp_DNAS_NONE_ARAP_Features, + DNAS_NONE_Framed_MTU avp_DNAS_NONE_Framed_MTU, RX_3GPP_Extended_Min_Requested_BW_DL avp_RX_3GPP_Extended_Min_Requested_BW_DL, + DNAS_NONE_Accounting_Auth_Method avp_DNAS_NONE_Accounting_Auth_Method, RX_3GPP_Service_URN avp_RX_3GPP_Service_URN, S6_3GPP_Supported_Services avp_S6_3GPP_Supported_Services, + DNAS_NONE_Accounting_Output_Packets avp_DNAS_NONE_Accounting_Output_Packets, AAA_3GPP_Relay_Node_Indicator avp_AAA_3GPP_Relay_Node_Indicator, PCC_3GPP_Rule_DeActivation_Time avp_PCC_3GPP_Rule_DeActivation_Time, S6_3GPP_T4_Data avp_S6_3GPP_T4_Data, @@ -5022,13 +7060,23 @@ PCC_3GPP_ADC_Rule_Base_Name avp_PCC_3GPP_ADC_Rule_Base_Name, AAA_3GPP_SCEF_Realm avp_AAA_3GPP_SCEF_Realm, S6_3GPP_Requested_Validity_Time avp_S6_3GPP_Requested_Validity_Time, + DCC_NONE_CC_Request_Number avp_DCC_NONE_CC_Request_Number, + CxDx_3GPP_Supported_Features avp_CxDx_3GPP_Supported_Features, AAA_3GPP_Local_Time_Zone avp_AAA_3GPP_Local_Time_Zone, AAA_3GPP_GERAN_Vector avp_AAA_3GPP_GERAN_Vector, + CxDx_3GPP_Call_ID_SIP_Header avp_CxDx_3GPP_Call_ID_SIP_Header, AAA_3GPP_EPS_Subscribed_QoS_Profile avp_AAA_3GPP_EPS_Subscribed_QoS_Profile, + GI_3GPP_3GPP_Session_Stop_Indicator avp_GI_3GPP_3GPP_Session_Stop_Indicator, AAA_3GPP_GPRS_Subscription_Data avp_AAA_3GPP_GPRS_Subscription_Data, + GI_3GPP_3GPP_GPRS_Negotiated_QoS_Profile avp_GI_3GPP_3GPP_GPRS_Negotiated_QoS_Profile, + DNAS_NONE_Called_Station_Id avp_DNAS_NONE_Called_Station_Id, + DCC_NONE_Cost_Unit avp_DCC_NONE_Cost_Unit, BASE_NONE_Accounting_Realtime_Required avp_BASE_NONE_Accounting_Realtime_Required, BASE_NONE_Termination_Cause avp_BASE_NONE_Termination_Cause, + GI_3GPP_3GPP_Allocate_IP_Type avp_GI_3GPP_3GPP_Allocate_IP_Type, RX_3GPP_Specific_Action avp_RX_3GPP_Specific_Action, + DNAS_NONE_Login_TCP_Port avp_DNAS_NONE_Login_TCP_Port, + DNAS_NONE_Password_Retry avp_DNAS_NONE_Password_Retry, S6_3GPP_Maximum_Detection_Time avp_S6_3GPP_Maximum_Detection_Time, AAA_3GPP_Ext_PDP_Address avp_AAA_3GPP_Ext_PDP_Address, PCC_3GPP_RAT_Type avp_PCC_3GPP_RAT_Type, @@ -5036,10 +7084,14 @@ AAA_3GPP_Adjacent_PLMNs avp_AAA_3GPP_Adjacent_PLMNs, S6_3GPP_Service_Result_Code avp_S6_3GPP_Service_Result_Code, AAA_3GPP_SGSN_Location_Information avp_AAA_3GPP_SGSN_Location_Information, + CxDx_3GPP_Reason_Code avp_CxDx_3GPP_Reason_Code, PCC_3GPP_Pre_emption_Vulnerability avp_PCC_3GPP_Pre_emption_Vulnerability, AAA_3GPP_Equivalent_PLMN_List avp_AAA_3GPP_Equivalent_PLMN_List, PCC_3GPP_Default_Access avp_PCC_3GPP_Default_Access, + CxDx_3GPP_Supported_Applications avp_CxDx_3GPP_Supported_Applications, + DNAS_NONE_ARAP_Challenge_Response avp_DNAS_NONE_ARAP_Challenge_Response, BASE_NONE_Class avp_BASE_NONE_Class, + DCC_NONE_CC_Sub_Session_Id avp_DCC_NONE_CC_Sub_Session_Id, AAA_3GPP_IDR_Flags avp_AAA_3GPP_IDR_Flags, AAA_3GPP_V2X_Subscription_Data avp_AAA_3GPP_V2X_Subscription_Data, PCC_3GPP_PS_to_CS_Session_Continuity avp_PCC_3GPP_PS_to_CS_Session_Continuity, @@ -5076,7 +7128,12 @@ variant (avp_header) "LENGTHTO(avp_header, avp_data)" variant (avp_header) "LENGTHINDEX(avp_length)" variant (avp_data) "CROSSTAG( + avp_GI_3GPP_3GPP_SGSN_IPv6_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_SGSN_IPv6_Address; + avp_DNAS_NONE_Login_LAT_Service, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Login_LAT_Service; + avp_GI_3GPP_3GPP_GGSN_MCC_MNC, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_GGSN_MCC_MNC; + avp_DCC_NONE_Direct_Debiting_Failure_Handling, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Direct_Debiting_Failure_Handling; avp_MIPv6_NONE_MIP_Careof_Address, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_Careof_Address; + avp_CxDx_ETSI_Line_Identifier, avp_header.avp_code.vendor_id_ETSI = avp_code_CxDx_ETSI_Line_Identifier; avp_PCC_3GPP_Bearer_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Bearer_Identifier; avp_RX_3GPP_Content_Version, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Content_Version; avp_BASE_NONE_Session_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Session_Id; @@ -5087,15 +7144,23 @@ avp_PCC_3GPP_Bearer_Usage, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Bearer_Usage; avp_PCC_3GPP_Tunnel_Header_Filter, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Tunnel_Header_Filter; avp_AAA_3GPP_List_Of_Measurements, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_List_Of_Measurements; + avp_DCC_NONE_Requested_Service_Unit, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Requested_Service_Unit; avp_PCC_3GPP_Default_QoS_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Default_QoS_Name; avp_AAA_3GPP_UVA_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_UVA_Flags; + avp_CxDx_3GPP_SAR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SAR_Flags; avp_AAA_3GPP_Group_Service_Id, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Group_Service_Id; avp_PCC_3GPP_TDF_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_TDF_Information; + avp_DNAS_NONE_Framed_Pool, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_Pool; + avp_DCC_NONE_CC_Time, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Time; avp_AAA_3GPP_Requested_EUTRAN_Authentication_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Requested_EUTRAN_Authentication_Info; + avp_CxDx_3GPP_SIP_Digest_Authenticate, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SIP_Digest_Authenticate; avp_AAA_3GPP_Last_UE_Activity_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Last_UE_Activity_Time; avp_AAA_3GPP_Context_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Context_Identifier; + avp_DCC_NONE_Used_Service_Unit, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Used_Service_Unit; avp_BASE_NONE_Auth_Application_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Auth_Application_Id; avp_AAA_3GPP_Trace_Reference, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Trace_Reference; + avp_DNAS_NONE_Framed_Appletalk_Network, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_Appletalk_Network; + avp_DNAS_NONE_Framed_IPv6_Prefix, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_IPv6_Prefix; avp_RX_3GPP_Sharing_Key_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Sharing_Key_UL; avp_RX_3GPP_AF_Charging_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_AF_Charging_Identifier; avp_S6_3GPP_Monitoring_Event_Report, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Monitoring_Event_Report; @@ -5110,7 +7175,9 @@ avp_AAA_3GPP_SGs_MME_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_SGs_MME_Identity; avp_PCC_3GPP_Routing_Rule_Remove, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Routing_Rule_Remove; avp_S6_3GPP_Roaming_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Roaming_Information; + avp_CxDx_3GPP_SIP_Authentication_Scheme, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SIP_Authentication_Scheme; avp_AAA_3GPP_Event_Threshold_RSRP, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Event_Threshold_RSRP; + avp_CxDx_3GPP_User_Authorization_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_User_Authorization_Type; avp_AAA_3GPP_PLMN_Client, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_PLMN_Client; avp_AAA_3GPP_Re_Synchronization_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Re_Synchronization_Info; avp_BASE_NONE_Auth_Grace_Period, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Auth_Grace_Period; @@ -5120,10 +7187,13 @@ avp_AAA_3GPP_APN_OI_Replacement, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_APN_OI_Replacement; avp_BASE_NONE_Re_Auth_Request_Type, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Re_Auth_Request_Type; avp_S6_3GPP_External_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_External_Identifier; + avp_DCC_NONE_Redirect_Address_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Redirect_Address_Type; avp_MIPv6_NONE_MIP_MN_HA_MSA, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_MN_HA_MSA; avp_PCC_3GPP_TFT_Filter, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_TFT_Filter; avp_RX_3GPP_Max_Supported_Bandwidth_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Max_Supported_Bandwidth_UL; + avp_DNAS_NONE_Tunnel_Medium_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Medium_Type; avp_S6_3GPP_Loss_Of_Connectivity_Reason, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Loss_Of_Connectivity_Reason; + avp_DCC_NONE_User_Equipment_Info_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_User_Equipment_Info_Type; avp_RX_3GPP_Flow_Number, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Flow_Number; avp_PCC_3GPP_Resource_Allocation_Notification, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Resource_Allocation_Notification; avp_S6_3GPP_Monitoring_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Monitoring_Type; @@ -5131,23 +7201,33 @@ avp_AAA_3GPP_VPLMN_LIPA_Allowed, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_VPLMN_LIPA_Allowed; avp_PCC_3GPP_QoS_Class_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Class_Identifier; avp_PCC_3GPP_Mute_Notification, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Mute_Notification; + avp_CxDx_3GPP_SIP_Authentication_Context, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SIP_Authentication_Context; avp_MIPv6_NONE_QoS_Resources, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_QoS_Resources; avp_AAA_3GPP_Logging_Duration, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Logging_Duration; + avp_DCC_NONE_Service_Parameter_Value, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Service_Parameter_Value; + avp_CxDx_3GPP_Associated_Registered_Identities, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Associated_Registered_Identities; avp_AAA_3GPP_WLAN_offloadability_EUTRAN, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_WLAN_offloadability_EUTRAN; avp_PCC_3GPP_Routing_IP_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Routing_IP_Address; avp_MIPv6_NONE_MIP_Session_Key, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_Session_Key; avp_AAA_3GPP_KASME, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_KASME; + avp_GI_3GPP_3GPP_User_Location_Info_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_User_Location_Info_Time; avp_AAA_3GPP_Teleservice_List, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Teleservice_List; avp_AAA_3GPP_UTRAN_Vector, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_UTRAN_Vector; + avp_DCC_NONE_Tariff_Time_Change, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Tariff_Time_Change; + avp_GI_3GPP_3GPP_NSAPI, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_NSAPI; + avp_GI_3GPP_3GPP_CG_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_CG_Address; avp_RX_3GPP_Application_Service_Provider_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Application_Service_Provider_Identity; avp_S6_3GPP_NIDD_Authorization_Request, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_NIDD_Authorization_Request; avp_PCC_3GPP_QoS_Rule_Install, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Rule_Install; avp_S6_3GPP_Periodic_Communication_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Periodic_Communication_Indicator; avp_RX_3GPP_Flow_Usage, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Flow_Usage; avp_PCC_3GPP_RAN_Rule_Support, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_RAN_Rule_Support; + avp_DNAS_NONE_Tunnel_Password, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Password; avp_S6_3GPP_Monitoring_Duration, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Monitoring_Duration; avp_AAA_3GPP_Routing_Area_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Routing_Area_Identity; avp_PCC_3GPP_QoS_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Information; + avp_DCC_NONE_User_Equipment_Info_Value, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_User_Equipment_Info_Value; + avp_DNAS_NONE_Tunneling, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunneling; avp_RX_3GPP_Service_Authorization_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Service_Authorization_Info; avp_BASE_NONE_Multi_Round_Time_Out, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Multi_Round_Time_Out; avp_AAA_3GPP_eDRX_Cycle_Length, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_eDRX_Cycle_Length; @@ -5159,32 +7239,52 @@ avp_PCC_3GPP_Usage_Monitoring_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Usage_Monitoring_Information; avp_BASE_NONE_Experimental_Result_Code, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Experimental_Result_Code; avp_PCC_3GPP_Extended_APN_AMBR_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Extended_APN_AMBR_DL; + avp_CxDx_3GPP_Session_Priority, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Session_Priority; + avp_CxDx_3GPP_Deregistration_Reason, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Deregistration_Reason; avp_AAA_3GPP_GMLC_Number, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_GMLC_Number; + avp_DNAS_NONE_Configuration_Token, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Configuration_Token; + avp_DNAS_NONE_Callback_Number, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Callback_Number; avp_AAA_3GPP_Software_Version, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Software_Version; avp_AAA_3GPP_Expiration_Date, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Expiration_Date; avp_BASE_NONE_Error_Message, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Error_Message; avp_AAA_3GPP_SRES, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_SRES; + avp_DNAS_NONE_NAS_Port_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_NAS_Port_Type; avp_AAA_3GPP_Item_Number, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Item_Number; + avp_DCC_NONE_Multiple_Services_Indicator, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Multiple_Services_Indicator; + avp_DNAS_NONE_Framed_Protocol, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_Protocol; avp_S6_3GPP_Service_ID, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Service_ID; + avp_GI_3GPP_3GPP_IMSI_MCC_MNC, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_IMSI_MCC_MNC; avp_RX_3GPP_Abort_Cause, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Abort_Cause; avp_PCC_3GPP_Charging_Rule_Base_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Charging_Rule_Base_Name; avp_RX_3GPP_Required_Access_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Required_Access_Info; avp_PCC_3GPP_TDF_Destination_Realm, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_TDF_Destination_Realm; avp_S6_3GPP_S6t_HSS_Cause, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_S6t_HSS_Cause; avp_RX_3GPP_AF_Requested_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_AF_Requested_Data; + avp_DNAS_NONE_Filter_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Filter_Id; + avp_DNAS_NONE_ARAP_Password, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_ARAP_Password; avp_PCC_3GPP_QoS_Rule_Report, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Rule_Report; + avp_DNAS_NONE_CHAP_Response, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_CHAP_Response; avp_S6_3GPP_Stationary_Indication, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Stationary_Indication; avp_PCC_3GPP_Traffic_Steering_Policy_Identifier_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Traffic_Steering_Policy_Identifier_DL; avp_AAA_3GPP_Geodetic_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Geodetic_Information; avp_PCC_3GPP_Extended_GBR_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Extended_GBR_UL; avp_AAA_3GPP_MBSFN_Area_ID, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_MBSFN_Area_ID; + avp_CxDx_3GPP_Server_Capabilities, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Server_Capabilities; avp_AAA_3GPP_Area_Scope, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Area_Scope; + avp_DNAS_NONE_Accounting_Input_Packets, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Accounting_Input_Packets; + avp_CxDx_3GPP_SCSCF_Restoration_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SCSCF_Restoration_Info; + avp_CxDx_3GPP_Initial_CSeq_Sequence_Number, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Initial_CSeq_Sequence_Number; avp_AAA_3GPP_PUA_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_PUA_Flags; + avp_DNAS_NONE_Callback_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Callback_Id; + avp_CxDx_3GPP_Primary_Event_Charging_Function_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Primary_Event_Charging_Function_Name; + avp_DCC_NONE_CC_Output_Octets, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Output_Octets; + avp_GI_3GPP_3GPP_User_Location_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_User_Location_Info; avp_AAA_3GPP_Notification_To_UE_User, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Notification_To_UE_User; avp_AAA_3GPP_Visited_PLMN_Id, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Visited_PLMN_Id; avp_AAA_3GPP_Homogeneous_Support_of_IMS_Voice_Over_PS_Sessions, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Homogeneous_Support_of_IMS_Voice_Over_PS_Sessions; avp_RX_3GPP_Codec_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Codec_Data; avp_S6_3GPP_Monitoring_Event_Config_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Monitoring_Event_Config_Status; + avp_DCC_NONE_Cost_Information, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Cost_Information; avp_BASE_NONE_Error_Reporting_Host, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Error_Reporting_Host; avp_PCC_3GPP_Rule_Activation_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Rule_Activation_Time; avp_S6_3GPP_Service_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Service_Data; @@ -5192,6 +7292,8 @@ avp_PCC_3GPP_NetLoc_Access_Support, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_NetLoc_Access_Support; avp_S6_3GPP_Monitoring_Event_Configuration, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Monitoring_Event_Configuration; avp_PCC_3GPP_Offline, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Offline; + avp_DNAS_NONE_Login_Service, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Login_Service; + avp_DNAS_NONE_ARAP_Security_Data, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_ARAP_Security_Data; avp_AAA_3GPP_Additional_Context_ID, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Additional_Context_ID; avp_PCC_3GPP_ADC_Rule_Definition, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_ADC_Rule_Definition; avp_S6_3GPP_Allowed_PLMN_List, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Allowed_PLMN_List; @@ -5200,11 +7302,18 @@ avp_PCC_3GPP_HeNB_Local_IP_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_HeNB_Local_IP_Address; avp_AAA_3GPP_SMS_Register_Request, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_SMS_Register_Request; avp_PCC_3GPP_Packet_Filter_Content, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Packet_Filter_Content; + avp_CxDx_3GPP_Subscription_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Subscription_Info; avp_AAA_3GPP_APN_Configuration, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_APN_Configuration; + avp_CxDx_3GPP_SIP_Number_Auth_Items, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SIP_Number_Auth_Items; avp_AAA_3GPP_OMC_Id, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_OMC_Id; avp_AAA_3GPP_GMLC_Restriction, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_GMLC_Restriction; + avp_DNAS_NONE_State, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_State; + avp_DNAS_NONE_Tunnel_Preference, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Preference; + avp_DCC_NONE_CC_Session_Failover, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Session_Failover; avp_AAA_3GPP_Regional_Subscription_Zone_Code, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Regional_Subscription_Zone_Code; + avp_GI_3GPP_3GPP_Negotiated_DSCP, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_Negotiated_DSCP; avp_BASE_NONE_Proxy_State, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Proxy_State; + avp_DCC_NONE_Credit_Control_Failure_Handling, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Credit_Control_Failure_Handling; avp_S6_3GPP_SIR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_SIR_Flags; avp_RX_3GPP_MPS_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_MPS_Identifier; avp_AAA_3GPP_MDT_Allowed_PLMN_Id, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_MDT_Allowed_PLMN_Id; @@ -5217,17 +7326,25 @@ avp_PCC_3GPP_Pre_emption_Capability, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Pre_emption_Capability; avp_PCC_3GPP_Monitoring_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Monitoring_Flags; avp_BASE_NONE_Redirect_Max_Cache_Time, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Redirect_Max_Cache_Time; + avp_CxDx_3GPP_Feature_List, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Feature_List; avp_PCC_3GPP_TCP_Source_Port, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_TCP_Source_Port; avp_PCC_3GPP_Application_Detection_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Application_Detection_Information; avp_AAA_3GPP_Emergency_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Emergency_Info; avp_AAA_3GPP_MPS_Priority, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_MPS_Priority; + avp_DCC_NONE_Requested_Action, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Requested_Action; + avp_CxDx_3GPP_Record_Route, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Record_Route; avp_AAA_3GPP_Alert_Reason, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Alert_Reason; + avp_GI_3GPP_3GPP_CG_IPv6_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_CG_IPv6_Address; + avp_DNAS_NONE_Idle_Timeout, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Idle_Timeout; + avp_DNAS_NONE_NAS_Port_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_NAS_Port_Id; avp_AAA_3GPP_MO_LR, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_MO_LR; avp_BASE_NONE_Host_IP_Address, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Host_IP_Address; avp_RX_3GPP_Max_Requested_Bandwidth_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Max_Requested_Bandwidth_UL; avp_PCC_3GPP_Usage_Monitoring_Support, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Usage_Monitoring_Support; avp_S6_3GPP_Maximum_Response_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Maximum_Response_Time; avp_RX_3GPP_Sponsor_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Sponsor_Identity; + avp_DNAS_NONE_Framed_Appletalk_Link, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_Appletalk_Link; + avp_DNAS_NONE_Framed_Interface_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_Interface_Id; avp_PCC_3GPP_CoA_IP_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_CoA_IP_Address; avp_PCC_3GPP_Default_QoS_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Default_QoS_Information; avp_PCC_3GPP_AN_GW_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_AN_GW_Address; @@ -5237,72 +7354,104 @@ avp_AAA_3GPP_Cell_Global_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Cell_Global_Identity; avp_BASE_NONE_Vendor_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Vendor_Id; avp_AAA_3GPP_PDN_Connection_Continuity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_PDN_Connection_Continuity; + avp_CxDx_3GPP_Wildcarded_Public_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Wildcarded_Public_Identity; + avp_DNAS_NONE_Acct_Session_Time, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Acct_Session_Time; avp_AAA_3GPP_DSA_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_DSA_Flags; avp_AAA_3GPP_Trace_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Trace_Data; avp_AAA_3GPP_LCS_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_LCS_Info; avp_AAA_3GPP_PDN_GW_Allocation_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_PDN_GW_Allocation_Type; + avp_GI_3GPP_3GPP_SGSN_MCC_MNC, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_SGSN_MCC_MNC; avp_BASE_NONE_Event_Timestamp, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Event_Timestamp; + avp_DCC_NONE_Final_Unit_Action, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Final_Unit_Action; avp_RX_3GPP_Extended_Max_Requested_BW_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Extended_Max_Requested_BW_UL; avp_S6_3GPP_User_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_User_Identifier; + avp_DNAS_NONE_Framed_IPv6_Pool, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_IPv6_Pool; avp_PCC_3GPP_QoS_Rule_Base_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Rule_Base_Name; avp_AAA_3GPP_Restoration_Priority, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Restoration_Priority; + avp_DCC_NONE_Rating_Group, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Rating_Group; avp_MIPv6_NONE_MIP_MN_HA_SPI, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_MN_HA_SPI; avp_S6_3GPP_Association_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Association_Type; avp_PCC_3GPP_Charging_Rule_Definition, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Charging_Rule_Definition; avp_RX_3GPP_Min_Requested_Bandwidth_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Min_Requested_Bandwidth_UL; avp_AAA_3GPP_Report_Amount, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Report_Amount; avp_PCC_3GPP_CoA_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_CoA_Information; + avp_CxDx_3GPP_Secondary_Charging_Collection_Function_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Secondary_Charging_Collection_Function_Name; + avp_DCC_NONE_User_Equipment_Info, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_User_Equipment_Info; avp_AAA_3GPP_A_MSISDN, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_A_MSISDN; avp_MIPv6_NONE_MIP_Mobile_Node_Address, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_Mobile_Node_Address; avp_PCC_3GPP_Routing_Rule_Report, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Routing_Rule_Report; avp_AAA_3GPP_Number_Of_Requested_Vectors, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Number_Of_Requested_Vectors; avp_AAA_3GPP_AIR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_AIR_Flags; avp_AAA_3GPP_Geographical_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Geographical_Information; + avp_CxDx_3GPP_Loose_Route_Indication, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Loose_Route_Indication; + avp_DCC_NONE_Service_Parameter_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Service_Parameter_Type; avp_AAA_3GPP_MME_User_State, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_MME_User_State; avp_AAA_3GPP_Access_Restriction_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Access_Restriction_Data; avp_BASE_NONE_Failed_AVP, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Failed_AVP; + avp_GI_3GPP_3GPP_RAT_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_RAT_Type; avp_AAA_3GPP_SS_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_SS_Status; avp_S6_3GPP_NIDD_Authorization_Update, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_NIDD_Authorization_Update; + avp_DCC_NONE_Subscription_Id_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Subscription_Id_Type; avp_PCC_3GPP_Packet_Filter_Operation, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Packet_Filter_Operation; avp_S6_3GPP_SCEF_Reference_ID_for_Deletion, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_SCEF_Reference_ID_for_Deletion; avp_RX_3GPP_SIP_Forking_Indication, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_SIP_Forking_Indication; + avp_DNAS_NONE_User_Password, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_User_Password; avp_S6_3GPP_IMEI_Change, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_IMEI_Change; avp_PCC_3GPP_IP_CAN_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_IP_CAN_Type; avp_RX_3GPP_Extended_Min_Desired_BW_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Extended_Min_Desired_BW_UL; + avp_CxDx_3GPP_SIP_Authorization, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SIP_Authorization; avp_PCC_3GPP_Revalidation_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Revalidation_Time; avp_AAA_3GPP_Logging_Interval, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Logging_Interval; avp_PCC_3GPP_Presence_Reporting_Area_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Presence_Reporting_Area_Status; avp_AAA_3GPP_WLAN_offloadability, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_WLAN_offloadability; avp_PCC_3GPP_Routing_Filter, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Routing_Filter; avp_PCC_3GPP_Metering_Method, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Metering_Method; + avp_DNAS_NONE_Acct_Tunnel_Connection, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Acct_Tunnel_Connection; avp_AAA_3GPP_Non_IP_Data_Delivery_Mechanism, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Non_IP_Data_Delivery_Mechanism; + avp_DNAS_NONE_NAS_Filter_Rule, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_NAS_Filter_Rule; avp_BASE_NONE_Session_Server_Failover, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Session_Server_Failover; + avp_CxDx_3GPP_Integrity_Key, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Integrity_Key; avp_AAA_3GPP_E_UTRAN_Vector, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_E_UTRAN_Vector; avp_BASE_NONE_Experimental_Result, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Experimental_Result; + avp_DNAS_NONE_Acct_Link_Count, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Acct_Link_Count; + avp_DCC_NONE_Unit_Value, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Unit_Value; avp_AAA_3GPP_Trace_Event_List, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Trace_Event_List; + avp_GI_3GPP_3GPP_PDP_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_PDP_Type; + avp_DNAS_NONE_Reply_Message, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Reply_Message; + avp_DNAS_NONE_Connect_Info, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Connect_Info; avp_MIPv6_NONE_MIP_Replay_Mode, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_Replay_Mode; avp_BASE_NONE_Proxy_Host, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Proxy_Host; avp_S6_3GPP_Communication_Pattern_Set, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Communication_Pattern_Set; avp_RX_3GPP_Flow_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Flow_Status; + avp_DNAS_NONE_CHAP_Challenge, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_CHAP_Challenge; + avp_DCC_NONE_CC_Unit_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Unit_Type; avp_RX_3GPP_MCPTT_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_MCPTT_Identifier; avp_S6_3GPP_Group_Monitoring_Event_Report, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Group_Monitoring_Event_Report; avp_PCC_3GPP_QoS_Upgrade, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Upgrade; + avp_DNAS_NONE_Service_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Service_Type; avp_PCC_3GPP_AN_GW_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_AN_GW_Status; avp_AAA_3GPP_Measurement_Period_UMTS, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Measurement_Period_UMTS; avp_PCC_3GPP_Monitoring_Key, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Monitoring_Key; avp_PCC_3GPP_3GPP_PS_Data_Off_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_3GPP_PS_Data_Off_Status; avp_AAA_3GPP_Reset_ID, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Reset_ID; avp_PCC_3GPP_Routing_Rule_Install, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Routing_Rule_Install; + avp_CxDx_3GPP_Server_Assignment_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Server_Assignment_Type; avp_AAA_3GPP_PUR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_PUR_Flags; + avp_DNAS_NONE_Framed_Routing, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_Routing; avp_PCC_3GPP_IP_CAN_Session_Charging_Scope, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_IP_CAN_Session_Charging_Scope; avp_AAA_3GPP_IMEI, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_IMEI; + avp_DNAS_NONE_CHAP_Ident, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_CHAP_Ident; avp_AAA_3GPP_Kc, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Kc; avp_AAA_3GPP_SGSN_Number, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_SGSN_Number; avp_AAA_3GPP_HPLMN_ODB, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_HPLMN_ODB; + avp_GI_3GPP_3GPP_Charging_Characteristics, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_Charging_Characteristics; avp_AAA_3GPP_PDP_Context, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_PDP_Context; + avp_DCC_NONE_CC_Money, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Money; + avp_GI_3GPP_3GPP_GGSN_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_GGSN_Address; avp_BASE_NONE_Proxy_Info, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Proxy_Info; avp_S6_3GPP_Node_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Node_Type; avp_RX_3GPP_Priority_Sharing_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Priority_Sharing_Indicator; + avp_DNAS_NONE_Tunnel_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Type; avp_PCC_3GPP_QoS_Rule_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Rule_Name; avp_S6_3GPP_Scheduled_Communication_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Scheduled_Communication_Time; avp_RX_3GPP_Max_Requested_Bandwidth_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Max_Requested_Bandwidth_DL; @@ -5310,16 +7459,26 @@ avp_PCC_3GPP_PCC_Rule_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_PCC_Rule_Status; avp_PCC_3GPP_Extended_GBR_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Extended_GBR_DL; avp_AAA_3GPP_MBSFN_Area, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_MBSFN_Area; + avp_CxDx_3GPP_Server_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Server_Name; + avp_DCC_NONE_Check_Balance_Result, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Check_Balance_Result; avp_S6_3GPP_APN_Validity_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_APN_Validity_Time; avp_AAA_3GPP_Job_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Job_Type; avp_PCC_3GPP_Allocation_Retention_Priority, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Allocation_Retention_Priority; avp_BASE_NONE_Destination_Host, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Destination_Host; avp_AAA_3GPP_Positioning_Method, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Positioning_Method; + avp_CxDx_3GPP_LIA_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_LIA_Flags; avp_AAA_3GPP_DL_Buffering_Suggested_Packet_Count, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_DL_Buffering_Suggested_Packet_Count; + avp_DNAS_NONE_Login_IP_Host, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Login_IP_Host; + avp_DNAS_NONE_ARAP_Security, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_ARAP_Security; avp_AAA_3GPP_IDA_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_IDA_Flags; + avp_DNAS_NONE_Origin_AAA_Protocol, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Origin_AAA_Protocol; + avp_CxDx_3GPP_Charging_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Charging_Information; avp_AAA_3GPP_ULA_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_ULA_Flags; avp_AAA_3GPP_IMS_Voice_Over_PS_Sessions_Supported, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_IMS_Voice_Over_PS_Sessions_Supported; avp_AAA_3GPP_Roaming_Restricted_Due_To_Unsupported_Feature, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Roaming_Restricted_Due_To_Unsupported_Feature; + avp_DNAS_NONE_Tunnel_Assignment_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Assignment_Id; + avp_DNAS_NONE_Framed_IPX_Network, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_IPX_Network; + avp_DCC_NONE_CC_Service_Specific_Units, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Service_Specific_Units; avp_S6_3GPP_T4_Parameters, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_T4_Parameters; avp_RX_3GPP_Access_Network_Charging_Identifier_Value, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Access_Network_Charging_Identifier_Value; avp_S6_3GPP_AESE_Error_Report, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_AESE_Error_Report; @@ -5330,17 +7489,25 @@ avp_PCC_3GPP_Access_Network_Charging_Identifier_Gx, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Access_Network_Charging_Identifier_Gx; avp_RX_3GPP_Extended_Max_Requested_BW_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Extended_Max_Requested_BW_DL; avp_PCC_3GPP_Flow_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Flow_Information; + avp_DNAS_NONE_NAS_Identifier, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_NAS_Identifier; + avp_DNAS_NONE_Tunnel_Server_Auth_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Server_Auth_Id; avp_PCC_3GPP_Execution_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Execution_Time; + avp_CxDx_3GPP_Contact, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Contact; + avp_DCC_NONE_Credit_Control, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Credit_Control; avp_BASE_NONE_Accounting_Record_Number, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Accounting_Record_Number; avp_AAA_3GPP_Event_Threshold_Event_1I, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Event_Threshold_Event_1I; avp_PCC_3GPP_Charging_Correlation_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Charging_Correlation_Indicator; + avp_CxDx_3GPP_User_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_User_Data; avp_AAA_3GPP_Report_Interval, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Report_Interval; avp_PCC_3GPP_RAN_NAS_Release_Cause, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_RAN_NAS_Release_Cause; avp_AAA_3GPP_Client_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Client_Identity; avp_BASE_NONE_Redirect_Host_Usage, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Redirect_Host_Usage; avp_AAA_3GPP_Equipment_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Equipment_Status; + avp_GI_3GPP_3GPP_Packet_Filter, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_Packet_Filter; + avp_DCC_NONE_Redirect_Server_Address, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Redirect_Server_Address; avp_MIPv6_NONE_MIP6_Auth_Mode, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP6_Auth_Mode; avp_AAA_3GPP_EPS_Location_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_EPS_Location_Information; + avp_DNAS_NONE_Acct_Tunnel_Packets_Lost, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Acct_Tunnel_Packets_Lost; avp_BASE_NONE_Session_Timeout, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Session_Timeout; avp_RX_3GPP_Service_Info_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Service_Info_Status; avp_S6_3GPP_CIR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_CIR_Flags; @@ -5357,33 +7524,48 @@ avp_PCC_3GPP_ADC_Rule_Report, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_ADC_Rule_Report; avp_AAA_3GPP_UE_SRVCC_Capability, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_UE_SRVCC_Capability; avp_PCC_3GPP_Guaranteed_Bitrate_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Guaranteed_Bitrate_UL; + avp_DNAS_NONE_NAS_IPv6_Address, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_NAS_IPv6_Address; + avp_DNAS_NONE_Login_LAT_Group, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Login_LAT_Group; avp_MIPv6_NONE_MIP_MAC_Mobility_Data, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_MAC_Mobility_Data; + avp_DNAS_NONE_Accounting_Output_Octets, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Accounting_Output_Octets; + avp_CxDx_3GPP_To_SIP_Header, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_To_SIP_Header; avp_AAA_3GPP_Coupled_Node_Diameter_ID, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Coupled_Node_Diameter_ID; avp_AAA_3GPP_STN_SR, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_STN_SR; avp_BASE_NONE_Supported_Vendor_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Supported_Vendor_Id; avp_AAA_3GPP_ServiceTypeIdentity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_ServiceTypeIdentity; + avp_DNAS_NONE_Acct_Authentic, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Acct_Authentic; + avp_DCC_NONE_Service_Identifier, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Service_Identifier; avp_AAA_3GPP_AUTN, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_AUTN; + avp_GI_3GPP_TWAN_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_TWAN_Identifier; avp_RX_3GPP_Sponsored_Connectivity_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Sponsored_Connectivity_Data; avp_BASE_NONE_Auth_Request_Type, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Auth_Request_Type; avp_S6_3GPP_AESE_Communication_Pattern, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_AESE_Communication_Pattern; avp_PCC_3GPP_NBIFOM_Mode, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_NBIFOM_Mode; + avp_DCC_NONE_Validity_Time, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Validity_Time; avp_PCC_3GPP_Redirect_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Redirect_Information; avp_S6_3GPP_Event_Handling, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Event_Handling; avp_AAA_3GPP_Tracking_Area_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Tracking_Area_Identity; avp_PCC_3GPP_ToS_Traffic_Class, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_ToS_Traffic_Class; avp_RX_3GPP_Min_Desired_Bandwidth_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Min_Desired_Bandwidth_UL; avp_AAA_3GPP_UVR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_UVR_Flags; + avp_CxDx_3GPP_Originating_Request, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Originating_Request; avp_AAA_3GPP_Subscription_Data_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Subscription_Data_Flags; avp_PCC_3GPP_PDN_Connection_ID, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_PDN_Connection_ID; + avp_DNAS_NONE_Framed_IPv6_Route, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_IPv6_Route; avp_AAA_3GPP_DSR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_DSR_Flags; avp_PCC_3GPP_PRA_Remove, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_PRA_Remove; + avp_DCC_NONE_Granted_Service_Unit, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Granted_Service_Unit; avp_MIPv6_NONE_MIP_Timestamp, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_Timestamp; avp_AAA_3GPP_Subscribed_Periodic_RAU_TAU_Timer, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Subscribed_Periodic_RAU_TAU_Timer; avp_AAA_3GPP_Specific_APN_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Specific_APN_Info; avp_AAA_3GPP_Terminal_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Terminal_Information; + avp_CxDx_3GPP_Restoration_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Restoration_Info; avp_BASE_NONE_Product_Name, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Product_Name; avp_AAA_3GPP_CSG_Id, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_CSG_Id; + avp_DNAS_NONE_Framed_IP_Netmask, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_IP_Netmask; + avp_GI_3GPP_3GPP_IPv6_DNS_Servers, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_IPv6_DNS_Servers; avp_AAA_3GPP_Call_Barring_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Call_Barring_Info; + avp_DCC_NONE_Service_Parameter_Info, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Service_Parameter_Info; avp_BASE_NONE_Origin_State_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Origin_State_Id; avp_S6_3GPP_IP_SM_GW_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_IP_SM_GW_Name; avp_RX_3GPP_Media_Sub_Component, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Media_Sub_Component; @@ -5392,6 +7574,7 @@ avp_RX_3GPP_Min_Requested_Bandwidth_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Min_Requested_Bandwidth_DL; avp_S6_3GPP_Service_Report, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Service_Report; avp_PCC_3GPP_Tunnel_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Tunnel_Information; + avp_CxDx_3GPP_Primary_Charging_Collection_Function_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Primary_Charging_Collection_Function_Name; avp_AAA_3GPP_Time_Zone, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Time_Zone; avp_PCC_3GPP_QoS_Rule_Definition, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Rule_Definition; avp_S6_3GPP_Periodic_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Periodic_Time; @@ -5402,12 +7585,18 @@ avp_PCC_3GPP_Charging_Rule_Report, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Charging_Rule_Report; avp_BASE_NONE_User_Name, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_User_Name; avp_AAA_3GPP_UE_PC5_AMBR, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_UE_PC5_AMBR; + avp_CxDx_3GPP_Public_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Public_Identity; avp_BASE_NONE_Accounting_Sub_Session_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Accounting_Sub_Session_Id; + avp_DNAS_NONE_Acct_Delay_Time, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Acct_Delay_Time; + avp_CxDx_3GPP_UAR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_UAR_Flags; avp_AAA_3GPP_Collection_Period_RRM_UMTS, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Collection_Period_RRM_UMTS; avp_AAA_3GPP_Operator_Determined_Barring, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Operator_Determined_Barring; + avp_DNAS_NONE_Tunnel_Server_Endpoint, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Server_Endpoint; avp_BASE_NONE_Session_Binding, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Session_Binding; + avp_GI_3GPP_3GPP_IMEISV, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_IMEISV; avp_AAA_3GPP_SS_Code, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_SS_Code; avp_BASE_NONE_Acct_Multi_Session_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Acct_Multi_Session_Id; + avp_DCC_NONE_Subscription_Id_Data, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Subscription_Id_Data; avp_RX_3GPP_RS_Bandwidth, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_RS_Bandwidth; avp_MIPv6_NONE_MIP_Algorithm_Type, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_Algorithm_Type; avp_S6_3GPP_Reachability_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Reachability_Information; @@ -5420,49 +7609,77 @@ avp_PCC_3GPP_Event_Trigger, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Event_Trigger; avp_RX_3GPP_GCS_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_GCS_Identifier; avp_MIPv6_NONE_QoS_Capability, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_QoS_Capability; + avp_DCC_NONE_G_S_U_Pool_Identifier, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_G_S_U_Pool_Identifier; avp_AAA_3GPP_Non_IP_PDN_Type_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Non_IP_PDN_Type_Indicator; avp_PCC_3GPP_ADC_Rule_Install, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_ADC_Rule_Install; + avp_CxDx_3GPP_Confidentiality_Key, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Confidentiality_Key; avp_PCC_3GPP_Flow_Label, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Flow_Label; + avp_DNAS_NONE_NAS_Port, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_NAS_Port; avp_AAA_3GPP_Authentication_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Authentication_Info; avp_AAA_3GPP_Trace_Interface_List, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Trace_Interface_List; + avp_GI_3GPP_3GPP_Charging_Id, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_Charging_Id; + avp_DNAS_NONE_CHAP_Algorithm, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_CHAP_Algorithm; avp_AAA_3GPP_APN_Configuration_Profile, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_APN_Configuration_Profile; + avp_GI_3GPP_3GPP_CAMEL_Charging_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_CAMEL_Charging_Info; avp_RX_3GPP_Flows, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Flows; avp_S6_3GPP_CIA_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_CIA_Flags; avp_RX_3GPP_Extended_Min_Requested_BW_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Extended_Min_Requested_BW_UL; avp_PCC_3GPP_Monitoring_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Monitoring_Time; + avp_DCC_NONE_CC_Input_Octets, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Input_Octets; avp_S6_3GPP_UE_Reachability_Configuration, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_UE_Reachability_Configuration; avp_BASE_NONE_Destination_Realm, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Destination_Realm; avp_RX_3GPP_Acceptable_Service_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Acceptable_Service_Info; avp_PCC_3GPP_Flow_Direction, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Flow_Direction; avp_S6_3GPP_Supported_Monitoring_Events, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Supported_Monitoring_Events; + avp_CxDx_3GPP_SIP_Item_Number, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SIP_Item_Number; avp_PCC_3GPP_Session_Release_Cause, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Session_Release_Cause; avp_AAA_3GPP_MDT_User_Consent, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_MDT_User_Consent; + avp_DNAS_NONE_Login_LAT_Port, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Login_LAT_Port; avp_S6_3GPP_HSS_Cause, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_HSS_Cause; + avp_DCC_NONE_G_S_U_Pool_Reference, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_G_S_U_Pool_Reference; avp_PCC_3GPP_PCSCF_Restoration_Indication, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_PCSCF_Restoration_Indication; avp_AAA_3GPP_Subscription_Data_Deletion, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Subscription_Data_Deletion; avp_MIPv6_NONE_Chargable_User_Identity, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_Chargable_User_Identity; avp_AAA_3GPP_Trace_Collection_Entity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Trace_Collection_Entity; + avp_CxDx_3GPP_Feature_List_ID, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Feature_List_ID; avp_BASE_NONE_Redirect_Host, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Redirect_Host; avp_AAA_3GPP_Network_Access_Mode, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Network_Access_Mode; + avp_DNAS_NONE_ARAP_Zone_Access, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_ARAP_Zone_Access; + avp_DNAS_NONE_Framed_Compression, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_Compression; + avp_GI_3GPP_3GPP_Selection_Mode, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_Selection_Mode; + avp_DNAS_NONE_QoS_Filter_Rule, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_QoS_Filter_Rule; avp_AAA_3GPP_Complete_Data_List_Included_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Complete_Data_List_Included_Indicator; avp_MIPv6_NONE_MIP_MN_AAA_SPI, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_MN_AAA_SPI; + avp_GI_3GPP_3GPP_SGSN_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_SGSN_Address; avp_MIPv6_NONE_MIP_MSA_Lifetime, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_MSA_Lifetime; + avp_GI_3GPP_External_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_External_Identifier; avp_S6_3GPP_Reachability_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Reachability_Type; + avp_DNAS_NONE_Tunnel_Private_Group_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Private_Group_Id; + avp_DNAS_NONE_Framed_Route, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_Route; + avp_DCC_NONE_CC_Request_Type, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Request_Type; avp_S6_3GPP_Type_Of_External_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Type_Of_External_Identifier; avp_PCC_3GPP_Event_Report_Indication, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Event_Report_Indication; avp_AAA_3GPP_MDT_Configuration, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_MDT_Configuration; avp_PCC_3GPP_Usage_Monitoring_Report, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Usage_Monitoring_Report; + avp_CxDx_3GPP_Priviledged_Sender_Indication, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Priviledged_Sender_Indication; avp_AAA_3GPP_Adjacent_Access_Restriction_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Adjacent_Access_Restriction_Data; avp_AAA_3GPP_RAT_Frequency_Selection_Priority_ID, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_RAT_Frequency_Selection_Priority_ID; + avp_CxDx_3GPP_Reason_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Reason_Info; avp_AAA_3GPP_CLR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_CLR_Flags; avp_PCC_3GPP_Default_EPS_Bearer_QoS, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Default_EPS_Bearer_QoS; avp_AAA_3GPP_ULR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_ULR_Flags; + avp_DNAS_NONE_Tunnel_Client_Auth_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Client_Auth_Id; + avp_DNAS_NONE_Calling_Station_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Calling_Station_Id; avp_AAA_3GPP_ICS_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_ICS_Indicator; + avp_DCC_NONE_Currency_Code, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Currency_Code; avp_AAA_3GPP_Cancellation_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Cancellation_Type; avp_BASE_NONE_E2E_Sequence, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_E2E_Sequence; avp_BASE_NONE_Origin_Realm, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Origin_Realm; avp_AAA_3GPP_PDN_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_PDN_Type; + avp_DNAS_NONE_Prompt, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Prompt; + avp_GI_3GPP_3GPP_GGSN_IPv6_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_GGSN_IPv6_Address; avp_RX_3GPP_Access_Network_Charging_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Access_Network_Charging_Identifier; + avp_DCC_NONE_Redirect_Server, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Redirect_Server; avp_S6_3GPP_AESE_Communication_Pattern_Config_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_AESE_Communication_Pattern_Config_Status; avp_S6_3GPP_Enhanced_Coverage_Restriction_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Enhanced_Coverage_Restriction_Data; avp_PCC_3GPP_Bearer_Operation, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Bearer_Operation; @@ -5471,21 +7688,29 @@ avp_PCC_3GPP_TDF_Application_Instance_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_TDF_Application_Instance_Identifier; avp_BASE_NONE_Acct_Interim_Interval, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Acct_Interim_Interval; avp_RX_3GPP_Media_Component_Number, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Media_Component_Number; + avp_CxDx_3GPP_Path, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Path; avp_AAA_3GPP_Event_Threshold_Event_1F, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Event_Threshold_Event_1F; avp_PCC_3GPP_Packet_Filter_Usage, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Packet_Filter_Usage; avp_S6_3GPP_MONTE_Location_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_MONTE_Location_Type; avp_AAA_3GPP_RDS_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_RDS_Indicator; + avp_CxDx_3GPP_Optional_Capability, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Optional_Capability; avp_AAA_3GPP_Reporting_Trigger, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Reporting_Trigger; avp_PCC_3GPP_Tunnel_Header_Length, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Tunnel_Header_Length; avp_PCC_3GPP_Conditional_APN_Aggregate_Max_Bitrate, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Conditional_APN_Aggregate_Max_Bitrate; + avp_CxDx_3GPP_Secondary_Event_Charging_Function_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Secondary_Event_Charging_Function_Name; avp_AAA_3GPP_Group_PLMN_Id, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Group_PLMN_Id; avp_AAA_3GPP_User_Id, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_User_Id; + avp_DNAS_NONE_Login_LAT_Node, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Login_LAT_Node; + avp_DNAS_NONE_Originating_Line_Info, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Originating_Line_Info; + avp_DCC_NONE_Exponent, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Exponent; avp_MIPv6_NONE_MIP_Authenticator, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_MIP_Authenticator; + avp_DNAS_NONE_Accounting_Input_Octets, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Accounting_Input_Octets; avp_AAA_3GPP_Requested_UTRAN_GERAN_Authentication_Info, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Requested_UTRAN_GERAN_Authentication_Info; avp_AAA_3GPP_EPS_User_State, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_EPS_User_State; avp_BASE_NONE_Origin_Host, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Origin_Host; avp_RX_3GPP_Retry_Interval, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Retry_Interval; avp_BASE_NONE_Accounting_Session_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Accounting_Session_Id; + avp_DCC_NONE_Restriction_Filter_Rule, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Restriction_Filter_Rule; avp_PCC_3GPP_Packet_Filter_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Packet_Filter_Identifier; avp_S6_3GPP_SCEF_Reference_ID, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_SCEF_Reference_ID; avp_PCC_3GPP_Resource_Release_Notification, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Resource_Release_Notification; @@ -5494,23 +7719,33 @@ avp_AAA_3GPP_Error_Diagnostic, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Error_Diagnostic; avp_PCC_3GPP_Guaranteed_Bitrate_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Guaranteed_Bitrate_DL; avp_RX_3GPP_Extended_Max_Supported_BW_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Extended_Max_Supported_BW_UL; + avp_DCC_NONE_CC_Total_Octets, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Total_Octets; avp_PCC_3GPP_UDP_Source_Port, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_UDP_Source_Port; avp_BASE_NONE_Accounting_Record_Type, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Accounting_Record_Type; + avp_CxDx_3GPP_From_SIP_Header, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_From_SIP_Header; avp_AAA_3GPP_SIPTO_Local_Network_Permission, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_SIPTO_Local_Network_Permission; avp_PCC_3GPP_Routing_Rule_Definition, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Routing_Rule_Definition; + avp_DCC_NONE_Value_Digits, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Value_Digits; avp_AAA_3GPP_VPLMN_Dynamic_Address_Allowed, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_VPLMN_Dynamic_Address_Allowed; avp_BASE_NONE_Acct_Application_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Acct_Application_Id; + avp_CxDx_3GPP_SIP_Authenticate, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SIP_Authenticate; avp_AAA_3GPP_Service_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Service_Type; avp_AAA_3GPP_Immediate_Response_Preferred, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Immediate_Response_Preferred; + avp_DNAS_NONE_Login_IPv6_Host, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Login_IPv6_Host; + avp_DNAS_NONE_Framed_Appletalk_Zone, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_Appletalk_Zone; + avp_DCC_NONE_Final_Unit_Indication, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Final_Unit_Indication; avp_AAA_3GPP_XRES, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_XRES; + avp_GI_3GPP_3GPP_IMSI, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_IMSI; avp_AAA_3GPP_User_State, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_User_State; avp_BASE_NONE_Result_Code, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Result_Code; + avp_DNAS_NONE_Framed_IP_Address, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_IP_Address; avp_S6_3GPP_IP_SM_GW_Realm, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_IP_SM_GW_Realm; avp_S6_3GPP_Reference_ID_Validity_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Reference_ID_Validity_Time; avp_AAA_3GPP_E_UTRAN_Cell_Global_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_E_UTRAN_Cell_Global_Identity; avp_PCC_3GPP_TFT_Packet_Filter_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_TFT_Packet_Filter_Information; avp_RX_3GPP_Min_Desired_Bandwidth_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Min_Desired_Bandwidth_DL; avp_S6_3GPP_Group_Reporting_Guard_Timer, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Group_Reporting_Guard_Timer; + avp_CxDx_3GPP_Associated_Identities, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Associated_Identities; avp_BASE_NONE_Auth_Session_State, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Auth_Session_State; avp_PCC_3GPP_Session_Linking_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Session_Linking_Indicator; avp_S6_3GPP_Maximum_Number_of_Reports, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Maximum_Number_of_Reports; @@ -5518,17 +7753,21 @@ avp_AAA_3GPP_V2X_Permission, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_V2X_Permission; avp_AAA_3GPP_LIPA_Permission, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_LIPA_Permission; avp_PCC_3GPP_QoS_Negotiation, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Negotiation; + avp_CxDx_3GPP_SIP_Auth_Data_Item, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_SIP_Auth_Data_Item; avp_AAA_3GPP_3GPP2_MEID, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_3GPP2_MEID; avp_AAA_3GPP_Subscription_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Subscription_Data; + avp_CxDx_3GPP_Multiple_Registration_Indication, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Multiple_Registration_Indication; avp_BASE_NONE_Vendor_Specific_Application_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Vendor_Specific_Application_Id; avp_AAA_3GPP_WLAN_offloadability_UTRAN, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_WLAN_offloadability_UTRAN; avp_AAA_3GPP_CSG_Subscription_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_CSG_Subscription_Data; avp_MIPv6_NONE_Service_Selection, avp_header.avp_code.vendor_id_NONE = avp_code_MIPv6_NONE_Service_Selection; avp_AAA_3GPP_TS_Code, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_TS_Code; + avp_DNAS_NONE_Tunnel_Client_Endpoint, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Tunnel_Client_Endpoint; avp_S6_3GPP_IP_SM_GW_Number, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_IP_SM_GW_Number; avp_PCC_3GPP_Charging_Rule_Install, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Charging_Rule_Install; avp_RX_3GPP_Rx_Request_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Rx_Request_Type; avp_S6_3GPP_NIDD_Authorization_Response, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_NIDD_Authorization_Response; + avp_DCC_NONE_Subscription_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Subscription_Id; avp_AAA_3GPP_VPLMN_CSG_Subscription_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_VPLMN_CSG_Subscription_Data; avp_PCC_3GPP_QoS_Rule_Remove, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_QoS_Rule_Remove; avp_S6_3GPP_Communication_Duration_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Communication_Duration_Time; @@ -5537,14 +7776,20 @@ avp_AAA_3GPP_Location_Area_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Location_Area_Identity; avp_RX_3GPP_Media_Component_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Media_Component_Status; avp_AAA_3GPP_eDRX_Cycle_Length_Value, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_eDRX_Cycle_Length_Value; + avp_CxDx_3GPP_Visited_Network_Identifier, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Visited_Network_Identifier; avp_S6_3GPP_RIR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_RIR_Flags; avp_AAA_3GPP_Collection_Period_RRM_LTE, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Collection_Period_RRM_LTE; avp_PCC_3GPP_Usage_Monitoring_Level, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Usage_Monitoring_Level; avp_AAA_3GPP_Subscriber_Status, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Subscriber_Status; avp_PCC_3GPP_Extended_APN_AMBR_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Extended_APN_AMBR_UL; + avp_CxDx_3GPP_Identity_with_Emergency_Registration, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Identity_with_Emergency_Registration; + avp_DCC_NONE_Tariff_Change_Usage, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Tariff_Change_Usage; avp_AAA_3GPP_LCS_PrivacyException, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_LCS_PrivacyException; avp_AAA_3GPP_QoS_Subscribed, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_QoS_Subscribed; + avp_DNAS_NONE_NAS_IP_Address, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_NAS_IP_Address; avp_RX_3GPP_RR_Bandwidth, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_RR_Bandwidth; + avp_DCC_NONE_Service_Context_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Service_Context_Id; + avp_DNAS_NONE_CHAP_Auth, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_CHAP_Auth; avp_PCC_3GPP_APN_Aggregate_Max_Bitrate_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_APN_Aggregate_Max_Bitrate_DL; avp_S6_3GPP_SCS_Identity, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_SCS_Identity; avp_RX_3GPP_Access_Network_Charging_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Access_Network_Charging_Address; @@ -5555,19 +7800,29 @@ avp_AAA_3GPP_UE_Usage_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_UE_Usage_Type; avp_PCC_3GPP_TDF_IP_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_TDF_IP_Address; avp_S6_3GPP_Enhanced_Coverage_Restriction, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Enhanced_Coverage_Restriction; + avp_CxDx_3GPP_User_Data_Already_Available, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_User_Data_Already_Available; avp_AAA_3GPP_MME_Number_for_MT_SMS, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_MME_Number_for_MT_SMS; avp_PCC_3GPP_Security_Parameter_Index, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Security_Parameter_Index; + avp_DCC_NONE_CC_Correlation_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Correlation_Id; avp_PCC_3GPP_Traffic_Steering_Policy_Identifier_UL, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Traffic_Steering_Policy_Identifier_UL; avp_BASE_NONE_Route_Record, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Route_Record; avp_AAA_3GPP_Carrier_Frequency, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Carrier_Frequency; + avp_CxDx_3GPP_Mandatory_Capability, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Mandatory_Capability; avp_AAA_3GPP_Trace_NE_Type_List, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Trace_NE_Type_List; + avp_DNAS_NONE_Port_Limit, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Port_Limit; + avp_DCC_NONE_Multiple_Services_Credit_Control, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Multiple_Services_Credit_Control; avp_AAA_3GPP_All_APN_Configurations_Included_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_All_APN_Configurations_Included_Indicator; avp_AAA_3GPP_NOR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_NOR_Flags; + avp_GI_3GPP_3GPP_MS_TimeZone, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_MS_TimeZone; avp_AAA_3GPP_External_Client, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_External_Client; avp_BASE_NONE_Authorization_Lifetime, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Authorization_Lifetime; + avp_DNAS_NONE_ARAP_Features, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_ARAP_Features; + avp_DNAS_NONE_Framed_MTU, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Framed_MTU; avp_RX_3GPP_Extended_Min_Requested_BW_DL, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Extended_Min_Requested_BW_DL; + avp_DNAS_NONE_Accounting_Auth_Method, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Accounting_Auth_Method; avp_RX_3GPP_Service_URN, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Service_URN; avp_S6_3GPP_Supported_Services, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Supported_Services; + avp_DNAS_NONE_Accounting_Output_Packets, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Accounting_Output_Packets; avp_AAA_3GPP_Relay_Node_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Relay_Node_Indicator; avp_PCC_3GPP_Rule_DeActivation_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Rule_DeActivation_Time; avp_S6_3GPP_T4_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_T4_Data; @@ -5576,13 +7831,23 @@ avp_PCC_3GPP_ADC_Rule_Base_Name, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_ADC_Rule_Base_Name; avp_AAA_3GPP_SCEF_Realm, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_SCEF_Realm; avp_S6_3GPP_Requested_Validity_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Requested_Validity_Time; + avp_DCC_NONE_CC_Request_Number, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Request_Number; + avp_CxDx_3GPP_Supported_Features, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Supported_Features; avp_AAA_3GPP_Local_Time_Zone, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Local_Time_Zone; avp_AAA_3GPP_GERAN_Vector, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_GERAN_Vector; + avp_CxDx_3GPP_Call_ID_SIP_Header, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Call_ID_SIP_Header; avp_AAA_3GPP_EPS_Subscribed_QoS_Profile, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_EPS_Subscribed_QoS_Profile; + avp_GI_3GPP_3GPP_Session_Stop_Indicator, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_Session_Stop_Indicator; avp_AAA_3GPP_GPRS_Subscription_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_GPRS_Subscription_Data; + avp_GI_3GPP_3GPP_GPRS_Negotiated_QoS_Profile, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_GPRS_Negotiated_QoS_Profile; + avp_DNAS_NONE_Called_Station_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Called_Station_Id; + avp_DCC_NONE_Cost_Unit, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_Cost_Unit; avp_BASE_NONE_Accounting_Realtime_Required, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Accounting_Realtime_Required; avp_BASE_NONE_Termination_Cause, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Termination_Cause; + avp_GI_3GPP_3GPP_Allocate_IP_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_GI_3GPP_3GPP_Allocate_IP_Type; avp_RX_3GPP_Specific_Action, avp_header.avp_code.vendor_id_3GPP = avp_code_RX_3GPP_Specific_Action; + avp_DNAS_NONE_Login_TCP_Port, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Login_TCP_Port; + avp_DNAS_NONE_Password_Retry, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_Password_Retry; avp_S6_3GPP_Maximum_Detection_Time, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Maximum_Detection_Time; avp_AAA_3GPP_Ext_PDP_Address, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Ext_PDP_Address; avp_PCC_3GPP_RAT_Type, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_RAT_Type; @@ -5590,10 +7855,14 @@ avp_AAA_3GPP_Adjacent_PLMNs, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Adjacent_PLMNs; avp_S6_3GPP_Service_Result_Code, avp_header.avp_code.vendor_id_3GPP = avp_code_S6_3GPP_Service_Result_Code; avp_AAA_3GPP_SGSN_Location_Information, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_SGSN_Location_Information; + avp_CxDx_3GPP_Reason_Code, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Reason_Code; avp_PCC_3GPP_Pre_emption_Vulnerability, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Pre_emption_Vulnerability; avp_AAA_3GPP_Equivalent_PLMN_List, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_Equivalent_PLMN_List; avp_PCC_3GPP_Default_Access, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_Default_Access; + avp_CxDx_3GPP_Supported_Applications, avp_header.avp_code.vendor_id_3GPP = avp_code_CxDx_3GPP_Supported_Applications; + avp_DNAS_NONE_ARAP_Challenge_Response, avp_header.avp_code.vendor_id_NONE = avp_code_DNAS_NONE_ARAP_Challenge_Response; avp_BASE_NONE_Class, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Class; + avp_DCC_NONE_CC_Sub_Session_Id, avp_header.avp_code.vendor_id_NONE = avp_code_DCC_NONE_CC_Sub_Session_Id; avp_AAA_3GPP_IDR_Flags, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_IDR_Flags; avp_AAA_3GPP_V2X_Subscription_Data, avp_header.avp_code.vendor_id_3GPP = avp_code_AAA_3GPP_V2X_Subscription_Data; avp_PCC_3GPP_PS_to_CS_Session_Continuity, avp_header.avp_code.vendor_id_3GPP = avp_code_PCC_3GPP_PS_to_CS_Session_Continuity; @@ -5603,8 +7872,18 @@ )" } type set of GenericAVP AVP_list; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_SGSN_IPv6_Address := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_SGSN_IPv6_Address }; +const AVP_Code c_AVP_Code_DNAS_NONE_Login_LAT_Service := { + vendor_id_NONE := avp_code_DNAS_NONE_Login_LAT_Service }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_GGSN_MCC_MNC := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_GGSN_MCC_MNC }; +const AVP_Code c_AVP_Code_DCC_NONE_Direct_Debiting_Failure_Handling := { + vendor_id_NONE := avp_code_DCC_NONE_Direct_Debiting_Failure_Handling }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_Careof_Address := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP_Careof_Address }; +const AVP_Code c_AVP_Code_CxDx_ETSI_Line_Identifier := { + vendor_id_ETSI := avp_code_CxDx_ETSI_Line_Identifier }; const AVP_Code c_AVP_Code_PCC_3GPP_Bearer_Identifier := { vendor_id_3GPP := avp_code_PCC_3GPP_Bearer_Identifier }; const AVP_Code c_AVP_Code_RX_3GPP_Content_Version := { @@ -5625,24 +7904,40 @@ vendor_id_3GPP := avp_code_PCC_3GPP_Tunnel_Header_Filter }; const AVP_Code c_AVP_Code_AAA_3GPP_List_Of_Measurements := { vendor_id_3GPP := avp_code_AAA_3GPP_List_Of_Measurements }; +const AVP_Code c_AVP_Code_DCC_NONE_Requested_Service_Unit := { + vendor_id_NONE := avp_code_DCC_NONE_Requested_Service_Unit }; const AVP_Code c_AVP_Code_PCC_3GPP_Default_QoS_Name := { vendor_id_3GPP := avp_code_PCC_3GPP_Default_QoS_Name }; const AVP_Code c_AVP_Code_AAA_3GPP_UVA_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_UVA_Flags }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SAR_Flags := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SAR_Flags }; const AVP_Code c_AVP_Code_AAA_3GPP_Group_Service_Id := { vendor_id_3GPP := avp_code_AAA_3GPP_Group_Service_Id }; const AVP_Code c_AVP_Code_PCC_3GPP_TDF_Information := { vendor_id_3GPP := avp_code_PCC_3GPP_TDF_Information }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_Pool := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_Pool }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Time := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Time }; const AVP_Code c_AVP_Code_AAA_3GPP_Requested_EUTRAN_Authentication_Info := { vendor_id_3GPP := avp_code_AAA_3GPP_Requested_EUTRAN_Authentication_Info }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SIP_Digest_Authenticate := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SIP_Digest_Authenticate }; const AVP_Code c_AVP_Code_AAA_3GPP_Last_UE_Activity_Time := { vendor_id_3GPP := avp_code_AAA_3GPP_Last_UE_Activity_Time }; const AVP_Code c_AVP_Code_AAA_3GPP_Context_Identifier := { vendor_id_3GPP := avp_code_AAA_3GPP_Context_Identifier }; +const AVP_Code c_AVP_Code_DCC_NONE_Used_Service_Unit := { + vendor_id_NONE := avp_code_DCC_NONE_Used_Service_Unit }; const AVP_Code c_AVP_Code_BASE_NONE_Auth_Application_Id := { vendor_id_NONE := avp_code_BASE_NONE_Auth_Application_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_Trace_Reference := { vendor_id_3GPP := avp_code_AAA_3GPP_Trace_Reference }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_Appletalk_Network := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_Appletalk_Network }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_IPv6_Prefix := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_IPv6_Prefix }; const AVP_Code c_AVP_Code_RX_3GPP_Sharing_Key_UL := { vendor_id_3GPP := avp_code_RX_3GPP_Sharing_Key_UL }; const AVP_Code c_AVP_Code_RX_3GPP_AF_Charging_Identifier := { @@ -5671,8 +7966,12 @@ vendor_id_3GPP := avp_code_PCC_3GPP_Routing_Rule_Remove }; const AVP_Code c_AVP_Code_S6_3GPP_Roaming_Information := { vendor_id_3GPP := avp_code_S6_3GPP_Roaming_Information }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SIP_Authentication_Scheme := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SIP_Authentication_Scheme }; const AVP_Code c_AVP_Code_AAA_3GPP_Event_Threshold_RSRP := { vendor_id_3GPP := avp_code_AAA_3GPP_Event_Threshold_RSRP }; +const AVP_Code c_AVP_Code_CxDx_3GPP_User_Authorization_Type := { + vendor_id_3GPP := avp_code_CxDx_3GPP_User_Authorization_Type }; const AVP_Code c_AVP_Code_AAA_3GPP_PLMN_Client := { vendor_id_3GPP := avp_code_AAA_3GPP_PLMN_Client }; const AVP_Code c_AVP_Code_AAA_3GPP_Re_Synchronization_Info := { @@ -5691,14 +7990,20 @@ vendor_id_NONE := avp_code_BASE_NONE_Re_Auth_Request_Type }; const AVP_Code c_AVP_Code_S6_3GPP_External_Identifier := { vendor_id_3GPP := avp_code_S6_3GPP_External_Identifier }; +const AVP_Code c_AVP_Code_DCC_NONE_Redirect_Address_Type := { + vendor_id_NONE := avp_code_DCC_NONE_Redirect_Address_Type }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_MN_HA_MSA := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP_MN_HA_MSA }; const AVP_Code c_AVP_Code_PCC_3GPP_TFT_Filter := { vendor_id_3GPP := avp_code_PCC_3GPP_TFT_Filter }; const AVP_Code c_AVP_Code_RX_3GPP_Max_Supported_Bandwidth_UL := { vendor_id_3GPP := avp_code_RX_3GPP_Max_Supported_Bandwidth_UL }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Medium_Type := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Medium_Type }; const AVP_Code c_AVP_Code_S6_3GPP_Loss_Of_Connectivity_Reason := { vendor_id_3GPP := avp_code_S6_3GPP_Loss_Of_Connectivity_Reason }; +const AVP_Code c_AVP_Code_DCC_NONE_User_Equipment_Info_Type := { + vendor_id_NONE := avp_code_DCC_NONE_User_Equipment_Info_Type }; const AVP_Code c_AVP_Code_RX_3GPP_Flow_Number := { vendor_id_3GPP := avp_code_RX_3GPP_Flow_Number }; const AVP_Code c_AVP_Code_PCC_3GPP_Resource_Allocation_Notification := { @@ -5713,10 +8018,16 @@ vendor_id_3GPP := avp_code_PCC_3GPP_QoS_Class_Identifier }; const AVP_Code c_AVP_Code_PCC_3GPP_Mute_Notification := { vendor_id_3GPP := avp_code_PCC_3GPP_Mute_Notification }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SIP_Authentication_Context := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SIP_Authentication_Context }; const AVP_Code c_AVP_Code_MIPv6_NONE_QoS_Resources := { vendor_id_NONE := avp_code_MIPv6_NONE_QoS_Resources }; const AVP_Code c_AVP_Code_AAA_3GPP_Logging_Duration := { vendor_id_3GPP := avp_code_AAA_3GPP_Logging_Duration }; +const AVP_Code c_AVP_Code_DCC_NONE_Service_Parameter_Value := { + vendor_id_NONE := avp_code_DCC_NONE_Service_Parameter_Value }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Associated_Registered_Identities := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Associated_Registered_Identities }; const AVP_Code c_AVP_Code_AAA_3GPP_WLAN_offloadability_EUTRAN := { vendor_id_3GPP := avp_code_AAA_3GPP_WLAN_offloadability_EUTRAN }; const AVP_Code c_AVP_Code_PCC_3GPP_Routing_IP_Address := { @@ -5725,10 +8036,18 @@ vendor_id_NONE := avp_code_MIPv6_NONE_MIP_Session_Key }; const AVP_Code c_AVP_Code_AAA_3GPP_KASME := { vendor_id_3GPP := avp_code_AAA_3GPP_KASME }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_User_Location_Info_Time := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_User_Location_Info_Time }; const AVP_Code c_AVP_Code_AAA_3GPP_Teleservice_List := { vendor_id_3GPP := avp_code_AAA_3GPP_Teleservice_List }; const AVP_Code c_AVP_Code_AAA_3GPP_UTRAN_Vector := { vendor_id_3GPP := avp_code_AAA_3GPP_UTRAN_Vector }; +const AVP_Code c_AVP_Code_DCC_NONE_Tariff_Time_Change := { + vendor_id_NONE := avp_code_DCC_NONE_Tariff_Time_Change }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_NSAPI := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_NSAPI }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_CG_Address := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_CG_Address }; const AVP_Code c_AVP_Code_RX_3GPP_Application_Service_Provider_Identity := { vendor_id_3GPP := avp_code_RX_3GPP_Application_Service_Provider_Identity }; const AVP_Code c_AVP_Code_S6_3GPP_NIDD_Authorization_Request := { @@ -5741,12 +8060,18 @@ vendor_id_3GPP := avp_code_RX_3GPP_Flow_Usage }; const AVP_Code c_AVP_Code_PCC_3GPP_RAN_Rule_Support := { vendor_id_3GPP := avp_code_PCC_3GPP_RAN_Rule_Support }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Password := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Password }; const AVP_Code c_AVP_Code_S6_3GPP_Monitoring_Duration := { vendor_id_3GPP := avp_code_S6_3GPP_Monitoring_Duration }; const AVP_Code c_AVP_Code_AAA_3GPP_Routing_Area_Identity := { vendor_id_3GPP := avp_code_AAA_3GPP_Routing_Area_Identity }; const AVP_Code c_AVP_Code_PCC_3GPP_QoS_Information := { vendor_id_3GPP := avp_code_PCC_3GPP_QoS_Information }; +const AVP_Code c_AVP_Code_DCC_NONE_User_Equipment_Info_Value := { + vendor_id_NONE := avp_code_DCC_NONE_User_Equipment_Info_Value }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunneling := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunneling }; const AVP_Code c_AVP_Code_RX_3GPP_Service_Authorization_Info := { vendor_id_3GPP := avp_code_RX_3GPP_Service_Authorization_Info }; const AVP_Code c_AVP_Code_BASE_NONE_Multi_Round_Time_Out := { @@ -5769,8 +8094,16 @@ vendor_id_NONE := avp_code_BASE_NONE_Experimental_Result_Code }; const AVP_Code c_AVP_Code_PCC_3GPP_Extended_APN_AMBR_DL := { vendor_id_3GPP := avp_code_PCC_3GPP_Extended_APN_AMBR_DL }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Session_Priority := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Session_Priority }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Deregistration_Reason := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Deregistration_Reason }; const AVP_Code c_AVP_Code_AAA_3GPP_GMLC_Number := { vendor_id_3GPP := avp_code_AAA_3GPP_GMLC_Number }; +const AVP_Code c_AVP_Code_DNAS_NONE_Configuration_Token := { + vendor_id_NONE := avp_code_DNAS_NONE_Configuration_Token }; +const AVP_Code c_AVP_Code_DNAS_NONE_Callback_Number := { + vendor_id_NONE := avp_code_DNAS_NONE_Callback_Number }; const AVP_Code c_AVP_Code_AAA_3GPP_Software_Version := { vendor_id_3GPP := avp_code_AAA_3GPP_Software_Version }; const AVP_Code c_AVP_Code_AAA_3GPP_Expiration_Date := { @@ -5779,10 +8112,18 @@ vendor_id_NONE := avp_code_BASE_NONE_Error_Message }; const AVP_Code c_AVP_Code_AAA_3GPP_SRES := { vendor_id_3GPP := avp_code_AAA_3GPP_SRES }; +const AVP_Code c_AVP_Code_DNAS_NONE_NAS_Port_Type := { + vendor_id_NONE := avp_code_DNAS_NONE_NAS_Port_Type }; const AVP_Code c_AVP_Code_AAA_3GPP_Item_Number := { vendor_id_3GPP := avp_code_AAA_3GPP_Item_Number }; +const AVP_Code c_AVP_Code_DCC_NONE_Multiple_Services_Indicator := { + vendor_id_NONE := avp_code_DCC_NONE_Multiple_Services_Indicator }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_Protocol := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_Protocol }; const AVP_Code c_AVP_Code_S6_3GPP_Service_ID := { vendor_id_3GPP := avp_code_S6_3GPP_Service_ID }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_IMSI_MCC_MNC := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_IMSI_MCC_MNC }; const AVP_Code c_AVP_Code_RX_3GPP_Abort_Cause := { vendor_id_3GPP := avp_code_RX_3GPP_Abort_Cause }; const AVP_Code c_AVP_Code_PCC_3GPP_Charging_Rule_Base_Name := { @@ -5795,8 +8136,14 @@ vendor_id_3GPP := avp_code_S6_3GPP_S6t_HSS_Cause }; const AVP_Code c_AVP_Code_RX_3GPP_AF_Requested_Data := { vendor_id_3GPP := avp_code_RX_3GPP_AF_Requested_Data }; +const AVP_Code c_AVP_Code_DNAS_NONE_Filter_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_Filter_Id }; +const AVP_Code c_AVP_Code_DNAS_NONE_ARAP_Password := { + vendor_id_NONE := avp_code_DNAS_NONE_ARAP_Password }; const AVP_Code c_AVP_Code_PCC_3GPP_QoS_Rule_Report := { vendor_id_3GPP := avp_code_PCC_3GPP_QoS_Rule_Report }; +const AVP_Code c_AVP_Code_DNAS_NONE_CHAP_Response := { + vendor_id_NONE := avp_code_DNAS_NONE_CHAP_Response }; const AVP_Code c_AVP_Code_S6_3GPP_Stationary_Indication := { vendor_id_3GPP := avp_code_S6_3GPP_Stationary_Indication }; const AVP_Code c_AVP_Code_PCC_3GPP_Traffic_Steering_Policy_Identifier_DL := { @@ -5807,10 +8154,26 @@ vendor_id_3GPP := avp_code_PCC_3GPP_Extended_GBR_UL }; const AVP_Code c_AVP_Code_AAA_3GPP_MBSFN_Area_ID := { vendor_id_3GPP := avp_code_AAA_3GPP_MBSFN_Area_ID }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Server_Capabilities := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Server_Capabilities }; const AVP_Code c_AVP_Code_AAA_3GPP_Area_Scope := { vendor_id_3GPP := avp_code_AAA_3GPP_Area_Scope }; +const AVP_Code c_AVP_Code_DNAS_NONE_Accounting_Input_Packets := { + vendor_id_NONE := avp_code_DNAS_NONE_Accounting_Input_Packets }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SCSCF_Restoration_Info := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SCSCF_Restoration_Info }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Initial_CSeq_Sequence_Number := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Initial_CSeq_Sequence_Number }; const AVP_Code c_AVP_Code_AAA_3GPP_PUA_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_PUA_Flags }; +const AVP_Code c_AVP_Code_DNAS_NONE_Callback_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_Callback_Id }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Primary_Event_Charging_Function_Name := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Primary_Event_Charging_Function_Name }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Output_Octets := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Output_Octets }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_User_Location_Info := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_User_Location_Info }; const AVP_Code c_AVP_Code_AAA_3GPP_Notification_To_UE_User := { vendor_id_3GPP := avp_code_AAA_3GPP_Notification_To_UE_User }; const AVP_Code c_AVP_Code_AAA_3GPP_Visited_PLMN_Id := { @@ -5821,6 +8184,8 @@ vendor_id_3GPP := avp_code_RX_3GPP_Codec_Data }; const AVP_Code c_AVP_Code_S6_3GPP_Monitoring_Event_Config_Status := { vendor_id_3GPP := avp_code_S6_3GPP_Monitoring_Event_Config_Status }; +const AVP_Code c_AVP_Code_DCC_NONE_Cost_Information := { + vendor_id_NONE := avp_code_DCC_NONE_Cost_Information }; const AVP_Code c_AVP_Code_BASE_NONE_Error_Reporting_Host := { vendor_id_NONE := avp_code_BASE_NONE_Error_Reporting_Host }; const AVP_Code c_AVP_Code_PCC_3GPP_Rule_Activation_Time := { @@ -5835,6 +8200,10 @@ vendor_id_3GPP := avp_code_S6_3GPP_Monitoring_Event_Configuration }; const AVP_Code c_AVP_Code_PCC_3GPP_Offline := { vendor_id_3GPP := avp_code_PCC_3GPP_Offline }; +const AVP_Code c_AVP_Code_DNAS_NONE_Login_Service := { + vendor_id_NONE := avp_code_DNAS_NONE_Login_Service }; +const AVP_Code c_AVP_Code_DNAS_NONE_ARAP_Security_Data := { + vendor_id_NONE := avp_code_DNAS_NONE_ARAP_Security_Data }; const AVP_Code c_AVP_Code_AAA_3GPP_Additional_Context_ID := { vendor_id_3GPP := avp_code_AAA_3GPP_Additional_Context_ID }; const AVP_Code c_AVP_Code_PCC_3GPP_ADC_Rule_Definition := { @@ -5851,16 +8220,30 @@ vendor_id_3GPP := avp_code_AAA_3GPP_SMS_Register_Request }; const AVP_Code c_AVP_Code_PCC_3GPP_Packet_Filter_Content := { vendor_id_3GPP := avp_code_PCC_3GPP_Packet_Filter_Content }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Subscription_Info := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Subscription_Info }; const AVP_Code c_AVP_Code_AAA_3GPP_APN_Configuration := { vendor_id_3GPP := avp_code_AAA_3GPP_APN_Configuration }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SIP_Number_Auth_Items := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SIP_Number_Auth_Items }; const AVP_Code c_AVP_Code_AAA_3GPP_OMC_Id := { vendor_id_3GPP := avp_code_AAA_3GPP_OMC_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_GMLC_Restriction := { vendor_id_3GPP := avp_code_AAA_3GPP_GMLC_Restriction }; +const AVP_Code c_AVP_Code_DNAS_NONE_State := { + vendor_id_NONE := avp_code_DNAS_NONE_State }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Preference := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Preference }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Session_Failover := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Session_Failover }; const AVP_Code c_AVP_Code_AAA_3GPP_Regional_Subscription_Zone_Code := { vendor_id_3GPP := avp_code_AAA_3GPP_Regional_Subscription_Zone_Code }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_Negotiated_DSCP := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_Negotiated_DSCP }; const AVP_Code c_AVP_Code_BASE_NONE_Proxy_State := { vendor_id_NONE := avp_code_BASE_NONE_Proxy_State }; +const AVP_Code c_AVP_Code_DCC_NONE_Credit_Control_Failure_Handling := { + vendor_id_NONE := avp_code_DCC_NONE_Credit_Control_Failure_Handling }; const AVP_Code c_AVP_Code_S6_3GPP_SIR_Flags := { vendor_id_3GPP := avp_code_S6_3GPP_SIR_Flags }; const AVP_Code c_AVP_Code_RX_3GPP_MPS_Identifier := { @@ -5885,6 +8268,8 @@ vendor_id_3GPP := avp_code_PCC_3GPP_Monitoring_Flags }; const AVP_Code c_AVP_Code_BASE_NONE_Redirect_Max_Cache_Time := { vendor_id_NONE := avp_code_BASE_NONE_Redirect_Max_Cache_Time }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Feature_List := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Feature_List }; const AVP_Code c_AVP_Code_PCC_3GPP_TCP_Source_Port := { vendor_id_3GPP := avp_code_PCC_3GPP_TCP_Source_Port }; const AVP_Code c_AVP_Code_PCC_3GPP_Application_Detection_Information := { @@ -5893,8 +8278,18 @@ vendor_id_3GPP := avp_code_AAA_3GPP_Emergency_Info }; const AVP_Code c_AVP_Code_AAA_3GPP_MPS_Priority := { vendor_id_3GPP := avp_code_AAA_3GPP_MPS_Priority }; +const AVP_Code c_AVP_Code_DCC_NONE_Requested_Action := { + vendor_id_NONE := avp_code_DCC_NONE_Requested_Action }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Record_Route := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Record_Route }; const AVP_Code c_AVP_Code_AAA_3GPP_Alert_Reason := { vendor_id_3GPP := avp_code_AAA_3GPP_Alert_Reason }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_CG_IPv6_Address := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_CG_IPv6_Address }; +const AVP_Code c_AVP_Code_DNAS_NONE_Idle_Timeout := { + vendor_id_NONE := avp_code_DNAS_NONE_Idle_Timeout }; +const AVP_Code c_AVP_Code_DNAS_NONE_NAS_Port_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_NAS_Port_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_MO_LR := { vendor_id_3GPP := avp_code_AAA_3GPP_MO_LR }; const AVP_Code c_AVP_Code_BASE_NONE_Host_IP_Address := { @@ -5907,6 +8302,10 @@ vendor_id_3GPP := avp_code_S6_3GPP_Maximum_Response_Time }; const AVP_Code c_AVP_Code_RX_3GPP_Sponsor_Identity := { vendor_id_3GPP := avp_code_RX_3GPP_Sponsor_Identity }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_Appletalk_Link := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_Appletalk_Link }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_Interface_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_Interface_Id }; const AVP_Code c_AVP_Code_PCC_3GPP_CoA_IP_Address := { vendor_id_3GPP := avp_code_PCC_3GPP_CoA_IP_Address }; const AVP_Code c_AVP_Code_PCC_3GPP_Default_QoS_Information := { @@ -5925,6 +8324,10 @@ vendor_id_NONE := avp_code_BASE_NONE_Vendor_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_PDN_Connection_Continuity := { vendor_id_3GPP := avp_code_AAA_3GPP_PDN_Connection_Continuity }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Wildcarded_Public_Identity := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Wildcarded_Public_Identity }; +const AVP_Code c_AVP_Code_DNAS_NONE_Acct_Session_Time := { + vendor_id_NONE := avp_code_DNAS_NONE_Acct_Session_Time }; const AVP_Code c_AVP_Code_AAA_3GPP_DSA_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_DSA_Flags }; const AVP_Code c_AVP_Code_AAA_3GPP_Trace_Data := { @@ -5933,16 +8336,24 @@ vendor_id_3GPP := avp_code_AAA_3GPP_LCS_Info }; const AVP_Code c_AVP_Code_AAA_3GPP_PDN_GW_Allocation_Type := { vendor_id_3GPP := avp_code_AAA_3GPP_PDN_GW_Allocation_Type }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_SGSN_MCC_MNC := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_SGSN_MCC_MNC }; const AVP_Code c_AVP_Code_BASE_NONE_Event_Timestamp := { vendor_id_NONE := avp_code_BASE_NONE_Event_Timestamp }; +const AVP_Code c_AVP_Code_DCC_NONE_Final_Unit_Action := { + vendor_id_NONE := avp_code_DCC_NONE_Final_Unit_Action }; const AVP_Code c_AVP_Code_RX_3GPP_Extended_Max_Requested_BW_UL := { vendor_id_3GPP := avp_code_RX_3GPP_Extended_Max_Requested_BW_UL }; const AVP_Code c_AVP_Code_S6_3GPP_User_Identifier := { vendor_id_3GPP := avp_code_S6_3GPP_User_Identifier }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_IPv6_Pool := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_IPv6_Pool }; const AVP_Code c_AVP_Code_PCC_3GPP_QoS_Rule_Base_Name := { vendor_id_3GPP := avp_code_PCC_3GPP_QoS_Rule_Base_Name }; const AVP_Code c_AVP_Code_AAA_3GPP_Restoration_Priority := { vendor_id_3GPP := avp_code_AAA_3GPP_Restoration_Priority }; +const AVP_Code c_AVP_Code_DCC_NONE_Rating_Group := { + vendor_id_NONE := avp_code_DCC_NONE_Rating_Group }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_MN_HA_SPI := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP_MN_HA_SPI }; const AVP_Code c_AVP_Code_S6_3GPP_Association_Type := { @@ -5955,6 +8366,10 @@ vendor_id_3GPP := avp_code_AAA_3GPP_Report_Amount }; const AVP_Code c_AVP_Code_PCC_3GPP_CoA_Information := { vendor_id_3GPP := avp_code_PCC_3GPP_CoA_Information }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Secondary_Charging_Collection_Function_Name := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Secondary_Charging_Collection_Function_Name }; +const AVP_Code c_AVP_Code_DCC_NONE_User_Equipment_Info := { + vendor_id_NONE := avp_code_DCC_NONE_User_Equipment_Info }; const AVP_Code c_AVP_Code_AAA_3GPP_A_MSISDN := { vendor_id_3GPP := avp_code_AAA_3GPP_A_MSISDN }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_Mobile_Node_Address := { @@ -5967,28 +8382,40 @@ vendor_id_3GPP := avp_code_AAA_3GPP_AIR_Flags }; const AVP_Code c_AVP_Code_AAA_3GPP_Geographical_Information := { vendor_id_3GPP := avp_code_AAA_3GPP_Geographical_Information }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Loose_Route_Indication := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Loose_Route_Indication }; +const AVP_Code c_AVP_Code_DCC_NONE_Service_Parameter_Type := { + vendor_id_NONE := avp_code_DCC_NONE_Service_Parameter_Type }; const AVP_Code c_AVP_Code_AAA_3GPP_MME_User_State := { vendor_id_3GPP := avp_code_AAA_3GPP_MME_User_State }; const AVP_Code c_AVP_Code_AAA_3GPP_Access_Restriction_Data := { vendor_id_3GPP := avp_code_AAA_3GPP_Access_Restriction_Data }; const AVP_Code c_AVP_Code_BASE_NONE_Failed_AVP := { vendor_id_NONE := avp_code_BASE_NONE_Failed_AVP }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_RAT_Type := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_RAT_Type }; const AVP_Code c_AVP_Code_AAA_3GPP_SS_Status := { vendor_id_3GPP := avp_code_AAA_3GPP_SS_Status }; const AVP_Code c_AVP_Code_S6_3GPP_NIDD_Authorization_Update := { vendor_id_3GPP := avp_code_S6_3GPP_NIDD_Authorization_Update }; +const AVP_Code c_AVP_Code_DCC_NONE_Subscription_Id_Type := { + vendor_id_NONE := avp_code_DCC_NONE_Subscription_Id_Type }; const AVP_Code c_AVP_Code_PCC_3GPP_Packet_Filter_Operation := { vendor_id_3GPP := avp_code_PCC_3GPP_Packet_Filter_Operation }; const AVP_Code c_AVP_Code_S6_3GPP_SCEF_Reference_ID_for_Deletion := { vendor_id_3GPP := avp_code_S6_3GPP_SCEF_Reference_ID_for_Deletion }; const AVP_Code c_AVP_Code_RX_3GPP_SIP_Forking_Indication := { vendor_id_3GPP := avp_code_RX_3GPP_SIP_Forking_Indication }; +const AVP_Code c_AVP_Code_DNAS_NONE_User_Password := { + vendor_id_NONE := avp_code_DNAS_NONE_User_Password }; const AVP_Code c_AVP_Code_S6_3GPP_IMEI_Change := { vendor_id_3GPP := avp_code_S6_3GPP_IMEI_Change }; const AVP_Code c_AVP_Code_PCC_3GPP_IP_CAN_Type := { vendor_id_3GPP := avp_code_PCC_3GPP_IP_CAN_Type }; const AVP_Code c_AVP_Code_RX_3GPP_Extended_Min_Desired_BW_UL := { vendor_id_3GPP := avp_code_RX_3GPP_Extended_Min_Desired_BW_UL }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SIP_Authorization := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SIP_Authorization }; const AVP_Code c_AVP_Code_PCC_3GPP_Revalidation_Time := { vendor_id_3GPP := avp_code_PCC_3GPP_Revalidation_Time }; const AVP_Code c_AVP_Code_AAA_3GPP_Logging_Interval := { @@ -6001,16 +8428,32 @@ vendor_id_3GPP := avp_code_PCC_3GPP_Routing_Filter }; const AVP_Code c_AVP_Code_PCC_3GPP_Metering_Method := { vendor_id_3GPP := avp_code_PCC_3GPP_Metering_Method }; +const AVP_Code c_AVP_Code_DNAS_NONE_Acct_Tunnel_Connection := { + vendor_id_NONE := avp_code_DNAS_NONE_Acct_Tunnel_Connection }; const AVP_Code c_AVP_Code_AAA_3GPP_Non_IP_Data_Delivery_Mechanism := { vendor_id_3GPP := avp_code_AAA_3GPP_Non_IP_Data_Delivery_Mechanism }; +const AVP_Code c_AVP_Code_DNAS_NONE_NAS_Filter_Rule := { + vendor_id_NONE := avp_code_DNAS_NONE_NAS_Filter_Rule }; const AVP_Code c_AVP_Code_BASE_NONE_Session_Server_Failover := { vendor_id_NONE := avp_code_BASE_NONE_Session_Server_Failover }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Integrity_Key := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Integrity_Key }; const AVP_Code c_AVP_Code_AAA_3GPP_E_UTRAN_Vector := { vendor_id_3GPP := avp_code_AAA_3GPP_E_UTRAN_Vector }; const AVP_Code c_AVP_Code_BASE_NONE_Experimental_Result := { vendor_id_NONE := avp_code_BASE_NONE_Experimental_Result }; +const AVP_Code c_AVP_Code_DNAS_NONE_Acct_Link_Count := { + vendor_id_NONE := avp_code_DNAS_NONE_Acct_Link_Count }; +const AVP_Code c_AVP_Code_DCC_NONE_Unit_Value := { + vendor_id_NONE := avp_code_DCC_NONE_Unit_Value }; const AVP_Code c_AVP_Code_AAA_3GPP_Trace_Event_List := { vendor_id_3GPP := avp_code_AAA_3GPP_Trace_Event_List }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_PDP_Type := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_PDP_Type }; +const AVP_Code c_AVP_Code_DNAS_NONE_Reply_Message := { + vendor_id_NONE := avp_code_DNAS_NONE_Reply_Message }; +const AVP_Code c_AVP_Code_DNAS_NONE_Connect_Info := { + vendor_id_NONE := avp_code_DNAS_NONE_Connect_Info }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_Replay_Mode := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP_Replay_Mode }; const AVP_Code c_AVP_Code_BASE_NONE_Proxy_Host := { @@ -6019,12 +8462,18 @@ vendor_id_3GPP := avp_code_S6_3GPP_Communication_Pattern_Set }; const AVP_Code c_AVP_Code_RX_3GPP_Flow_Status := { vendor_id_3GPP := avp_code_RX_3GPP_Flow_Status }; +const AVP_Code c_AVP_Code_DNAS_NONE_CHAP_Challenge := { + vendor_id_NONE := avp_code_DNAS_NONE_CHAP_Challenge }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Unit_Type := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Unit_Type }; const AVP_Code c_AVP_Code_RX_3GPP_MCPTT_Identifier := { vendor_id_3GPP := avp_code_RX_3GPP_MCPTT_Identifier }; const AVP_Code c_AVP_Code_S6_3GPP_Group_Monitoring_Event_Report := { vendor_id_3GPP := avp_code_S6_3GPP_Group_Monitoring_Event_Report }; const AVP_Code c_AVP_Code_PCC_3GPP_QoS_Upgrade := { vendor_id_3GPP := avp_code_PCC_3GPP_QoS_Upgrade }; +const AVP_Code c_AVP_Code_DNAS_NONE_Service_Type := { + vendor_id_NONE := avp_code_DNAS_NONE_Service_Type }; const AVP_Code c_AVP_Code_PCC_3GPP_AN_GW_Status := { vendor_id_3GPP := avp_code_PCC_3GPP_AN_GW_Status }; const AVP_Code c_AVP_Code_AAA_3GPP_Measurement_Period_UMTS := { @@ -6037,26 +8486,40 @@ vendor_id_3GPP := avp_code_AAA_3GPP_Reset_ID }; const AVP_Code c_AVP_Code_PCC_3GPP_Routing_Rule_Install := { vendor_id_3GPP := avp_code_PCC_3GPP_Routing_Rule_Install }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Server_Assignment_Type := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Server_Assignment_Type }; const AVP_Code c_AVP_Code_AAA_3GPP_PUR_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_PUR_Flags }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_Routing := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_Routing }; const AVP_Code c_AVP_Code_PCC_3GPP_IP_CAN_Session_Charging_Scope := { vendor_id_3GPP := avp_code_PCC_3GPP_IP_CAN_Session_Charging_Scope }; const AVP_Code c_AVP_Code_AAA_3GPP_IMEI := { vendor_id_3GPP := avp_code_AAA_3GPP_IMEI }; +const AVP_Code c_AVP_Code_DNAS_NONE_CHAP_Ident := { + vendor_id_NONE := avp_code_DNAS_NONE_CHAP_Ident }; const AVP_Code c_AVP_Code_AAA_3GPP_Kc := { vendor_id_3GPP := avp_code_AAA_3GPP_Kc }; const AVP_Code c_AVP_Code_AAA_3GPP_SGSN_Number := { vendor_id_3GPP := avp_code_AAA_3GPP_SGSN_Number }; const AVP_Code c_AVP_Code_AAA_3GPP_HPLMN_ODB := { vendor_id_3GPP := avp_code_AAA_3GPP_HPLMN_ODB }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_Charging_Characteristics := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_Charging_Characteristics }; const AVP_Code c_AVP_Code_AAA_3GPP_PDP_Context := { vendor_id_3GPP := avp_code_AAA_3GPP_PDP_Context }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Money := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Money }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_GGSN_Address := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_GGSN_Address }; const AVP_Code c_AVP_Code_BASE_NONE_Proxy_Info := { vendor_id_NONE := avp_code_BASE_NONE_Proxy_Info }; const AVP_Code c_AVP_Code_S6_3GPP_Node_Type := { vendor_id_3GPP := avp_code_S6_3GPP_Node_Type }; const AVP_Code c_AVP_Code_RX_3GPP_Priority_Sharing_Indicator := { vendor_id_3GPP := avp_code_RX_3GPP_Priority_Sharing_Indicator }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Type := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Type }; const AVP_Code c_AVP_Code_PCC_3GPP_QoS_Rule_Name := { vendor_id_3GPP := avp_code_PCC_3GPP_QoS_Rule_Name }; const AVP_Code c_AVP_Code_S6_3GPP_Scheduled_Communication_Time := { @@ -6071,6 +8534,10 @@ vendor_id_3GPP := avp_code_PCC_3GPP_Extended_GBR_DL }; const AVP_Code c_AVP_Code_AAA_3GPP_MBSFN_Area := { vendor_id_3GPP := avp_code_AAA_3GPP_MBSFN_Area }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Server_Name := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Server_Name }; +const AVP_Code c_AVP_Code_DCC_NONE_Check_Balance_Result := { + vendor_id_NONE := avp_code_DCC_NONE_Check_Balance_Result }; const AVP_Code c_AVP_Code_S6_3GPP_APN_Validity_Time := { vendor_id_3GPP := avp_code_S6_3GPP_APN_Validity_Time }; const AVP_Code c_AVP_Code_AAA_3GPP_Job_Type := { @@ -6081,16 +8548,32 @@ vendor_id_NONE := avp_code_BASE_NONE_Destination_Host }; const AVP_Code c_AVP_Code_AAA_3GPP_Positioning_Method := { vendor_id_3GPP := avp_code_AAA_3GPP_Positioning_Method }; +const AVP_Code c_AVP_Code_CxDx_3GPP_LIA_Flags := { + vendor_id_3GPP := avp_code_CxDx_3GPP_LIA_Flags }; const AVP_Code c_AVP_Code_AAA_3GPP_DL_Buffering_Suggested_Packet_Count := { vendor_id_3GPP := avp_code_AAA_3GPP_DL_Buffering_Suggested_Packet_Count }; +const AVP_Code c_AVP_Code_DNAS_NONE_Login_IP_Host := { + vendor_id_NONE := avp_code_DNAS_NONE_Login_IP_Host }; +const AVP_Code c_AVP_Code_DNAS_NONE_ARAP_Security := { + vendor_id_NONE := avp_code_DNAS_NONE_ARAP_Security }; const AVP_Code c_AVP_Code_AAA_3GPP_IDA_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_IDA_Flags }; +const AVP_Code c_AVP_Code_DNAS_NONE_Origin_AAA_Protocol := { + vendor_id_NONE := avp_code_DNAS_NONE_Origin_AAA_Protocol }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Charging_Information := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Charging_Information }; const AVP_Code c_AVP_Code_AAA_3GPP_ULA_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_ULA_Flags }; const AVP_Code c_AVP_Code_AAA_3GPP_IMS_Voice_Over_PS_Sessions_Supported := { vendor_id_3GPP := avp_code_AAA_3GPP_IMS_Voice_Over_PS_Sessions_Supported }; const AVP_Code c_AVP_Code_AAA_3GPP_Roaming_Restricted_Due_To_Unsupported_Feature := { vendor_id_3GPP := avp_code_AAA_3GPP_Roaming_Restricted_Due_To_Unsupported_Feature }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Assignment_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Assignment_Id }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_IPX_Network := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_IPX_Network }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Service_Specific_Units := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Service_Specific_Units }; const AVP_Code c_AVP_Code_S6_3GPP_T4_Parameters := { vendor_id_3GPP := avp_code_S6_3GPP_T4_Parameters }; const AVP_Code c_AVP_Code_RX_3GPP_Access_Network_Charging_Identifier_Value := { @@ -6111,14 +8594,24 @@ vendor_id_3GPP := avp_code_RX_3GPP_Extended_Max_Requested_BW_DL }; const AVP_Code c_AVP_Code_PCC_3GPP_Flow_Information := { vendor_id_3GPP := avp_code_PCC_3GPP_Flow_Information }; +const AVP_Code c_AVP_Code_DNAS_NONE_NAS_Identifier := { + vendor_id_NONE := avp_code_DNAS_NONE_NAS_Identifier }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Server_Auth_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Server_Auth_Id }; const AVP_Code c_AVP_Code_PCC_3GPP_Execution_Time := { vendor_id_3GPP := avp_code_PCC_3GPP_Execution_Time }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Contact := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Contact }; +const AVP_Code c_AVP_Code_DCC_NONE_Credit_Control := { + vendor_id_NONE := avp_code_DCC_NONE_Credit_Control }; const AVP_Code c_AVP_Code_BASE_NONE_Accounting_Record_Number := { vendor_id_NONE := avp_code_BASE_NONE_Accounting_Record_Number }; const AVP_Code c_AVP_Code_AAA_3GPP_Event_Threshold_Event_1I := { vendor_id_3GPP := avp_code_AAA_3GPP_Event_Threshold_Event_1I }; const AVP_Code c_AVP_Code_PCC_3GPP_Charging_Correlation_Indicator := { vendor_id_3GPP := avp_code_PCC_3GPP_Charging_Correlation_Indicator }; +const AVP_Code c_AVP_Code_CxDx_3GPP_User_Data := { + vendor_id_3GPP := avp_code_CxDx_3GPP_User_Data }; const AVP_Code c_AVP_Code_AAA_3GPP_Report_Interval := { vendor_id_3GPP := avp_code_AAA_3GPP_Report_Interval }; const AVP_Code c_AVP_Code_PCC_3GPP_RAN_NAS_Release_Cause := { @@ -6129,10 +8622,16 @@ vendor_id_NONE := avp_code_BASE_NONE_Redirect_Host_Usage }; const AVP_Code c_AVP_Code_AAA_3GPP_Equipment_Status := { vendor_id_3GPP := avp_code_AAA_3GPP_Equipment_Status }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_Packet_Filter := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_Packet_Filter }; +const AVP_Code c_AVP_Code_DCC_NONE_Redirect_Server_Address := { + vendor_id_NONE := avp_code_DCC_NONE_Redirect_Server_Address }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP6_Auth_Mode := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP6_Auth_Mode }; const AVP_Code c_AVP_Code_AAA_3GPP_EPS_Location_Information := { vendor_id_3GPP := avp_code_AAA_3GPP_EPS_Location_Information }; +const AVP_Code c_AVP_Code_DNAS_NONE_Acct_Tunnel_Packets_Lost := { + vendor_id_NONE := avp_code_DNAS_NONE_Acct_Tunnel_Packets_Lost }; const AVP_Code c_AVP_Code_BASE_NONE_Session_Timeout := { vendor_id_NONE := avp_code_BASE_NONE_Session_Timeout }; const AVP_Code c_AVP_Code_RX_3GPP_Service_Info_Status := { @@ -6165,8 +8664,16 @@ vendor_id_3GPP := avp_code_AAA_3GPP_UE_SRVCC_Capability }; const AVP_Code c_AVP_Code_PCC_3GPP_Guaranteed_Bitrate_UL := { vendor_id_3GPP := avp_code_PCC_3GPP_Guaranteed_Bitrate_UL }; +const AVP_Code c_AVP_Code_DNAS_NONE_NAS_IPv6_Address := { + vendor_id_NONE := avp_code_DNAS_NONE_NAS_IPv6_Address }; +const AVP_Code c_AVP_Code_DNAS_NONE_Login_LAT_Group := { + vendor_id_NONE := avp_code_DNAS_NONE_Login_LAT_Group }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_MAC_Mobility_Data := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP_MAC_Mobility_Data }; +const AVP_Code c_AVP_Code_DNAS_NONE_Accounting_Output_Octets := { + vendor_id_NONE := avp_code_DNAS_NONE_Accounting_Output_Octets }; +const AVP_Code c_AVP_Code_CxDx_3GPP_To_SIP_Header := { + vendor_id_3GPP := avp_code_CxDx_3GPP_To_SIP_Header }; const AVP_Code c_AVP_Code_AAA_3GPP_Coupled_Node_Diameter_ID := { vendor_id_3GPP := avp_code_AAA_3GPP_Coupled_Node_Diameter_ID }; const AVP_Code c_AVP_Code_AAA_3GPP_STN_SR := { @@ -6175,8 +8682,14 @@ vendor_id_NONE := avp_code_BASE_NONE_Supported_Vendor_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_ServiceTypeIdentity := { vendor_id_3GPP := avp_code_AAA_3GPP_ServiceTypeIdentity }; +const AVP_Code c_AVP_Code_DNAS_NONE_Acct_Authentic := { + vendor_id_NONE := avp_code_DNAS_NONE_Acct_Authentic }; +const AVP_Code c_AVP_Code_DCC_NONE_Service_Identifier := { + vendor_id_NONE := avp_code_DCC_NONE_Service_Identifier }; const AVP_Code c_AVP_Code_AAA_3GPP_AUTN := { vendor_id_3GPP := avp_code_AAA_3GPP_AUTN }; +const AVP_Code c_AVP_Code_GI_3GPP_TWAN_Identifier := { + vendor_id_3GPP := avp_code_GI_3GPP_TWAN_Identifier }; const AVP_Code c_AVP_Code_RX_3GPP_Sponsored_Connectivity_Data := { vendor_id_3GPP := avp_code_RX_3GPP_Sponsored_Connectivity_Data }; const AVP_Code c_AVP_Code_BASE_NONE_Auth_Request_Type := { @@ -6185,6 +8698,8 @@ vendor_id_3GPP := avp_code_S6_3GPP_AESE_Communication_Pattern }; const AVP_Code c_AVP_Code_PCC_3GPP_NBIFOM_Mode := { vendor_id_3GPP := avp_code_PCC_3GPP_NBIFOM_Mode }; +const AVP_Code c_AVP_Code_DCC_NONE_Validity_Time := { + vendor_id_NONE := avp_code_DCC_NONE_Validity_Time }; const AVP_Code c_AVP_Code_PCC_3GPP_Redirect_Information := { vendor_id_3GPP := avp_code_PCC_3GPP_Redirect_Information }; const AVP_Code c_AVP_Code_S6_3GPP_Event_Handling := { @@ -6197,14 +8712,20 @@ vendor_id_3GPP := avp_code_RX_3GPP_Min_Desired_Bandwidth_UL }; const AVP_Code c_AVP_Code_AAA_3GPP_UVR_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_UVR_Flags }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Originating_Request := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Originating_Request }; const AVP_Code c_AVP_Code_AAA_3GPP_Subscription_Data_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_Subscription_Data_Flags }; const AVP_Code c_AVP_Code_PCC_3GPP_PDN_Connection_ID := { vendor_id_3GPP := avp_code_PCC_3GPP_PDN_Connection_ID }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_IPv6_Route := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_IPv6_Route }; const AVP_Code c_AVP_Code_AAA_3GPP_DSR_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_DSR_Flags }; const AVP_Code c_AVP_Code_PCC_3GPP_PRA_Remove := { vendor_id_3GPP := avp_code_PCC_3GPP_PRA_Remove }; +const AVP_Code c_AVP_Code_DCC_NONE_Granted_Service_Unit := { + vendor_id_NONE := avp_code_DCC_NONE_Granted_Service_Unit }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_Timestamp := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP_Timestamp }; const AVP_Code c_AVP_Code_AAA_3GPP_Subscribed_Periodic_RAU_TAU_Timer := { @@ -6213,12 +8734,20 @@ vendor_id_3GPP := avp_code_AAA_3GPP_Specific_APN_Info }; const AVP_Code c_AVP_Code_AAA_3GPP_Terminal_Information := { vendor_id_3GPP := avp_code_AAA_3GPP_Terminal_Information }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Restoration_Info := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Restoration_Info }; const AVP_Code c_AVP_Code_BASE_NONE_Product_Name := { vendor_id_NONE := avp_code_BASE_NONE_Product_Name }; const AVP_Code c_AVP_Code_AAA_3GPP_CSG_Id := { vendor_id_3GPP := avp_code_AAA_3GPP_CSG_Id }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_IP_Netmask := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_IP_Netmask }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_IPv6_DNS_Servers := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_IPv6_DNS_Servers }; const AVP_Code c_AVP_Code_AAA_3GPP_Call_Barring_Info := { vendor_id_3GPP := avp_code_AAA_3GPP_Call_Barring_Info }; +const AVP_Code c_AVP_Code_DCC_NONE_Service_Parameter_Info := { + vendor_id_NONE := avp_code_DCC_NONE_Service_Parameter_Info }; const AVP_Code c_AVP_Code_BASE_NONE_Origin_State_Id := { vendor_id_NONE := avp_code_BASE_NONE_Origin_State_Id }; const AVP_Code c_AVP_Code_S6_3GPP_IP_SM_GW_Name := { @@ -6235,6 +8764,8 @@ vendor_id_3GPP := avp_code_S6_3GPP_Service_Report }; const AVP_Code c_AVP_Code_PCC_3GPP_Tunnel_Information := { vendor_id_3GPP := avp_code_PCC_3GPP_Tunnel_Information }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Primary_Charging_Collection_Function_Name := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Primary_Charging_Collection_Function_Name }; const AVP_Code c_AVP_Code_AAA_3GPP_Time_Zone := { vendor_id_3GPP := avp_code_AAA_3GPP_Time_Zone }; const AVP_Code c_AVP_Code_PCC_3GPP_QoS_Rule_Definition := { @@ -6255,18 +8786,30 @@ vendor_id_NONE := avp_code_BASE_NONE_User_Name }; const AVP_Code c_AVP_Code_AAA_3GPP_UE_PC5_AMBR := { vendor_id_3GPP := avp_code_AAA_3GPP_UE_PC5_AMBR }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Public_Identity := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Public_Identity }; const AVP_Code c_AVP_Code_BASE_NONE_Accounting_Sub_Session_Id := { vendor_id_NONE := avp_code_BASE_NONE_Accounting_Sub_Session_Id }; +const AVP_Code c_AVP_Code_DNAS_NONE_Acct_Delay_Time := { + vendor_id_NONE := avp_code_DNAS_NONE_Acct_Delay_Time }; +const AVP_Code c_AVP_Code_CxDx_3GPP_UAR_Flags := { + vendor_id_3GPP := avp_code_CxDx_3GPP_UAR_Flags }; const AVP_Code c_AVP_Code_AAA_3GPP_Collection_Period_RRM_UMTS := { vendor_id_3GPP := avp_code_AAA_3GPP_Collection_Period_RRM_UMTS }; const AVP_Code c_AVP_Code_AAA_3GPP_Operator_Determined_Barring := { vendor_id_3GPP := avp_code_AAA_3GPP_Operator_Determined_Barring }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Server_Endpoint := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Server_Endpoint }; const AVP_Code c_AVP_Code_BASE_NONE_Session_Binding := { vendor_id_NONE := avp_code_BASE_NONE_Session_Binding }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_IMEISV := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_IMEISV }; const AVP_Code c_AVP_Code_AAA_3GPP_SS_Code := { vendor_id_3GPP := avp_code_AAA_3GPP_SS_Code }; const AVP_Code c_AVP_Code_BASE_NONE_Acct_Multi_Session_Id := { vendor_id_NONE := avp_code_BASE_NONE_Acct_Multi_Session_Id }; +const AVP_Code c_AVP_Code_DCC_NONE_Subscription_Id_Data := { + vendor_id_NONE := avp_code_DCC_NONE_Subscription_Id_Data }; const AVP_Code c_AVP_Code_RX_3GPP_RS_Bandwidth := { vendor_id_3GPP := avp_code_RX_3GPP_RS_Bandwidth }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_Algorithm_Type := { @@ -6291,18 +8834,30 @@ vendor_id_3GPP := avp_code_RX_3GPP_GCS_Identifier }; const AVP_Code c_AVP_Code_MIPv6_NONE_QoS_Capability := { vendor_id_NONE := avp_code_MIPv6_NONE_QoS_Capability }; +const AVP_Code c_AVP_Code_DCC_NONE_G_S_U_Pool_Identifier := { + vendor_id_NONE := avp_code_DCC_NONE_G_S_U_Pool_Identifier }; const AVP_Code c_AVP_Code_AAA_3GPP_Non_IP_PDN_Type_Indicator := { vendor_id_3GPP := avp_code_AAA_3GPP_Non_IP_PDN_Type_Indicator }; const AVP_Code c_AVP_Code_PCC_3GPP_ADC_Rule_Install := { vendor_id_3GPP := avp_code_PCC_3GPP_ADC_Rule_Install }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Confidentiality_Key := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Confidentiality_Key }; const AVP_Code c_AVP_Code_PCC_3GPP_Flow_Label := { vendor_id_3GPP := avp_code_PCC_3GPP_Flow_Label }; +const AVP_Code c_AVP_Code_DNAS_NONE_NAS_Port := { + vendor_id_NONE := avp_code_DNAS_NONE_NAS_Port }; const AVP_Code c_AVP_Code_AAA_3GPP_Authentication_Info := { vendor_id_3GPP := avp_code_AAA_3GPP_Authentication_Info }; const AVP_Code c_AVP_Code_AAA_3GPP_Trace_Interface_List := { vendor_id_3GPP := avp_code_AAA_3GPP_Trace_Interface_List }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_Charging_Id := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_Charging_Id }; +const AVP_Code c_AVP_Code_DNAS_NONE_CHAP_Algorithm := { + vendor_id_NONE := avp_code_DNAS_NONE_CHAP_Algorithm }; const AVP_Code c_AVP_Code_AAA_3GPP_APN_Configuration_Profile := { vendor_id_3GPP := avp_code_AAA_3GPP_APN_Configuration_Profile }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_CAMEL_Charging_Info := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_CAMEL_Charging_Info }; const AVP_Code c_AVP_Code_RX_3GPP_Flows := { vendor_id_3GPP := avp_code_RX_3GPP_Flows }; const AVP_Code c_AVP_Code_S6_3GPP_CIA_Flags := { @@ -6311,6 +8866,8 @@ vendor_id_3GPP := avp_code_RX_3GPP_Extended_Min_Requested_BW_UL }; const AVP_Code c_AVP_Code_PCC_3GPP_Monitoring_Time := { vendor_id_3GPP := avp_code_PCC_3GPP_Monitoring_Time }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Input_Octets := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Input_Octets }; const AVP_Code c_AVP_Code_S6_3GPP_UE_Reachability_Configuration := { vendor_id_3GPP := avp_code_S6_3GPP_UE_Reachability_Configuration }; const AVP_Code c_AVP_Code_BASE_NONE_Destination_Realm := { @@ -6321,12 +8878,18 @@ vendor_id_3GPP := avp_code_PCC_3GPP_Flow_Direction }; const AVP_Code c_AVP_Code_S6_3GPP_Supported_Monitoring_Events := { vendor_id_3GPP := avp_code_S6_3GPP_Supported_Monitoring_Events }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SIP_Item_Number := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SIP_Item_Number }; const AVP_Code c_AVP_Code_PCC_3GPP_Session_Release_Cause := { vendor_id_3GPP := avp_code_PCC_3GPP_Session_Release_Cause }; const AVP_Code c_AVP_Code_AAA_3GPP_MDT_User_Consent := { vendor_id_3GPP := avp_code_AAA_3GPP_MDT_User_Consent }; +const AVP_Code c_AVP_Code_DNAS_NONE_Login_LAT_Port := { + vendor_id_NONE := avp_code_DNAS_NONE_Login_LAT_Port }; const AVP_Code c_AVP_Code_S6_3GPP_HSS_Cause := { vendor_id_3GPP := avp_code_S6_3GPP_HSS_Cause }; +const AVP_Code c_AVP_Code_DCC_NONE_G_S_U_Pool_Reference := { + vendor_id_NONE := avp_code_DCC_NONE_G_S_U_Pool_Reference }; const AVP_Code c_AVP_Code_PCC_3GPP_PCSCF_Restoration_Indication := { vendor_id_3GPP := avp_code_PCC_3GPP_PCSCF_Restoration_Indication }; const AVP_Code c_AVP_Code_AAA_3GPP_Subscription_Data_Deletion := { @@ -6335,18 +8898,38 @@ vendor_id_NONE := avp_code_MIPv6_NONE_Chargable_User_Identity }; const AVP_Code c_AVP_Code_AAA_3GPP_Trace_Collection_Entity := { vendor_id_3GPP := avp_code_AAA_3GPP_Trace_Collection_Entity }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Feature_List_ID := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Feature_List_ID }; const AVP_Code c_AVP_Code_BASE_NONE_Redirect_Host := { vendor_id_NONE := avp_code_BASE_NONE_Redirect_Host }; const AVP_Code c_AVP_Code_AAA_3GPP_Network_Access_Mode := { vendor_id_3GPP := avp_code_AAA_3GPP_Network_Access_Mode }; +const AVP_Code c_AVP_Code_DNAS_NONE_ARAP_Zone_Access := { + vendor_id_NONE := avp_code_DNAS_NONE_ARAP_Zone_Access }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_Compression := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_Compression }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_Selection_Mode := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_Selection_Mode }; +const AVP_Code c_AVP_Code_DNAS_NONE_QoS_Filter_Rule := { + vendor_id_NONE := avp_code_DNAS_NONE_QoS_Filter_Rule }; const AVP_Code c_AVP_Code_AAA_3GPP_Complete_Data_List_Included_Indicator := { vendor_id_3GPP := avp_code_AAA_3GPP_Complete_Data_List_Included_Indicator }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_MN_AAA_SPI := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP_MN_AAA_SPI }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_SGSN_Address := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_SGSN_Address }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_MSA_Lifetime := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP_MSA_Lifetime }; +const AVP_Code c_AVP_Code_GI_3GPP_External_Identifier := { + vendor_id_3GPP := avp_code_GI_3GPP_External_Identifier }; const AVP_Code c_AVP_Code_S6_3GPP_Reachability_Type := { vendor_id_3GPP := avp_code_S6_3GPP_Reachability_Type }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Private_Group_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Private_Group_Id }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_Route := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_Route }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Request_Type := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Request_Type }; const AVP_Code c_AVP_Code_S6_3GPP_Type_Of_External_Identifier := { vendor_id_3GPP := avp_code_S6_3GPP_Type_Of_External_Identifier }; const AVP_Code c_AVP_Code_PCC_3GPP_Event_Report_Indication := { @@ -6355,18 +8938,28 @@ vendor_id_3GPP := avp_code_AAA_3GPP_MDT_Configuration }; const AVP_Code c_AVP_Code_PCC_3GPP_Usage_Monitoring_Report := { vendor_id_3GPP := avp_code_PCC_3GPP_Usage_Monitoring_Report }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Priviledged_Sender_Indication := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Priviledged_Sender_Indication }; const AVP_Code c_AVP_Code_AAA_3GPP_Adjacent_Access_Restriction_Data := { vendor_id_3GPP := avp_code_AAA_3GPP_Adjacent_Access_Restriction_Data }; const AVP_Code c_AVP_Code_AAA_3GPP_RAT_Frequency_Selection_Priority_ID := { vendor_id_3GPP := avp_code_AAA_3GPP_RAT_Frequency_Selection_Priority_ID }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Reason_Info := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Reason_Info }; const AVP_Code c_AVP_Code_AAA_3GPP_CLR_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_CLR_Flags }; const AVP_Code c_AVP_Code_PCC_3GPP_Default_EPS_Bearer_QoS := { vendor_id_3GPP := avp_code_PCC_3GPP_Default_EPS_Bearer_QoS }; const AVP_Code c_AVP_Code_AAA_3GPP_ULR_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_ULR_Flags }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Client_Auth_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Client_Auth_Id }; +const AVP_Code c_AVP_Code_DNAS_NONE_Calling_Station_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_Calling_Station_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_ICS_Indicator := { vendor_id_3GPP := avp_code_AAA_3GPP_ICS_Indicator }; +const AVP_Code c_AVP_Code_DCC_NONE_Currency_Code := { + vendor_id_NONE := avp_code_DCC_NONE_Currency_Code }; const AVP_Code c_AVP_Code_AAA_3GPP_Cancellation_Type := { vendor_id_3GPP := avp_code_AAA_3GPP_Cancellation_Type }; const AVP_Code c_AVP_Code_BASE_NONE_E2E_Sequence := { @@ -6375,8 +8968,14 @@ vendor_id_NONE := avp_code_BASE_NONE_Origin_Realm }; const AVP_Code c_AVP_Code_AAA_3GPP_PDN_Type := { vendor_id_3GPP := avp_code_AAA_3GPP_PDN_Type }; +const AVP_Code c_AVP_Code_DNAS_NONE_Prompt := { + vendor_id_NONE := avp_code_DNAS_NONE_Prompt }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_GGSN_IPv6_Address := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_GGSN_IPv6_Address }; const AVP_Code c_AVP_Code_RX_3GPP_Access_Network_Charging_Identifier := { vendor_id_3GPP := avp_code_RX_3GPP_Access_Network_Charging_Identifier }; +const AVP_Code c_AVP_Code_DCC_NONE_Redirect_Server := { + vendor_id_NONE := avp_code_DCC_NONE_Redirect_Server }; const AVP_Code c_AVP_Code_S6_3GPP_AESE_Communication_Pattern_Config_Status := { vendor_id_3GPP := avp_code_S6_3GPP_AESE_Communication_Pattern_Config_Status }; const AVP_Code c_AVP_Code_S6_3GPP_Enhanced_Coverage_Restriction_Data := { @@ -6393,6 +8992,8 @@ vendor_id_NONE := avp_code_BASE_NONE_Acct_Interim_Interval }; const AVP_Code c_AVP_Code_RX_3GPP_Media_Component_Number := { vendor_id_3GPP := avp_code_RX_3GPP_Media_Component_Number }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Path := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Path }; const AVP_Code c_AVP_Code_AAA_3GPP_Event_Threshold_Event_1F := { vendor_id_3GPP := avp_code_AAA_3GPP_Event_Threshold_Event_1F }; const AVP_Code c_AVP_Code_PCC_3GPP_Packet_Filter_Usage := { @@ -6401,18 +9002,30 @@ vendor_id_3GPP := avp_code_S6_3GPP_MONTE_Location_Type }; const AVP_Code c_AVP_Code_AAA_3GPP_RDS_Indicator := { vendor_id_3GPP := avp_code_AAA_3GPP_RDS_Indicator }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Optional_Capability := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Optional_Capability }; const AVP_Code c_AVP_Code_AAA_3GPP_Reporting_Trigger := { vendor_id_3GPP := avp_code_AAA_3GPP_Reporting_Trigger }; const AVP_Code c_AVP_Code_PCC_3GPP_Tunnel_Header_Length := { vendor_id_3GPP := avp_code_PCC_3GPP_Tunnel_Header_Length }; const AVP_Code c_AVP_Code_PCC_3GPP_Conditional_APN_Aggregate_Max_Bitrate := { vendor_id_3GPP := avp_code_PCC_3GPP_Conditional_APN_Aggregate_Max_Bitrate }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Secondary_Event_Charging_Function_Name := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Secondary_Event_Charging_Function_Name }; const AVP_Code c_AVP_Code_AAA_3GPP_Group_PLMN_Id := { vendor_id_3GPP := avp_code_AAA_3GPP_Group_PLMN_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_User_Id := { vendor_id_3GPP := avp_code_AAA_3GPP_User_Id }; +const AVP_Code c_AVP_Code_DNAS_NONE_Login_LAT_Node := { + vendor_id_NONE := avp_code_DNAS_NONE_Login_LAT_Node }; +const AVP_Code c_AVP_Code_DNAS_NONE_Originating_Line_Info := { + vendor_id_NONE := avp_code_DNAS_NONE_Originating_Line_Info }; +const AVP_Code c_AVP_Code_DCC_NONE_Exponent := { + vendor_id_NONE := avp_code_DCC_NONE_Exponent }; const AVP_Code c_AVP_Code_MIPv6_NONE_MIP_Authenticator := { vendor_id_NONE := avp_code_MIPv6_NONE_MIP_Authenticator }; +const AVP_Code c_AVP_Code_DNAS_NONE_Accounting_Input_Octets := { + vendor_id_NONE := avp_code_DNAS_NONE_Accounting_Input_Octets }; const AVP_Code c_AVP_Code_AAA_3GPP_Requested_UTRAN_GERAN_Authentication_Info := { vendor_id_3GPP := avp_code_AAA_3GPP_Requested_UTRAN_GERAN_Authentication_Info }; const AVP_Code c_AVP_Code_AAA_3GPP_EPS_User_State := { @@ -6423,6 +9036,8 @@ vendor_id_3GPP := avp_code_RX_3GPP_Retry_Interval }; const AVP_Code c_AVP_Code_BASE_NONE_Accounting_Session_Id := { vendor_id_NONE := avp_code_BASE_NONE_Accounting_Session_Id }; +const AVP_Code c_AVP_Code_DCC_NONE_Restriction_Filter_Rule := { + vendor_id_NONE := avp_code_DCC_NONE_Restriction_Filter_Rule }; const AVP_Code c_AVP_Code_PCC_3GPP_Packet_Filter_Identifier := { vendor_id_3GPP := avp_code_PCC_3GPP_Packet_Filter_Identifier }; const AVP_Code c_AVP_Code_S6_3GPP_SCEF_Reference_ID := { @@ -6439,28 +9054,46 @@ vendor_id_3GPP := avp_code_PCC_3GPP_Guaranteed_Bitrate_DL }; const AVP_Code c_AVP_Code_RX_3GPP_Extended_Max_Supported_BW_UL := { vendor_id_3GPP := avp_code_RX_3GPP_Extended_Max_Supported_BW_UL }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Total_Octets := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Total_Octets }; const AVP_Code c_AVP_Code_PCC_3GPP_UDP_Source_Port := { vendor_id_3GPP := avp_code_PCC_3GPP_UDP_Source_Port }; const AVP_Code c_AVP_Code_BASE_NONE_Accounting_Record_Type := { vendor_id_NONE := avp_code_BASE_NONE_Accounting_Record_Type }; +const AVP_Code c_AVP_Code_CxDx_3GPP_From_SIP_Header := { + vendor_id_3GPP := avp_code_CxDx_3GPP_From_SIP_Header }; const AVP_Code c_AVP_Code_AAA_3GPP_SIPTO_Local_Network_Permission := { vendor_id_3GPP := avp_code_AAA_3GPP_SIPTO_Local_Network_Permission }; const AVP_Code c_AVP_Code_PCC_3GPP_Routing_Rule_Definition := { vendor_id_3GPP := avp_code_PCC_3GPP_Routing_Rule_Definition }; +const AVP_Code c_AVP_Code_DCC_NONE_Value_Digits := { + vendor_id_NONE := avp_code_DCC_NONE_Value_Digits }; const AVP_Code c_AVP_Code_AAA_3GPP_VPLMN_Dynamic_Address_Allowed := { vendor_id_3GPP := avp_code_AAA_3GPP_VPLMN_Dynamic_Address_Allowed }; const AVP_Code c_AVP_Code_BASE_NONE_Acct_Application_Id := { vendor_id_NONE := avp_code_BASE_NONE_Acct_Application_Id }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SIP_Authenticate := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SIP_Authenticate }; const AVP_Code c_AVP_Code_AAA_3GPP_Service_Type := { vendor_id_3GPP := avp_code_AAA_3GPP_Service_Type }; const AVP_Code c_AVP_Code_AAA_3GPP_Immediate_Response_Preferred := { vendor_id_3GPP := avp_code_AAA_3GPP_Immediate_Response_Preferred }; +const AVP_Code c_AVP_Code_DNAS_NONE_Login_IPv6_Host := { + vendor_id_NONE := avp_code_DNAS_NONE_Login_IPv6_Host }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_Appletalk_Zone := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_Appletalk_Zone }; +const AVP_Code c_AVP_Code_DCC_NONE_Final_Unit_Indication := { + vendor_id_NONE := avp_code_DCC_NONE_Final_Unit_Indication }; const AVP_Code c_AVP_Code_AAA_3GPP_XRES := { vendor_id_3GPP := avp_code_AAA_3GPP_XRES }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_IMSI := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_IMSI }; const AVP_Code c_AVP_Code_AAA_3GPP_User_State := { vendor_id_3GPP := avp_code_AAA_3GPP_User_State }; const AVP_Code c_AVP_Code_BASE_NONE_Result_Code := { vendor_id_NONE := avp_code_BASE_NONE_Result_Code }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_IP_Address := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_IP_Address }; const AVP_Code c_AVP_Code_S6_3GPP_IP_SM_GW_Realm := { vendor_id_3GPP := avp_code_S6_3GPP_IP_SM_GW_Realm }; const AVP_Code c_AVP_Code_S6_3GPP_Reference_ID_Validity_Time := { @@ -6473,6 +9106,8 @@ vendor_id_3GPP := avp_code_RX_3GPP_Min_Desired_Bandwidth_DL }; const AVP_Code c_AVP_Code_S6_3GPP_Group_Reporting_Guard_Timer := { vendor_id_3GPP := avp_code_S6_3GPP_Group_Reporting_Guard_Timer }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Associated_Identities := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Associated_Identities }; const AVP_Code c_AVP_Code_BASE_NONE_Auth_Session_State := { vendor_id_NONE := avp_code_BASE_NONE_Auth_Session_State }; const AVP_Code c_AVP_Code_PCC_3GPP_Session_Linking_Indicator := { @@ -6487,10 +9122,14 @@ vendor_id_3GPP := avp_code_AAA_3GPP_LIPA_Permission }; const AVP_Code c_AVP_Code_PCC_3GPP_QoS_Negotiation := { vendor_id_3GPP := avp_code_PCC_3GPP_QoS_Negotiation }; +const AVP_Code c_AVP_Code_CxDx_3GPP_SIP_Auth_Data_Item := { + vendor_id_3GPP := avp_code_CxDx_3GPP_SIP_Auth_Data_Item }; const AVP_Code c_AVP_Code_AAA_3GPP_3GPP2_MEID := { vendor_id_3GPP := avp_code_AAA_3GPP_3GPP2_MEID }; const AVP_Code c_AVP_Code_AAA_3GPP_Subscription_Data := { vendor_id_3GPP := avp_code_AAA_3GPP_Subscription_Data }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Multiple_Registration_Indication := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Multiple_Registration_Indication }; const AVP_Code c_AVP_Code_BASE_NONE_Vendor_Specific_Application_Id := { vendor_id_NONE := avp_code_BASE_NONE_Vendor_Specific_Application_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_WLAN_offloadability_UTRAN := { @@ -6501,6 +9140,8 @@ vendor_id_NONE := avp_code_MIPv6_NONE_Service_Selection }; const AVP_Code c_AVP_Code_AAA_3GPP_TS_Code := { vendor_id_3GPP := avp_code_AAA_3GPP_TS_Code }; +const AVP_Code c_AVP_Code_DNAS_NONE_Tunnel_Client_Endpoint := { + vendor_id_NONE := avp_code_DNAS_NONE_Tunnel_Client_Endpoint }; const AVP_Code c_AVP_Code_S6_3GPP_IP_SM_GW_Number := { vendor_id_3GPP := avp_code_S6_3GPP_IP_SM_GW_Number }; const AVP_Code c_AVP_Code_PCC_3GPP_Charging_Rule_Install := { @@ -6509,6 +9150,8 @@ vendor_id_3GPP := avp_code_RX_3GPP_Rx_Request_Type }; const AVP_Code c_AVP_Code_S6_3GPP_NIDD_Authorization_Response := { vendor_id_3GPP := avp_code_S6_3GPP_NIDD_Authorization_Response }; +const AVP_Code c_AVP_Code_DCC_NONE_Subscription_Id := { + vendor_id_NONE := avp_code_DCC_NONE_Subscription_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_VPLMN_CSG_Subscription_Data := { vendor_id_3GPP := avp_code_AAA_3GPP_VPLMN_CSG_Subscription_Data }; const AVP_Code c_AVP_Code_PCC_3GPP_QoS_Rule_Remove := { @@ -6525,6 +9168,8 @@ vendor_id_3GPP := avp_code_RX_3GPP_Media_Component_Status }; const AVP_Code c_AVP_Code_AAA_3GPP_eDRX_Cycle_Length_Value := { vendor_id_3GPP := avp_code_AAA_3GPP_eDRX_Cycle_Length_Value }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Visited_Network_Identifier := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Visited_Network_Identifier }; const AVP_Code c_AVP_Code_S6_3GPP_RIR_Flags := { vendor_id_3GPP := avp_code_S6_3GPP_RIR_Flags }; const AVP_Code c_AVP_Code_AAA_3GPP_Collection_Period_RRM_LTE := { @@ -6535,12 +9180,22 @@ vendor_id_3GPP := avp_code_AAA_3GPP_Subscriber_Status }; const AVP_Code c_AVP_Code_PCC_3GPP_Extended_APN_AMBR_UL := { vendor_id_3GPP := avp_code_PCC_3GPP_Extended_APN_AMBR_UL }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Identity_with_Emergency_Registration := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Identity_with_Emergency_Registration }; +const AVP_Code c_AVP_Code_DCC_NONE_Tariff_Change_Usage := { + vendor_id_NONE := avp_code_DCC_NONE_Tariff_Change_Usage }; const AVP_Code c_AVP_Code_AAA_3GPP_LCS_PrivacyException := { vendor_id_3GPP := avp_code_AAA_3GPP_LCS_PrivacyException }; const AVP_Code c_AVP_Code_AAA_3GPP_QoS_Subscribed := { vendor_id_3GPP := avp_code_AAA_3GPP_QoS_Subscribed }; +const AVP_Code c_AVP_Code_DNAS_NONE_NAS_IP_Address := { + vendor_id_NONE := avp_code_DNAS_NONE_NAS_IP_Address }; const AVP_Code c_AVP_Code_RX_3GPP_RR_Bandwidth := { vendor_id_3GPP := avp_code_RX_3GPP_RR_Bandwidth }; +const AVP_Code c_AVP_Code_DCC_NONE_Service_Context_Id := { + vendor_id_NONE := avp_code_DCC_NONE_Service_Context_Id }; +const AVP_Code c_AVP_Code_DNAS_NONE_CHAP_Auth := { + vendor_id_NONE := avp_code_DNAS_NONE_CHAP_Auth }; const AVP_Code c_AVP_Code_PCC_3GPP_APN_Aggregate_Max_Bitrate_DL := { vendor_id_3GPP := avp_code_PCC_3GPP_APN_Aggregate_Max_Bitrate_DL }; const AVP_Code c_AVP_Code_S6_3GPP_SCS_Identity := { @@ -6561,32 +9216,52 @@ vendor_id_3GPP := avp_code_PCC_3GPP_TDF_IP_Address }; const AVP_Code c_AVP_Code_S6_3GPP_Enhanced_Coverage_Restriction := { vendor_id_3GPP := avp_code_S6_3GPP_Enhanced_Coverage_Restriction }; +const AVP_Code c_AVP_Code_CxDx_3GPP_User_Data_Already_Available := { + vendor_id_3GPP := avp_code_CxDx_3GPP_User_Data_Already_Available }; const AVP_Code c_AVP_Code_AAA_3GPP_MME_Number_for_MT_SMS := { vendor_id_3GPP := avp_code_AAA_3GPP_MME_Number_for_MT_SMS }; const AVP_Code c_AVP_Code_PCC_3GPP_Security_Parameter_Index := { vendor_id_3GPP := avp_code_PCC_3GPP_Security_Parameter_Index }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Correlation_Id := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Correlation_Id }; const AVP_Code c_AVP_Code_PCC_3GPP_Traffic_Steering_Policy_Identifier_UL := { vendor_id_3GPP := avp_code_PCC_3GPP_Traffic_Steering_Policy_Identifier_UL }; const AVP_Code c_AVP_Code_BASE_NONE_Route_Record := { vendor_id_NONE := avp_code_BASE_NONE_Route_Record }; const AVP_Code c_AVP_Code_AAA_3GPP_Carrier_Frequency := { vendor_id_3GPP := avp_code_AAA_3GPP_Carrier_Frequency }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Mandatory_Capability := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Mandatory_Capability }; const AVP_Code c_AVP_Code_AAA_3GPP_Trace_NE_Type_List := { vendor_id_3GPP := avp_code_AAA_3GPP_Trace_NE_Type_List }; +const AVP_Code c_AVP_Code_DNAS_NONE_Port_Limit := { + vendor_id_NONE := avp_code_DNAS_NONE_Port_Limit }; +const AVP_Code c_AVP_Code_DCC_NONE_Multiple_Services_Credit_Control := { + vendor_id_NONE := avp_code_DCC_NONE_Multiple_Services_Credit_Control }; const AVP_Code c_AVP_Code_AAA_3GPP_All_APN_Configurations_Included_Indicator := { vendor_id_3GPP := avp_code_AAA_3GPP_All_APN_Configurations_Included_Indicator }; const AVP_Code c_AVP_Code_AAA_3GPP_NOR_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_NOR_Flags }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_MS_TimeZone := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_MS_TimeZone }; const AVP_Code c_AVP_Code_AAA_3GPP_External_Client := { vendor_id_3GPP := avp_code_AAA_3GPP_External_Client }; const AVP_Code c_AVP_Code_BASE_NONE_Authorization_Lifetime := { vendor_id_NONE := avp_code_BASE_NONE_Authorization_Lifetime }; +const AVP_Code c_AVP_Code_DNAS_NONE_ARAP_Features := { + vendor_id_NONE := avp_code_DNAS_NONE_ARAP_Features }; +const AVP_Code c_AVP_Code_DNAS_NONE_Framed_MTU := { + vendor_id_NONE := avp_code_DNAS_NONE_Framed_MTU }; const AVP_Code c_AVP_Code_RX_3GPP_Extended_Min_Requested_BW_DL := { vendor_id_3GPP := avp_code_RX_3GPP_Extended_Min_Requested_BW_DL }; +const AVP_Code c_AVP_Code_DNAS_NONE_Accounting_Auth_Method := { + vendor_id_NONE := avp_code_DNAS_NONE_Accounting_Auth_Method }; const AVP_Code c_AVP_Code_RX_3GPP_Service_URN := { vendor_id_3GPP := avp_code_RX_3GPP_Service_URN }; const AVP_Code c_AVP_Code_S6_3GPP_Supported_Services := { vendor_id_3GPP := avp_code_S6_3GPP_Supported_Services }; +const AVP_Code c_AVP_Code_DNAS_NONE_Accounting_Output_Packets := { + vendor_id_NONE := avp_code_DNAS_NONE_Accounting_Output_Packets }; const AVP_Code c_AVP_Code_AAA_3GPP_Relay_Node_Indicator := { vendor_id_3GPP := avp_code_AAA_3GPP_Relay_Node_Indicator }; const AVP_Code c_AVP_Code_PCC_3GPP_Rule_DeActivation_Time := { @@ -6603,20 +9278,40 @@ vendor_id_3GPP := avp_code_AAA_3GPP_SCEF_Realm }; const AVP_Code c_AVP_Code_S6_3GPP_Requested_Validity_Time := { vendor_id_3GPP := avp_code_S6_3GPP_Requested_Validity_Time }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Request_Number := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Request_Number }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Supported_Features := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Supported_Features }; const AVP_Code c_AVP_Code_AAA_3GPP_Local_Time_Zone := { vendor_id_3GPP := avp_code_AAA_3GPP_Local_Time_Zone }; const AVP_Code c_AVP_Code_AAA_3GPP_GERAN_Vector := { vendor_id_3GPP := avp_code_AAA_3GPP_GERAN_Vector }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Call_ID_SIP_Header := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Call_ID_SIP_Header }; const AVP_Code c_AVP_Code_AAA_3GPP_EPS_Subscribed_QoS_Profile := { vendor_id_3GPP := avp_code_AAA_3GPP_EPS_Subscribed_QoS_Profile }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_Session_Stop_Indicator := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_Session_Stop_Indicator }; const AVP_Code c_AVP_Code_AAA_3GPP_GPRS_Subscription_Data := { vendor_id_3GPP := avp_code_AAA_3GPP_GPRS_Subscription_Data }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_GPRS_Negotiated_QoS_Profile := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_GPRS_Negotiated_QoS_Profile }; +const AVP_Code c_AVP_Code_DNAS_NONE_Called_Station_Id := { + vendor_id_NONE := avp_code_DNAS_NONE_Called_Station_Id }; +const AVP_Code c_AVP_Code_DCC_NONE_Cost_Unit := { + vendor_id_NONE := avp_code_DCC_NONE_Cost_Unit }; const AVP_Code c_AVP_Code_BASE_NONE_Accounting_Realtime_Required := { vendor_id_NONE := avp_code_BASE_NONE_Accounting_Realtime_Required }; const AVP_Code c_AVP_Code_BASE_NONE_Termination_Cause := { vendor_id_NONE := avp_code_BASE_NONE_Termination_Cause }; +const AVP_Code c_AVP_Code_GI_3GPP_3GPP_Allocate_IP_Type := { + vendor_id_3GPP := avp_code_GI_3GPP_3GPP_Allocate_IP_Type }; const AVP_Code c_AVP_Code_RX_3GPP_Specific_Action := { vendor_id_3GPP := avp_code_RX_3GPP_Specific_Action }; +const AVP_Code c_AVP_Code_DNAS_NONE_Login_TCP_Port := { + vendor_id_NONE := avp_code_DNAS_NONE_Login_TCP_Port }; +const AVP_Code c_AVP_Code_DNAS_NONE_Password_Retry := { + vendor_id_NONE := avp_code_DNAS_NONE_Password_Retry }; const AVP_Code c_AVP_Code_S6_3GPP_Maximum_Detection_Time := { vendor_id_3GPP := avp_code_S6_3GPP_Maximum_Detection_Time }; const AVP_Code c_AVP_Code_AAA_3GPP_Ext_PDP_Address := { @@ -6631,14 +9326,22 @@ vendor_id_3GPP := avp_code_S6_3GPP_Service_Result_Code }; const AVP_Code c_AVP_Code_AAA_3GPP_SGSN_Location_Information := { vendor_id_3GPP := avp_code_AAA_3GPP_SGSN_Location_Information }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Reason_Code := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Reason_Code }; const AVP_Code c_AVP_Code_PCC_3GPP_Pre_emption_Vulnerability := { vendor_id_3GPP := avp_code_PCC_3GPP_Pre_emption_Vulnerability }; const AVP_Code c_AVP_Code_AAA_3GPP_Equivalent_PLMN_List := { vendor_id_3GPP := avp_code_AAA_3GPP_Equivalent_PLMN_List }; const AVP_Code c_AVP_Code_PCC_3GPP_Default_Access := { vendor_id_3GPP := avp_code_PCC_3GPP_Default_Access }; +const AVP_Code c_AVP_Code_CxDx_3GPP_Supported_Applications := { + vendor_id_3GPP := avp_code_CxDx_3GPP_Supported_Applications }; +const AVP_Code c_AVP_Code_DNAS_NONE_ARAP_Challenge_Response := { + vendor_id_NONE := avp_code_DNAS_NONE_ARAP_Challenge_Response }; const AVP_Code c_AVP_Code_BASE_NONE_Class := { vendor_id_NONE := avp_code_BASE_NONE_Class }; +const AVP_Code c_AVP_Code_DCC_NONE_CC_Sub_Session_Id := { + vendor_id_NONE := avp_code_DCC_NONE_CC_Sub_Session_Id }; const AVP_Code c_AVP_Code_AAA_3GPP_IDR_Flags := { vendor_id_3GPP := avp_code_AAA_3GPP_IDR_Flags }; const AVP_Code c_AVP_Code_AAA_3GPP_V2X_Subscription_Data := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17947 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: Ibe7321e695337ff62fdc912270f6e13e6c6d6cf2 Gerrit-Change-Number: 17947 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 Sun Apr 26 20:15:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 20:15:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: DIAMETER_Emulation: Add support for IMSI in Subscription-Id In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17948 ) Change subject: DIAMETER_Emulation: Add support for IMSI in Subscription-Id ...................................................................... DIAMETER_Emulation: Add support for IMSI in Subscription-Id Ths IMSI on the Gx interface is encoded into a different AVP than on the S6a/S6d interfaces. Let's make sure our DIAMETER_Emulation knows both formats. Change-Id: I299fcc2e01e908914df32fda4fb93b1114402c77 --- M library/DIAMETER_Emulation.ttcn M library/DIAMETER_Templates.ttcn 2 files changed, 19 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/DIAMETER_Emulation.ttcn b/library/DIAMETER_Emulation.ttcn index fad44c3..6dd44b3 100644 --- a/library/DIAMETER_Emulation.ttcn +++ b/library/DIAMETER_Emulation.ttcn @@ -216,7 +216,16 @@ imsi_avp := f_DIAMETER_get_avp(pdu, c_AVP_Code_BASE_NONE_User_Name); if (istemplatekind(imsi_avp, "omit")) { - return omit; + var template (omit) AVP sid_avp; + sid_avp := f_DIAMETER_get_avp(pdu, c_AVP_Code_DCC_NONE_Subscription_Id); + if (istemplatekind(sid_avp, "omit")) { + return omit; + } + var AVP_Grouped grp := valueof(sid_avp.avp_data.avp_DCC_NONE_Subscription_Id); + if (not match(grp[0], tr_SubcrIdType(END_USER_IMSI))) { + return omit; + } + return str2hex(oct2char(grp[1].avp.avp_data.avp_DCC_NONE_Subscription_Id_Data)); } else { var octetstring imsi_oct := valueof(imsi_avp.avp_data.avp_BASE_NONE_User_Name); return str2hex(oct2char(imsi_oct)); diff --git a/library/DIAMETER_Templates.ttcn b/library/DIAMETER_Templates.ttcn index 533ede2..11746eb 100644 --- a/library/DIAMETER_Templates.ttcn +++ b/library/DIAMETER_Templates.ttcn @@ -101,6 +101,7 @@ }; /* 3GPP TS 29.272 Section 7.1.8 */ +const uint32_t c_DIAMETER_3GPP_Gx_AID := 16777238; const uint32_t c_DIAMETER_3GPP_S6_AID := 16777251; const uint32_t c_DIAMETER_3GPP_S13_AID := 16777252; const uint32_t c_DIAMETER_3GPP_S7_AID := 16777308; @@ -190,6 +191,14 @@ vendor_id := vendor_id_3GPP } +template (present) GenericAVP tr_SubcrIdType(template (present) DCC_NONE_Subscription_Id_Type t) := { + avp := { + avp_header := tr_DIA_Hdr(c_AVP_Code_DCC_NONE_Subscription_Id_Type), + avp_data := { + avp_DCC_NONE_Subscription_Id_Type := t + } + } +} template (value) GenericAVP ts_AVP_OriginHost(template (value) charstring host) := { avp := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17948 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: I299fcc2e01e908914df32fda4fb93b1114402c77 Gerrit-Change-Number: 17948 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 Sun Apr 26 20:15:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 20:15:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: DIAMETER: parametrize CEA template In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17949 ) Change subject: DIAMETER: parametrize CEA template ...................................................................... DIAMETER: parametrize CEA template So far, we hard-coded the Capabilities-Exchange-Answer for HSS emulation. As we want to emulate other DIAMETER network elements, let's parametrize the template as well as the respective parameters for the emulation component. Change-Id: Ie30ff1bac40ab3dc6058587f0586b643ff2b0cb6 --- M library/DIAMETER_Emulation.ttcn M library/DIAMETER_Templates.ttcn M mme/MME_Tests.ttcn 3 files changed, 18 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/DIAMETER_Emulation.ttcn b/library/DIAMETER_Emulation.ttcn index 6dd44b3..cff4d63 100644 --- a/library/DIAMETER_Emulation.ttcn +++ b/library/DIAMETER_Emulation.ttcn @@ -33,6 +33,7 @@ import from DIAMETER_Templates all; import from Osmocom_Types all; import from IPL4asp_Types all; +import from Native_Functions all; type hexstring IMSI; @@ -94,7 +95,10 @@ HostName remote_ip, PortNumber remote_sctp_port, HostName local_ip, - PortNumber local_sctp_port + PortNumber local_sctp_port, + charstring origin_host, + charstring origin_realm, + uint32_t vendor_app_id } function tr_DIAMETER_RecvFrom_R(template PDU_DIAMETER msg) @@ -312,7 +316,8 @@ /* handle CER/CEA handshake */ [] DIAMETER.receive(tr_DIAMETER_RecvFrom_R(tr_DIAMETER_R(cmd_code := Capabilities_Exchange))) -> value mrf { var template (value) PDU_DIAMETER resp; - resp := ts_DIA_CEA(mrf.msg.hop_by_hop_id, mrf.msg.end_to_end_id); + resp := ts_DIA_CEA(mrf.msg.hop_by_hop_id, mrf.msg.end_to_end_id, p.origin_host, + p.origin_realm, f_inet_addr(p.local_ip), p.vendor_app_id); DIAMETER.send(t_DIAMETER_Send(g_diameter_conn_id, resp)); } diff --git a/library/DIAMETER_Templates.ttcn b/library/DIAMETER_Templates.ttcn index 11746eb..450e013 100644 --- a/library/DIAMETER_Templates.ttcn +++ b/library/DIAMETER_Templates.ttcn @@ -783,13 +783,15 @@ /* 5.3.2 Capabilities Exchange Answer */ template (value) PDU_DIAMETER -ts_DIA_CEA(template (value) UINT32 hbh_id, template (value) UINT32 ete_id) +ts_DIA_CEA(template (value) UINT32 hbh_id, template (value) UINT32 ete_id, + template (value) charstring origin_host, template (value) charstring origin_realm, + template (value) octetstring host_ip, uint32_t vendor_app_id) := ts_DIAMETER(flags:='00000000'B, cmd_code:=Capabilities_Exchange, hbh_id:=hbh_id, ete_id:=ete_id, avps := { ts_AVP_ResultCode(DIAMETER_SUCCESS), - ts_AVP_OriginHost("hss.localdomain"), - ts_AVP_OriginRealm("localdomain"), - ts_AVP_HostIpAddr('7E000004'O), + ts_AVP_OriginHost(origin_host), + ts_AVP_OriginRealm(origin_realm), + ts_AVP_HostIpAddr(host_ip), ts_AVP_VendorId(vendor_id_3GPP), ts_AVP_ProductName("TTCN-3 Testsuite"), ts_AVP_OriginStateId('00000001'O), @@ -798,7 +800,7 @@ ts_AVP_SuppVendorIdRaw(13019), /* ETSI */ ts_AVP_AuthAppId('FFFFFFFF'O), ts_AVP_InbSecId('00000000'O), - ts_AVP_VendorSpecAppId(vendor_id_3GPP, c_DIAMETER_3GPP_S6_AID) + ts_AVP_VendorSpecAppId(vendor_id_3GPP, vendor_app_id) }); diff --git a/mme/MME_Tests.ttcn b/mme/MME_Tests.ttcn index da45485..0516809 100644 --- a/mme/MME_Tests.ttcn +++ b/mme/MME_Tests.ttcn @@ -219,7 +219,10 @@ remote_ip := mp_mme_ip, remote_sctp_port := -1, local_ip := mp_s6_local_ip, - local_sctp_port := mp_s6_local_port + local_sctp_port := mp_s6_local_port, + origin_host := "hss.localdomain", + origin_realm := "localdomain", + vendor_app_id := c_DIAMETER_3GPP_S6_AID }; vc_DIAMETER := DIAMETER_Emulation_CT.create(id); map(vc_DIAMETER:DIAMETER, system:DIAMETER_CODEC_PT); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17949 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: Ie30ff1bac40ab3dc6058587f0586b643ff2b0cb6 Gerrit-Change-Number: 17949 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 Sun Apr 26 20:15:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 20:15:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: DIAMETER_Emulation: Notify user of CapabilityExchange In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17951 ) Change subject: DIAMETER_Emulation: Notify user of CapabilityExchange ...................................................................... DIAMETER_Emulation: Notify user of CapabilityExchange During start of the test case, we must wait until the IUT has established a DIAMETER/SCTP connection to the testsuite. Implement this by means of a message on the DIAMETER_UNIT port and an associated helper function. Change-Id: I95434307efc67025ee6d373561f6d22398f959c5 --- M library/DIAMETER_Emulation.ttcn M mme/MME_Tests.ttcn 2 files changed, 30 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/DIAMETER_Emulation.ttcn b/library/DIAMETER_Emulation.ttcn index cff4d63..f7a0f88 100644 --- a/library/DIAMETER_Emulation.ttcn +++ b/library/DIAMETER_Emulation.ttcn @@ -37,6 +37,12 @@ type hexstring IMSI; +/* notify the recipient that a Capability Exchange happened */ +type record DiameterCapabilityExchgInd { + PDU_DIAMETER rx, + PDU_DIAMETER tx +}; + type component DIAMETER_ConnHdlr { port DIAMETER_Conn_PT DIAMETER; /* procedure based port to register for incoming connections */ @@ -50,7 +56,7 @@ /* global test port e.g. for non-imsi/conn specific messages */ type port DIAMETER_PT message { - inout PDU_DIAMETER; + inout PDU_DIAMETER, DiameterCapabilityExchgInd; } with { extension "internal" }; @@ -319,6 +325,8 @@ resp := ts_DIA_CEA(mrf.msg.hop_by_hop_id, mrf.msg.end_to_end_id, p.origin_host, p.origin_realm, f_inet_addr(p.local_ip), p.vendor_app_id); DIAMETER.send(t_DIAMETER_Send(g_diameter_conn_id, resp)); + /* notify our user that the CER->CEA exchange has happened */ + DIAMETER_UNIT.send(DiameterCapabilityExchgInd:{rx:=mrf.msg, tx:=valueof(resp)}); } /* DIAMETER from remote peer */ @@ -434,4 +442,23 @@ } +function f_diameter_wait_capability(DIAMETER_PT pt) +{ + /* Wait for the Capability Exchange with the DUT */ + timer T := 10.0; + T.start; + alt { + [] pt.receive(DiameterCapabilityExchgInd:?) {} + [] pt.receive { + setverdict(fail, "Unexpected receive waiting for DiameterCapabilityExchgInd"); + mtc.stop; + } + [] T.timeout { + setverdict(fail, "Timeout waiting for DiameterCapabilityExchgInd"); + mtc.stop; + } + } +} + + } diff --git a/mme/MME_Tests.ttcn b/mme/MME_Tests.ttcn index 0516809..f9bcf6d 100644 --- a/mme/MME_Tests.ttcn +++ b/mme/MME_Tests.ttcn @@ -229,6 +229,8 @@ connect(vc_DIAMETER:DIAMETER_UNIT, self:DIAMETER_UNIT); connect(vc_DIAMETER:DIAMETER_PROC, self:DIAMETER_PROC); vc_DIAMETER.start(DIAMETER_Emulation.main(ops, pars, id)); + + f_diameter_wait_capability(DIAMETER_UNIT); } friend template (value) TAI ts_enb_S1AP_TAI(EnbParams enb) := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17951 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: I95434307efc67025ee6d373561f6d22398f959c5 Gerrit-Change-Number: 17951 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 Apr 26 20:15:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 20:15:31 +0000 Subject: Change in osmo-bts[master]: osmo-bts-{sysmo, oc2g, lc15}: fix segfault on 'dsp-trace-flag' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17946 ) Change subject: osmo-bts-{sysmo,oc2g,lc15}: fix segfault on 'dsp-trace-flag' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17946 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I23137930f81bfa8adbb62828f341470c11202b5e Gerrit-Change-Number: 17946 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 26 Apr 2020 20:15: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 Sun Apr 26 20:15:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 20:15:35 +0000 Subject: Change in osmo-bts[master]: osmo-bts-{sysmo, oc2g, lc15}: fix segfault on 'dsp-trace-flag' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17946 ) Change subject: osmo-bts-{sysmo,oc2g,lc15}: fix segfault on 'dsp-trace-flag' ...................................................................... osmo-bts-{sysmo,oc2g,lc15}: fix segfault on 'dsp-trace-flag' == How to reproduce? phy 0 instance 0 dsp-trace-flag error dsp-trace-flag debug == What happens? Program received signal SIGSEGV, Segmentation fault. 0x432dbe64 in strcasecmp () from /lib/libc.so.6 (gdb) (gdb) bt #00x432dbe64 in strcasecmp () from /lib/libc.so.6 #10xb6ed69ec in get_string_value () from /usr/lib/libosmocore.so.12 #20x0001bcf0 in cfg_phy_dsp_trace_f () #30xb6fc1080 in ?? () from /usr/lib/libosmovty.so.4 Backtrace stopped: previous frame identical to this frame (corrupt stack?) Change-Id: I23137930f81bfa8adbb62828f341470c11202b5e --- M src/osmo-bts-litecell15/lc15bts_vty.c M src/osmo-bts-oc2g/oc2gbts_vty.c M src/osmo-bts-sysmo/sysmobts_vty.c 3 files changed, 6 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bts-litecell15/lc15bts_vty.c b/src/osmo-bts-litecell15/lc15bts_vty.c index 944cfd5..3643a92 100644 --- a/src/osmo-bts-litecell15/lc15bts_vty.c +++ b/src/osmo-bts-litecell15/lc15bts_vty.c @@ -120,7 +120,7 @@ struct phy_instance *pinst = vty->index; unsigned int flag; - flag = get_string_value(lc15bts_tracef_names, argv[1]); + flag = get_string_value(lc15bts_tracef_names, argv[0]); pinst->u.lc15.dsp_trace_f |= flag; return CMD_SUCCESS; @@ -132,7 +132,7 @@ struct phy_instance *pinst = vty->index; unsigned int flag; - flag = get_string_value(lc15bts_tracef_names, argv[1]); + flag = get_string_value(lc15bts_tracef_names, argv[0]); pinst->u.lc15.dsp_trace_f &= ~flag; return CMD_SUCCESS; diff --git a/src/osmo-bts-oc2g/oc2gbts_vty.c b/src/osmo-bts-oc2g/oc2gbts_vty.c index 1f092dd..ecbd797 100644 --- a/src/osmo-bts-oc2g/oc2gbts_vty.c +++ b/src/osmo-bts-oc2g/oc2gbts_vty.c @@ -113,7 +113,7 @@ struct phy_instance *pinst = vty->index; unsigned int flag; - flag = get_string_value(oc2gbts_tracef_names, argv[1]); + flag = get_string_value(oc2gbts_tracef_names, argv[0]); pinst->u.oc2g.dsp_trace_f |= flag; return CMD_SUCCESS; @@ -125,7 +125,7 @@ struct phy_instance *pinst = vty->index; unsigned int flag; - flag = get_string_value(oc2gbts_tracef_names, argv[1]); + flag = get_string_value(oc2gbts_tracef_names, argv[0]); pinst->u.oc2g.dsp_trace_f &= ~flag; return CMD_SUCCESS; diff --git a/src/osmo-bts-sysmo/sysmobts_vty.c b/src/osmo-bts-sysmo/sysmobts_vty.c index 3199c8e..23f69a0 100644 --- a/src/osmo-bts-sysmo/sysmobts_vty.c +++ b/src/osmo-bts-sysmo/sysmobts_vty.c @@ -178,7 +178,7 @@ struct phy_instance *pinst = vty->index; unsigned int flag; - flag = get_string_value(femtobts_tracef_names, argv[1]); + flag = get_string_value(femtobts_tracef_names, argv[0]); pinst->u.sysmobts.dsp_trace_f |= flag; return CMD_SUCCESS; @@ -190,7 +190,7 @@ struct phy_instance *pinst = vty->index; unsigned int flag; - flag = get_string_value(femtobts_tracef_names, argv[1]); + flag = get_string_value(femtobts_tracef_names, argv[0]); pinst->u.sysmobts.dsp_trace_f &= ~flag; return CMD_SUCCESS; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17946 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I23137930f81bfa8adbb62828f341470c11202b5e Gerrit-Change-Number: 17946 Gerrit-PatchSet: 1 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 Apr 26 20:42:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 20:42:35 +0000 Subject: Change in osmo-uecups[master]: daemon: Add VTY command to configure local bind IP of UECUPS socket References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17952 ) Change subject: daemon: Add VTY command to configure local bind IP of UECUPS socket ...................................................................... daemon: Add VTY command to configure local bind IP of UECUPS socket Change-Id: Iabe37ce5c77fddcc146fca3b81660822071d1925 --- M daemon/daemon_vty.c 1 file changed, 37 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/52/17952/1 diff --git a/daemon/daemon_vty.c b/daemon/daemon_vty.c index c84c727..ec1ddda 100644 --- a/daemon/daemon_vty.c +++ b/daemon/daemon_vty.c @@ -260,6 +260,39 @@ return CMD_SUCCESS; } +#define UECUPS_NODE (_LAST_OSMOVTY_NODE+1) + +static struct cmd_node uecups_node = { + UECUPS_NODE, + "%(config-uecups)# ", + 1, +}; + +static int config_write_uecups(struct vty *vty) +{ + vty_out(vty, "uecups%s", VTY_NEWLINE); + vty_out(vty, " local-ip %s%s", g_daemon->cfg.cups_local_ip, VTY_NEWLINE); + + return CMD_SUCCESS; +} + +DEFUN(cfg_uecups, cfg_uecups_cmd, + "uecups", + "Configure the UE Control/User Plane Socket\n") +{ + vty->node = UECUPS_NODE; + return CMD_SUCCESS; +} + +DEFUN(cfg_uecups_local_ip, cfg_uecups_local_ip_cmd, + "local-ip A.B.C.D", + "Set the IP address to which we bind locally\n" + "IP Address\n") +{ + osmo_talloc_replace_string(g_daemon, &g_daemon->cfg.cups_local_ip, argv[0]); + return CMD_SUCCESS; +} + int gtpud_vty_init(void) { @@ -273,6 +306,10 @@ install_element_ve(&show_tunnel_cmd); + install_element(CONFIG_NODE, &cfg_uecups_cmd); + install_node(&uecups_node, config_write_uecups); + install_element(UECUPS_NODE, &cfg_uecups_local_ip_cmd); + return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17952 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Iabe37ce5c77fddcc146fca3b81660822071d1925 Gerrit-Change-Number: 17952 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 Apr 26 20:44:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 20:44:33 +0000 Subject: Change in osmo-uecups[master]: daemon: Add VTY command to configure local bind IP of UECUPS socket 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-uecups/+/17952 to look at the new patch set (#2). Change subject: daemon: Add VTY command to configure local bind IP of UECUPS socket ...................................................................... daemon: Add VTY command to configure local bind IP of UECUPS socket Change-Id: Iabe37ce5c77fddcc146fca3b81660822071d1925 --- M daemon/daemon_vty.c 1 file changed, 37 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/52/17952/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17952 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Iabe37ce5c77fddcc146fca3b81660822071d1925 Gerrit-Change-Number: 17952 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 Apr 26 20:44:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 20:44:57 +0000 Subject: Change in osmo-uecups[master]: daemon: Add VTY command to configure local bind IP of UECUPS socket In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17952 ) Change subject: daemon: Add VTY command to configure local bind IP of UECUPS socket ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17952 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Iabe37ce5c77fddcc146fca3b81660822071d1925 Gerrit-Change-Number: 17952 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 26 Apr 2020 20:44: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 Apr 26 20:44:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 20:44:59 +0000 Subject: Change in osmo-uecups[master]: daemon: Add VTY command to configure local bind IP of UECUPS socket In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17952 ) Change subject: daemon: Add VTY command to configure local bind IP of UECUPS socket ...................................................................... daemon: Add VTY command to configure local bind IP of UECUPS socket Change-Id: Iabe37ce5c77fddcc146fca3b81660822071d1925 --- M daemon/daemon_vty.c 1 file changed, 37 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/daemon/daemon_vty.c b/daemon/daemon_vty.c index c84c727..3c44ed1 100644 --- a/daemon/daemon_vty.c +++ b/daemon/daemon_vty.c @@ -260,6 +260,39 @@ return CMD_SUCCESS; } +#define UECUPS_NODE (_LAST_OSMOVTY_NODE+1) + +static struct cmd_node uecups_node = { + UECUPS_NODE, + "%s(config-uecups)# ", + 1, +}; + +static int config_write_uecups(struct vty *vty) +{ + vty_out(vty, "uecups%s", VTY_NEWLINE); + vty_out(vty, " local-ip %s%s", g_daemon->cfg.cups_local_ip, VTY_NEWLINE); + + return CMD_SUCCESS; +} + +DEFUN(cfg_uecups, cfg_uecups_cmd, + "uecups", + "Configure the UE Control/User Plane Socket\n") +{ + vty->node = UECUPS_NODE; + return CMD_SUCCESS; +} + +DEFUN(cfg_uecups_local_ip, cfg_uecups_local_ip_cmd, + "local-ip A.B.C.D", + "Set the IP address to which we bind locally\n" + "IP Address\n") +{ + osmo_talloc_replace_string(g_daemon, &g_daemon->cfg.cups_local_ip, argv[0]); + return CMD_SUCCESS; +} + int gtpud_vty_init(void) { @@ -273,6 +306,10 @@ install_element_ve(&show_tunnel_cmd); + install_element(CONFIG_NODE, &cfg_uecups_cmd); + install_node(&uecups_node, config_write_uecups); + install_element(UECUPS_NODE, &cfg_uecups_local_ip_cmd); + return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17952 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-uecups Gerrit-Branch: master Gerrit-Change-Id: Iabe37ce5c77fddcc146fca3b81660822071d1925 Gerrit-Change-Number: 17952 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 Sun Apr 26 21:15:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 21:15:18 +0000 Subject: Change in docker-playground[master]: add osmo-uecups-master container In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/17944 ) Change subject: add osmo-uecups-master container ...................................................................... add osmo-uecups-master container Change-Id: Iafcf9639f7e44f19220a9d0f375444b168a6a392 --- A osmo-uecups-master/.release A osmo-uecups-master/Dockerfile A osmo-uecups-master/Makefile A osmo-uecups-master/Release.key A osmo-uecups-master/osmo-uecups-daemon.cfg 5 files changed, 72 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/44/17944/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17944 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iafcf9639f7e44f19220a9d0f375444b168a6a392 Gerrit-Change-Number: 17944 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 Apr 26 21:15:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 26 Apr 2020 21:15:18 +0000 Subject: Change in docker-playground[master]: WIP: Add ttcn3-pgw-test References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17953 ) Change subject: WIP: Add ttcn3-pgw-test ...................................................................... WIP: Add ttcn3-pgw-test Change-Id: I69e2f5be8204cc4fd0cc0f4eb019ef1104121b60 --- A ttcn3-pgw-test/Dockerfile A ttcn3-pgw-test/Makefile A ttcn3-pgw-test/PGW_Tests.cfg A ttcn3-pgw-test/freediameter-pgw.conf A ttcn3-pgw-test/jenkins.sh A ttcn3-pgw-test/osmo-uecups-daemon.cfg A ttcn3-pgw-test/pgw.yaml 7 files changed, 418 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/53/17953/1 diff --git a/ttcn3-pgw-test/Dockerfile b/ttcn3-pgw-test/Dockerfile new file mode 100644 index 0000000..5878f3b --- /dev/null +++ b/ttcn3-pgw-test/Dockerfile @@ -0,0 +1,31 @@ +ARG USER +FROM $USER/debian-stretch-titan + +RUN git clone git://git.osmocom.org/osmo-ttcn3-hacks.git + +RUN cd osmo-ttcn3-hacks && \ + git checkout -f -B master origin/master && \ + make deps + +ARG OSMO_TTCN3_BRANCH="master" + +ADD http://git.osmocom.org/osmo-ttcn3-hacks/patch?h=$OSMO_TTCN3_BRANCH /tmp/commit +RUN cd osmo-ttcn3-hacks && \ + git fetch && \ + git checkout $OSMO_TTCN3_BRANCH && \ + (git symbolic-ref -q HEAD && git reset --hard origin/$OSMO_TTCN3_BRANCH || exit 1); \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ + make pgw + +VOLUME /data + +RUN ln -s /osmo-ttcn3-hacks/ttcn3-tcpdump-start.sh / && \ + ln -s /osmo-ttcn3-hacks/ttcn3-tcpdump-stop.sh / + +COPY PGW_Tests.cfg /data/PGW_Tests.cfg + +CMD cd /data && \ + /osmo-ttcn3-hacks/start-testsuite.sh /osmo-ttcn3-hacks/pgw/PGW_Tests; \ + exit_code=$?; \ + /osmo-ttcn3-hacks/log_merge.sh PGW_Tests --rm; \ + exit $exit_code diff --git a/ttcn3-pgw-test/Makefile b/ttcn3-pgw-test/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/ttcn3-pgw-test/Makefile @@ -0,0 +1 @@ +include ../make/Makefile diff --git a/ttcn3-pgw-test/PGW_Tests.cfg b/ttcn3-pgw-test/PGW_Tests.cfg new file mode 100644 index 0000000..be84fce --- /dev/null +++ b/ttcn3-pgw-test/PGW_Tests.cfg @@ -0,0 +1,24 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/pgw/PGW_Tests.default" + +# Local configuration below + +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] +PGW_Tests.mp_pgw_hostname := "172.18.18.10" +PGW_Tests.mp_local_hostname_c := "172.18.18.202" +PGW_Tests.mp_local_hostname_u := "172.18.18.20" +PGW_Tests.mp_run_prog_as_user := "osmocom" +PGW_Tests.mp_ping_hostname := "10.45.0.1" +PGW_Tests.mp_pcrf_local_ip:= "172.18.18.202" +GTPv2_Emulation.mp_uecups_host := "172.18.18.20" + +[MAIN_CONTROLLER] + +[EXECUTE] +#PGW_Tests.control +PGW_Tests.TC_createSession_ping4 diff --git a/ttcn3-pgw-test/freediameter-pgw.conf b/ttcn3-pgw-test/freediameter-pgw.conf new file mode 100644 index 0000000..e2efe7d --- /dev/null +++ b/ttcn3-pgw-test/freediameter-pgw.conf @@ -0,0 +1,266 @@ +# This is a sample configuration file for freeDiameter daemon. + +# Most of the options can be omitted, as they default to reasonable values. +# Only TLS-related options must be configured properly in usual setups. + +# It is possible to use "include" keyword to import additional files +# e.g.: include "/etc/freeDiameter.d/*.conf" +# This is exactly equivalent as copy & paste the content of the included file(s) +# where the "include" keyword is found. + + +############################################################## +## Peer identity and realm + +# The Diameter Identity of this daemon. +# This must be a valid FQDN that resolves to the local host. +# Default: hostname's FQDN +#Identity = "aaa.koganei.freediameter.net"; +Identity = "pgw.localdomain"; + +# The Diameter Realm of this daemon. +# Default: the domain part of Identity (after the first dot). +#Realm = "koganei.freediameter.net"; +Realm = "localdomain"; + +############################################################## +## Transport protocol configuration + +# The port this peer is listening on for incoming connections (TCP and SCTP). +# Default: 3868. Use 0 to disable. +#Port = 3868; + +# The port this peer is listening on for incoming TLS-protected connections (TCP and SCTP). +# See TLS_old_method for more information about TLS flavours. +# Note: we use TLS/SCTP instead of DTLS/SCTP at the moment. This will change in future version of freeDiameter. +# Default: 5868. Use 0 to disable. +#SecPort = 5868; + +# Use RFC3588 method for TLS protection, where TLS is negociated after CER/CEA exchange is completed +# on the unsecure connection. The alternative is RFC6733 mechanism, where TLS protects also the +# CER/CEA exchange on a dedicated secure port. +# This parameter only affects outgoing connections. +# The setting can be also defined per-peer (see Peers configuration section). +# Default: use RFC6733 method with separate port for TLS. +#TLS_old_method; + +# Disable use of TCP protocol (only listen and connect over SCTP) +# Default : TCP enabled +#No_TCP; + +# Disable use of SCTP protocol (only listen and connect over TCP) +# Default : SCTP enabled +#No_SCTP; +# This option is ignored if freeDiameter is compiled with DISABLE_SCTP option. + +# Prefer TCP instead of SCTP for establishing new connections. +# This setting may be overwritten per peer in peer configuration blocs. +# Default : SCTP is attempted first. +#Prefer_TCP; + +# Default number of streams per SCTP associations. +# This setting may be overwritten per peer basis. +# Default : 30 streams +#SCTP_streams = 30; + +############################################################## +## Endpoint configuration + +# Disable use of IP addresses (only IPv6) +# Default : IP enabled +#No_IP; + +# Disable use of IPv6 addresses (only IP) +# Default : IPv6 enabled +#No_IPv6; + +# Specify local addresses the server must bind to +# Default : listen on all addresses available. +#ListenOn = "202.249.37.5"; +#ListenOn = "2001:200:903:2::202:1"; +#ListenOn = "fe80::21c:5ff:fe98:7d62%eth0"; +ListenOn = "172.18.18.10"; + + +############################################################## +## Server configuration + +# How many Diameter peers are allowed to be connecting at the same time ? +# This parameter limits the number of incoming connections from the time +# the connection is accepted until the first CER is received. +# Default: 5 unidentified clients in paralel. +#ThreadsPerServer = 5; + +############################################################## +## TLS Configuration + +# TLS is managed by the GNUTLS library in the freeDiameter daemon. +# You may find more information about parameters and special behaviors +# in the relevant documentation. +# http://www.gnu.org/software/gnutls/manual/ + +# Credentials of the local peer +# The X509 certificate and private key file to use for the local peer. +# The files must contain PKCS-1 encoded RSA key, in PEM format. +# (These parameters are passed to gnutls_certificate_set_x509_key_file function) +# Default : NO DEFAULT +#TLS_Cred = "" , ""; +#TLS_Cred = "/etc/ssl/certs/freeDiameter.pem", "/etc/ssl/private/freeDiameter.key"; +TLS_Cred = "/usr/local/etc/freeDiameter/pgw.cert.pem", "/usr/local/etc/freeDiameter/pgw.key.pem"; + +# Certificate authority / trust anchors +# The file containing the list of trusted Certificate Authorities (PEM list) +# (This parameter is passed to gnutls_certificate_set_x509_trust_file function) +# The directive can appear several times to specify several files. +# Default : GNUTLS default behavior +#TLS_CA = ""; +TLS_CA = "/usr/local/etc/freeDiameter/cacert.pem"; + +# Certificate Revocation List file +# The information about revoked certificates. +# The file contains a list of trusted CRLs in PEM format. They should have been verified before. +# (This parameter is passed to gnutls_certificate_set_x509_crl_file function) +# Note: openssl CRL format might have interoperability issue with GNUTLS format. +# Default : GNUTLS default behavior +#TLS_CRL = ""; + +# GNU TLS Priority string +# This string allows to configure the behavior of GNUTLS key exchanges +# algorithms. See gnutls_priority_init function documentation for information. +# You should also refer to the Diameter required TLS support here: +# http://tools.ietf.org/html/rfc6733#section-13.1 +# Default : "NORMAL" +# Example: TLS_Prio = "NONE:+VERS-TLS1.1:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL"; +#TLS_Prio = "NORMAL"; + +# Diffie-Hellman parameters size +# Set the number of bits for generated DH parameters +# Valid value should be 768, 1024, 2048, 3072 or 4096. +# (This parameter is passed to gnutls_dh_params_generate2 function, +# it usually should match RSA key size) +# Default : 1024 +#TLS_DH_Bits = 1024; + +# Alternatively, you can specify a file to load the PKCS#3 encoded +# DH parameters directly from. This accelerates the daemon start +# but is slightly less secure. If this file is provided, the +# TLS_DH_Bits parameters has no effect. +# Default : no default. +#TLS_DH_File = ""; + + +############################################################## +## Timers configuration + +# The Tc timer of this peer. +# It is the delay before a new attempt is made to reconnect a disconnected peer. +# The value is expressed in seconds. The recommended value is 30 seconds. +# Default: 30 +TcTimer = 1; + +# The Tw timer of this peer. +# It is the delay before a watchdog message is sent, as described in RFC 3539. +# The value is expressed in seconds. The default value is 30 seconds. Value must +# be greater or equal to 6 seconds. See details in the RFC. +# Default: 30 +#TwTimer = 30; + +############################################################## +## Applications configuration + +# Disable the relaying of Diameter messages? +# For messages not handled locally, the default behavior is to forward the +# message to another peer if any is available, according to the routing +# algorithms. In addition the "0xffffff" application is advertised in CER/CEA +# exchanges. +# Default: Relaying is enabled. +#NoRelay; + +# Number of server threads that can handle incoming messages at the same time. +# Default: 4 +#AppServThreads = 4; + +# Other applications are configured by loaded extensions. + +############################################################## +## Extensions configuration + +# The freeDiameter framework merely provides support for +# Diameter Base Protocol. The specific application behaviors, +# as well as advanced functions, are provided +# by loadable extensions (plug-ins). +# These extensions may in addition receive the name of a +# configuration file, the format of which is extension-specific. +# +# Format: +#LoadExtension = "/path/to/extension" [ : "/optional/configuration/file" ] ; +# +# Examples: +#LoadExtension = "extensions/sample.fdx"; +#LoadExtension = "extensions/sample.fdx":"conf/sample.conf"; + +# Extensions are named as follow: +# dict_* for extensions that add content to the dictionary definitions. +# dbg_* for extensions useful only to retrieve more information on the framework execution. +# acl_* : Access control list, to control which peers are allowed to connect. +# rt_* : routing extensions that impact how messages are forwarded to other peers. +# app_* : applications, these extensions usually register callbacks to handle specific messages. +# test_* : dummy extensions that are useful only in testing environments. + + +# The dbg_msg_dump.fdx extension allows you to tweak the way freeDiameter displays some +# information about some events. This extension does not actually use a configuration file +# but receives directly a parameter in the string passed to the extension. Here are some examples: +## LoadExtension = "dbg_msg_dumps.fdx" : "0x1111"; # Removes all default hooks, very quiet even in case of errors. +## LoadExtension = "dbg_msg_dumps.fdx" : "0x2222"; # Display all events with few details. +## LoadExtension = "dbg_msg_dumps.fdx" : "0x0080"; # Dump complete information about sent and received messages. +# The four digits respectively control: connections, routing decisions, sent/received messages, errors. +# The values for each digit are: +# 0 - default - keep the default behavior +# 1 - quiet - remove any specific log +# 2 - compact - display only a summary of the information +# 4 - full - display the complete information on a single long line +# 8 - tree - display the complete information in an easier to read format spanning several lines. + +LoadExtension = "/usr/local/lib/x86_64-linux-gnu/freeDiameter/dbg_msg_dumps.fdx" : "0x8888"; +LoadExtension = "/usr/local/lib/x86_64-linux-gnu/freeDiameter/dict_rfc5777.fdx"; +LoadExtension = "/usr/local/lib/x86_64-linux-gnu/freeDiameter/dict_mip6i.fdx"; +LoadExtension = "/usr/local/lib/x86_64-linux-gnu/freeDiameter/dict_nasreq.fdx"; +LoadExtension = "/usr/local/lib/x86_64-linux-gnu/freeDiameter/dict_nas_mipv6.fdx"; +LoadExtension = "/usr/local/lib/x86_64-linux-gnu/freeDiameter/dict_dcca.fdx"; +LoadExtension = "/usr/local/lib/x86_64-linux-gnu/freeDiameter/dict_dcca_3gpp.fdx"; + + +############################################################## +## Peers configuration + +# The local server listens for incoming connections. By default, +# all unknown connecting peers are rejected. Extensions can override this behavior (e.g., acl_wl). +# +# In addition to incoming connections, the local peer can +# be configured to establish and maintain connections to some +# Diameter nodes and allow connections from these nodes. +# This is achieved with the ConnectPeer directive described below. +# +# Note that the configured Diameter Identity MUST match +# the information received inside CEA, or the connection will be aborted. +# +# Format: +#ConnectPeer = "diameterid" [ { parameter1; parameter2; ...} ] ; +# Parameters that can be specified in the peer's parameter list: +# No_TCP; No_SCTP; No_IP; No_IPv6; Prefer_TCP; TLS_old_method; +# No_TLS; # assume transparent security instead of TLS. DTLS is not supported yet (will change in future versions). +# Port = 5868; # The port to connect to +# TcTimer = 30; +# TwTimer = 30; +# ConnectTo = "202.249.37.5"; +# ConnectTo = "2001:200:903:2::202:1"; +# TLS_Prio = "NORMAL"; +# Realm = "realm.net"; # Reject the peer if it does not advertise this realm. +# Examples: +#ConnectPeer = "aaa.wide.ad.jp"; +#ConnectPeer = "old.diameter.serv" { TcTimer = 60; TLS_old_method; No_SCTP; Port=3868; } ; +ConnectPeer = "pcrf.localdomain" { ConnectTo = "172.18.18.202"; No_TLS; }; + + +############################################################## diff --git a/ttcn3-pgw-test/jenkins.sh b/ttcn3-pgw-test/jenkins.sh new file mode 100755 index 0000000..4dcf889 --- /dev/null +++ b/ttcn3-pgw-test/jenkins.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +. ../jenkins-common.sh +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +docker_images_require \ + "debian-buster-build" \ + "open5gs-$IMAGE_SUFFIX" \ + "osmo-uecups-master" \ + "debian-stretch-titan" \ + "ttcn3-pgw-test" + +mkdir $VOL_BASE_DIR/pgw-tester +cp PGW_Tests.cfg $VOL_BASE_DIR/pgw-tester/ + +mkdir $VOL_BASE_DIR/pgw +cp pgw.yaml freediameter-pgw.conf $VOL_BASE_DIR/pgw/ + +mkdir $VOL_BASE_DIR/osmo-uecups +cp osmo-uecups-daemon.cfg $VOL_BASE_DIR/osmo-uecups/ + +network_create 172.18.18.0/24 + +# start container with pgw in background +docker run --cap-add=NET_ADMIN \ + --device /dev/net/tun:/dev/net/tun \ + --sysctl net.ipv6.conf.all.disable_ipv6=0 \ + --rm \ + --network $NET_NAME --ip 172.18.18.10 \ + -v $VOL_BASE_DIR/pgw:/data \ + --name ${BUILD_TAG}-pgw -d \ + $REPO_USER/open5gs-$IMAGE_SUFFIX \ + /bin/sh -c "open5gs-pgwd -c /data/pgw.yaml >/data/pgw.stdout 2>&1" + +# start container with osmo-ugcups-daemon in background +docker run --cap-add=NET_ADMIN \ + --device /dev/net/tun:/dev/net/tun \ + --sysctl net.ipv6.conf.all.disable_ipv6=0 \ + --rm \ + --network $NET_NAME --ip 172.18.18.20 \ + -v $VOL_BASE_DIR/osmo-uecups:/data \ + --name ${BUILD_TAG}-uecups -d \ + $REPO_USER/osmo-uecups-master \ + /bin/sh -c "osmo-uecups-daemon -c /data/osmo-uecups-daemon.cfg >/data/uecups.stdout 2>&1" + +# start docker container with testsuite in foreground +docker run --rm \ + --sysctl net.ipv6.conf.all.disable_ipv6=0 \ + --network $NET_NAME --ip 172.18.18.202 \ + -v $VOL_BASE_DIR/pgw-tester:/data \ + -e "TTCN3_PCAP_PATH=/data" \ + --name ${BUILD_TAG}-pgw-test \ + $REPO_USER/ttcn3-pgw-test + +# stop uecups + PGW after test has completed +docker container stop ${BUILD_TAG}-uecups +docker container stop ${BUILD_TAG}-pgw + +network_remove +collect_logs diff --git a/ttcn3-pgw-test/osmo-uecups-daemon.cfg b/ttcn3-pgw-test/osmo-uecups-daemon.cfg new file mode 100644 index 0000000..337655b --- /dev/null +++ b/ttcn3-pgw-test/osmo-uecups-daemon.cfg @@ -0,0 +1,15 @@ +log file /data/osmo-uecups.log + logging filter all 1 + logging color 0 + logging print category-hex 0 + logging print category 1 + logging timestamp 1 + logging print file 1 + logging level tun info + logging level ep info + logging level gt info + logging level uecups info +line vty + bind 0.0.0.0 +uecups + local-ip 0.0.0.0 diff --git a/ttcn3-pgw-test/pgw.yaml b/ttcn3-pgw-test/pgw.yaml new file mode 100644 index 0000000..966421c --- /dev/null +++ b/ttcn3-pgw-test/pgw.yaml @@ -0,0 +1,22 @@ +logger: + file: /data/pgw.log + +parameter: + +pgw: + freeDiameter: /data/freediameter-pgw.conf + gtpc: + - addr: 172.18.18.10 + - addr: ::1 + gtpu: + - addr: 172.18.18.10 + - addr: ::1 + ue_pool: + - addr: 10.45.0.1/16 + - addr: cafe::1/64 + dns: + - 8.8.8.8 + - 8.8.4.4 + - 2001:4860:4860::8888 + - 2001:4860:4860::8844 + mtu: 1400 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17953 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I69e2f5be8204cc4fd0cc0f4eb019ef1104121b60 Gerrit-Change-Number: 17953 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Apr 27 01:40:36 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 27 Apr 2020 01:40:36 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea63815bc993_248e2ab4e597c6009195cf@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 754s] | configure:13532: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 754s] | configure:13532: $? = 0 [ 754s] | configure:13541: result: yes [ 754s] | configure:13645: checking for library containing clock_gettime [ 754s] | configure:13676: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 754s] | configure:13676: $? = 0 [ 754s] | configure:13693: result: none required [ 754s] | configure:13712: checking for doxygen [ 754s] | configure:13730: found /usr/bin/doxygen [ 754s] | configure:13743: result: /usr/bin/doxygen [ 754s] | configure:13761: checking whether SYS_getrandom is declared [ 754s] | configure:13761: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 754s] | configure:13761: $? = 0 [ 754s] | configure:13761: result: yes [ 754s] | configure:13777: checking if gcc supports -fvisibility=hidden [ 754s] | configure:13783: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -fvisibility=hidden -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 754s] | configure:13783: $? = 0 [ 754s] | configure:13784: result: yes [ 754s] | configure:13798: checking for clock_gettime [ 754s] | configure:13798: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 754s] | configure:13798: $? = 0 [ 754s] | configure:13798: result: yes [ 754s] | configure:13798: checking for localtime_r [ 756s] | configu[ 732.061602] sysrq: SysRq : Power Off [ 756s] [ 732.064262] reboot: Power down [ 756s] ### VM INTERACTION END ### [ 756s] [ 756s] armbuild10 failed "build libosmocore_1.3.0.71.1f48b.dsc" at Mon Apr 27 01:40:34 UTC 2020. [ 756s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Apr 27 03:37:44 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 27 Apr 2020 03:37:44 +0000 Subject: Build failure of network:osmocom:latest/osmo-uecups in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ea653a26acb0_248e2ab4e597c6009231dd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-uecups/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-uecups failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-uecups Last lines of build log: [ 327s] main.c:448:7: error: implicit declaration of function 'osmo_system_nowait2'; did you mean 'osmo_system_nowait'? [-Werror=implicit-function-declaration] [ 327s] 448 | rc = osmo_system_nowait2(cmd, osmo_environment_whitelist, addl_env, user); [ 327s] | ^~~~~~~~~~~~~~~~~~~ [ 327s] | osmo_system_nowait [ 327s] main.c: In function 'main': [ 327s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup'; did you mean 'osmo_timerfd_setup'? [-Werror=implicit-function-declaration] [ 327s] 776 | g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 327s] | ^~~~~~~~~~~~~~~~~~~ [ 327s] | osmo_timerfd_setup [ 327s] main.c:776:21: warning: assignment to 'struct osmo_signalfd *' from 'int' makes pointer from integer without a cast [-Wint-conversion] [ 327s] 776 | g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 327s] | ^ [ 327s] cc1: some warnings being treated as errors [ 327s] make[3]: *** [Makefile:479: main.o] Error 1 [ 327s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 327s] make[2]: *** [Makefile:402: all-recursive] Error 1 [ 327s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 327s] make[1]: *** [Makefile:349: all] Error 2 [ 327s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 327s] dh_auto_build: error: make -j1 returned exit code 2 [ 327s] make: *** [debian/rules:45: build] Error 25 [ 327s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 327s] ### VM INTERACTION START ### [ 330s] [ 318.187784] sysrq: SysRq : Power Off [ 330s] [ 318.191873] reboot: Power down [ 330s] ### VM INTERACTION END ### [ 331s] [ 331s] lamb60 failed "build osmo-uecups_0.1.3.dsc" at Mon Apr 27 03:37:42 UTC 2020. [ 331s] -- 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 Apr 27 04:39:47 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 27 Apr 2020 04:39:47 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 to look at the new patch set (#6). Change subject: Add default APN for each EUA Type ...................................................................... Add default APN for each EUA Type MS may request an unknown APN. In this case we will use the APN configured in the vty as default-apn but if the type support does not match the request we will fail. The commit adds two more vty commands to configure a default vpn for v6 and for v4v6 Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Fixes: OS#4511 --- M ggsn/ggsn.c M ggsn/ggsn.h M ggsn/ggsn_vty.c 3 files changed, 77 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/41/17941/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 Gerrit-PatchSet: 6 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith 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 Apr 27 04:50:58 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 27 Apr 2020 04:50:58 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 ) Change subject: Add default APN for each EUA Type ...................................................................... Patch Set 6: (1 comment) > I agree with you the only real use for the feature you are adding > is in the event you really want to have default working > configurations for PDP contexts requesting v4, v6 or v4v6. If you > think that's useful we can merge it, otherwise I see no point. Sorry to consume your time with somewhat pointless CR, although it's all good learning for me! Thanks for that. I think I don't want to merge this, but would appreciate if you would answer the question about assigning to argv elements. Looks possibly dangerous to me. but I guess it might be ok depending what goes on with argc/v? I think then I would just publish this to a personal branch in case it ever comes up again. I was thinking about it - it was the default example config that confused me; Is that a usual config? Why would you configure separate APNs with their associated tun interfaces in a real network for v4 and v4v6? What I see is a mix of v4 and v4v6 PDP context activations. I suppose the operator config varies depending on periods of sale of SIMs or on device or something. https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/6/ggsn/ggsn_vty.c File ggsn/ggsn_vty.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/6/ggsn/ggsn_vty.c at 284 PS6, Line 284: argv[1] = argv[0]; Is this legal? -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 Gerrit-PatchSet: 6 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 27 Apr 2020 04:50:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Apr 27 05:55:23 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 27 Apr 2020 05:55:23 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea673d7af7aa_248e2ab4e597c6009267c5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 575s] ^~~~~~~~~~~~~~~~~~~ [ 575s] main.c: In function 'main': [ 575s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 575s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 575s] ^~~~~~~~~~~~~~~~~~~ [ 575s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 575s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 575s] ^ [ 575s] cc1: some warnings being treated as errors [ 575s] Makefile:469: recipe for target 'main.o' failed [ 575s] make[3]: *** [main.o] Error 1 [ 575s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 575s] Makefile:402: recipe for target 'all-recursive' failed [ 575s] make[2]: *** [all-recursive] Error 1 [ 575s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 575s] Makefile:349: recipe for target 'all' failed [ 575s] make[1]: *** [all] Error 2 [ 575s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 575s] dh_auto_build: make -j1 returned exit code 2 [ 575s] debian/rules:45: recipe for target 'build' failed [ 575s] make: *** [build] Error 2 [ 575s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 575s] ### VM INTERACTION START ### [ 578s] [ 521.286150] sysrq: SysRq : Power Off [ 578s] [ 521.288692] reboot: Power down [ 578s] ### VM INTERACTION END ### [ 578s] [ 578s] armbuild13 failed "build osmo-uecups_0.1.3.1.8362.dsc" at Mon Apr 27 05:55:16 UTC 2020. [ 578s] -- 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 Apr 27 06:04:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 27 Apr 2020 06:04:19 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 ) Change subject: Add default APN for each EUA Type ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/6/ggsn/ggsn_vty.c File ggsn/ggsn_vty.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/6/ggsn/ggsn_vty.c at 284 PS6, Line 284: argv[1] = argv[0]; > Is this legal? It took me some time to realize that it's for backwards compatibility with 'default-apn NAME'. Please add a comment. Also, I would rather avoid changing argv. Just add two pointers and set them depending on argc, for example: const char *apn_name = (argc > 1) ? argv[1] : argv[0]; const char *apn_type = (argc > 1) ? argv[0] : "v4"; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 Gerrit-PatchSet: 6 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 27 Apr 2020 06:04:19 +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 Mon Apr 27 06:43:48 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 27 Apr 2020 06:43:48 +0000 Subject: Change in pysim[master]: pySim-read.py: Add ability to read by AID with correct CLA, P1 and P2... In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17880 ) Change subject: pySim-read.py: Add ability to read by AID with correct CLA, P1 and P2 bytes ...................................................................... Patch Set 1: > Patch Set 1: > > > Patch Set 1: > > > > > Patch Set 1: > > > > > > did you actually encounter any specific bug/problem before this patch? > > > > > > In general, I'm not aware of any USIM/ISIM specific requirements for the CLAss byte. > > > > > > IMHO, the underlying question is whether the card is a classic SIM (0xA0) or an UICC (0x00). But an UICC can have various other Applications, not just USIM/ISIM. > > > > > > Also, why reset the card after changing the class byte? > > > > > > I think this needs more explanation in commit log and/or comments. > > > > > > The link you quote is some APDU trace and not a specification reference. > > > > Yes, without this commit, it was not possible to select an AID on Sysmocom ISIM and USIM (also any operation related to USIM/ISIM AID) as pySim was throwing various forms 6Exx or 6Axx errors. Yeah are right about SIM being classic SIM (0xA0) or an UICC (0x00), I think the commit message here may be a bit misleading. > > > > Regarding resetting of card, without doing that any changes done to CLA or P1 or P2 was not taken into effect resulting in failure of selecting AIDs or any operation related to USIM/ISIM AID. > > > > Also, this commit was inspired by the implementation in sysmo-usim-tool, which uses the same CLA, P1 and P2 to read a USIM. > > > > P.S: With this commit i was even able to read a commercial USIM from Vodafone DE (previously it was not possible). > > I am seeing a similar problem/need with the CLA byte, shouldn't it be better addressed with a new SimCard class? that is possible if the card is a know card class, but doesn't handle arbitrary SIM cards -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 Gerrit-Change-Number: 17880 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: guilly at gmail.com Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 27 Apr 2020 06:43:48 +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 Apr 27 06:49:25 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 27 Apr 2020 06:49:25 +0000 Subject: Change in pysim[master]: pySim-read.py: Add ability to read by AID with correct CLA, P1 and P2... In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17880 ) Change subject: pySim-read.py: Add ability to read by AID with correct CLA, P1 and P2 bytes ...................................................................... Patch Set 1: > Patch Set 1: > > > Yes, without this commit, it was not possible to select an AID on Sysmocom ISIM and USIM (also any operation related to USIM/ISIM AID) as pySim was throwing various forms 6Exx or 6Axx errors. Yeah are right about SIM being classic SIM (0xA0) or an UICC (0x00), I think the commit message here may be a bit misleading. > > To be specific: Without chaging the CLA and possibly P1/P2 it was not possible. > > > Also, this commit was inspired by the implementation in sysmo-usim-tool, which uses the same CLA, P1 and P2 to read a USIM. > > I'm not saying the choice of CLA/P1/P2 is wrong. I'm saying your conditions are wrong. > > The standard approach - AFAIK - is to always use CLA=00 for the first APDU talking to the card. If it returns an error that CLA is unsupported, you know it's not an UICC and hence only a classic SIM. > > So my suggestion would be to follow this approach. It is much more generic and doesn't rely on very specific AIDs of ISIM or USIM. It will even work with HPSIM, TSIM, .... > > You also don't need to reset the card if you do it that way. Nice approach..i will implement it this way. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 Gerrit-Change-Number: 17880 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: guilly at gmail.com Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 27 Apr 2020 06:49: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 Mon Apr 27 07:33:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 27 Apr 2020 07:33:28 +0000 Subject: Change in osmo-ci[master]: disable osmo-uecups latest build; needs new libosmocore release References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/17954 ) Change subject: disable osmo-uecups latest build; needs new libosmocore release ...................................................................... disable osmo-uecups latest build; needs new libosmocore release Change-Id: Ib2f5fcd7e7a5b05a1fef9f3cbac99c6f203e2baa --- M scripts/osmocom-latest-packages.sh 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/54/17954/1 diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 6e31e29..ae57ab2 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -206,7 +206,8 @@ build osmo-remsim build open5gs build neocon - build osmo-uecups + # re-enable after libosmcoore > 1.3.1 is released (osmo_system_nowait2) + #build osmo-uecups cd "$TOP/$PROJ" osc ci -m "Latest Tagged versions of $DT" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17954 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib2f5fcd7e7a5b05a1fef9f3cbac99c6f203e2baa Gerrit-Change-Number: 17954 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 Apr 27 07:39:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 27 Apr 2020 07:39:44 +0000 Subject: Change in docker-playground[master]: add osmo-uecups-master container In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17944 ) Change subject: add osmo-uecups-master container ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17944 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iafcf9639f7e44f19220a9d0f375444b168a6a392 Gerrit-Change-Number: 17944 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 27 Apr 2020 07: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 Mon Apr 27 07:40:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 27 Apr 2020 07:40:01 +0000 Subject: Change in docker-playground[master]: add open5gs-master docker container In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17945 ) Change subject: add open5gs-master docker container ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17945 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I089c51caa1b1d8acf0063b7bc7fe61a805b5e800 Gerrit-Change-Number: 17945 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 27 Apr 2020 07:40: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 Apr 27 07:40:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 27 Apr 2020 07:40:04 +0000 Subject: Change in docker-playground[master]: add osmo-uecups-master container In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17944 ) Change subject: add osmo-uecups-master container ...................................................................... add osmo-uecups-master container Change-Id: Iafcf9639f7e44f19220a9d0f375444b168a6a392 --- A osmo-uecups-master/.release A osmo-uecups-master/Dockerfile A osmo-uecups-master/Makefile A osmo-uecups-master/Release.key A osmo-uecups-master/osmo-uecups-daemon.cfg 5 files changed, 72 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/osmo-uecups-master/.release b/osmo-uecups-master/.release new file mode 100644 index 0000000..810aaf3 --- /dev/null +++ b/osmo-uecups-master/.release @@ -0,0 +1,2 @@ +release=0.0.0 +tag=osmo-uecups-master-0.0.0 diff --git a/osmo-uecups-master/Dockerfile b/osmo-uecups-master/Dockerfile new file mode 100644 index 0000000..9684d08 --- /dev/null +++ b/osmo-uecups-master/Dockerfile @@ -0,0 +1,49 @@ +ARG USER +FROM $USER/debian-buster-build + +MAINTAINER Harald Welte + +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/" + +COPY Release.key /tmp/Release.key + +RUN apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list + +ADD $OSMOCOM_REPO/Release /tmp/Release +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + libjansson-dev \ + libnl-route-3-dev \ + libosmocore-dev \ + libosmo-netif-dev \ + libsctp-dev \ + strace && \ + apt-get clean + +WORKDIR /tmp + +ARG OSMO_BSC_BRANCH="master" + +RUN git clone git://git.osmocom.org/osmo-uecups.git +ADD http://git.osmocom.org/osmo-uecups/patch?h=$OSMO_BSC_BRANCH /tmp/commit-osmo-uecups + +RUN cd osmo-uecups && \ + git fetch && git checkout $OSMO_BSC_BRANCH && \ + (git symbolic-ref -q HEAD && git reset --hard origin/$OSMO_BSC_BRANCH || exit 1); \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ + autoreconf -fi && \ + ./configure && \ + make -j8 install + +VOLUME /data + +COPY osmo-uecups-daemon.cfg /data/osmo-uecups-daemon.cfg + +RUN useradd -m --uid=1000 osmocom + +WORKDIR /data +CMD ["/bin/sh", "-c", "/usr/local/bin/osmo-uecups-daemon -c /data/osmo-uecups-daemon.cfg >/data/osmo-uecups-daemon.log 2>&1"] + +#EXPOSE diff --git a/osmo-uecups-master/Makefile b/osmo-uecups-master/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/osmo-uecups-master/Makefile @@ -0,0 +1 @@ +include ../make/Makefile diff --git a/osmo-uecups-master/Release.key b/osmo-uecups-master/Release.key new file mode 100644 index 0000000..a737316 --- /dev/null +++ b/osmo-uecups-master/Release.key @@ -0,0 +1,20 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.5 (GNU/Linux) + +mQENBFJBt/wBCADAht3d/ilNuyzaXYw/QwTRvmjyoDvfXw+H/3Fvk1zlDZoiKPPc +a1wCVBINUZl7vYM2OXqbJwYa++JP2Q48xKSvC6thbRc/YLievkbcvTemf7IaREfl +CTjoYpoqXHa9kHMw1aALDm8CNU88jZmnV7v9L6hKkbYDxie+jpoj7D6B9JlxgNJ4 +5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee +S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y +CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= +=/Tek +-----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-uecups-master/osmo-uecups-daemon.cfg b/osmo-uecups-master/osmo-uecups-daemon.cfg new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/osmo-uecups-master/osmo-uecups-daemon.cfg -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17944 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iafcf9639f7e44f19220a9d0f375444b168a6a392 Gerrit-Change-Number: 17944 Gerrit-PatchSet: 2 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 Apr 27 07:40:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 27 Apr 2020 07:40:05 +0000 Subject: Change in docker-playground[master]: add open5gs-master docker container In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17945 ) Change subject: add open5gs-master docker container ...................................................................... add open5gs-master docker container Change-Id: I089c51caa1b1d8acf0063b7bc7fe61a805b5e800 --- A open5gs-master/Dockerfile A open5gs-master/Makefile A open5gs-master/setup.sh 3 files changed, 78 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/open5gs-master/Dockerfile b/open5gs-master/Dockerfile new file mode 100644 index 0000000..1bfc7cb --- /dev/null +++ b/open5gs-master/Dockerfile @@ -0,0 +1,67 @@ +FROM debian:buster + +MAINTAINER Harald Welte + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y --no-install-recommends \ + python3-pip \ + python3-setuptools \ + python3-wheel \ + ninja-build \ + build-essential \ + flex \ + bison \ + git \ + libsctp-dev \ + libgnutls28-dev \ + libgcrypt-dev \ + libssl-dev \ + libidn11-dev \ + libmongoc-dev \ + libbson-dev \ + libyaml-dev \ + iproute2 \ + ca-certificates \ + netbase \ + pkg-config && \ + apt-get clean +RUN python3 -m pip install --upgrade pip +RUN python3 -m pip install meson + + +RUN apt-get update && \ + apt-get upgrade -y && \ + DEBIAN_FRONTEND=noninteractive \ + apt-get install -y --no-install-recommends \ + git-buildpackage \ + debhelper \ + devscripts \ + vim \ + sudo \ + iputils-ping \ + net-tools && \ + apt-get clean + +COPY setup.sh /root + +# crate user +ARG username=osmocom +RUN useradd -m --uid=1000 ${username} && \ + echo "${username} ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/${username} && \ + chmod 0440 /etc/sudoers.d/${username} + +WORKDIR /home/${username} + + +# build + install open5gs + +ARG GITHUB_USER=open5gs +ARG GITHUB_REPO=open5gs +ARG OPEN5GS_BRANCH=master +RUN git clone https://github.com/$GITHUB_USER/$GITHUB_REPO +ADD https://api.github.com/repos/$GITHUB_USER/$GITHUB_REPO/git/refs/heads/$OPEN5GS_BRANCH /root/open5gs-ver.json + +RUN cd $GITHUB_REPO && \ + git fetch && git checkout -f -B $OPEN5GS_BRANCH origin/$OPEN5GS_BRANCH && \ + meson build && ninja -C build install diff --git a/open5gs-master/Makefile b/open5gs-master/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/open5gs-master/Makefile @@ -0,0 +1 @@ +include ../make/Makefile diff --git a/open5gs-master/setup.sh b/open5gs-master/setup.sh new file mode 100644 index 0000000..58693fd --- /dev/null +++ b/open5gs-master/setup.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +if ! grep "ogstun" /proc/net/dev > /dev/null; then + ip tuntap add name ogstun mode tun +fi +ip addr del 10.45.0.1/16 dev ogstun 2> /dev/null +ip addr add 10.45.0.1/16 dev ogstun +ip addr del cafe::1/64 dev ogstun 2> /dev/null +ip addr add cafe::1/64 dev ogstun +ip link set ogstun up -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17945 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I089c51caa1b1d8acf0063b7bc7fe61a805b5e800 Gerrit-Change-Number: 17945 Gerrit-PatchSet: 2 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 Apr 27 07:40:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 27 Apr 2020 07:40:23 +0000 Subject: Change in osmo-ci[master]: disable osmo-uecups latest build; needs new libosmocore release In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17954 ) Change subject: disable osmo-uecups latest build; needs new libosmocore release ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17954 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib2f5fcd7e7a5b05a1fef9f3cbac99c6f203e2baa Gerrit-Change-Number: 17954 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 27 Apr 2020 07:40: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 Apr 27 07:40:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 27 Apr 2020 07:40:28 +0000 Subject: Change in osmo-ci[master]: disable osmo-uecups latest build; needs new libosmocore release In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17954 ) Change subject: disable osmo-uecups latest build; needs new libosmocore release ...................................................................... disable osmo-uecups latest build; needs new libosmocore release Change-Id: Ib2f5fcd7e7a5b05a1fef9f3cbac99c6f203e2baa --- M scripts/osmocom-latest-packages.sh 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 6e31e29..ae57ab2 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -206,7 +206,8 @@ build osmo-remsim build open5gs build neocon - build osmo-uecups + # re-enable after libosmcoore > 1.3.1 is released (osmo_system_nowait2) + #build osmo-uecups cd "$TOP/$PROJ" osc ci -m "Latest Tagged versions of $DT" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17954 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib2f5fcd7e7a5b05a1fef9f3cbac99c6f203e2baa Gerrit-Change-Number: 17954 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 Apr 27 07:59:18 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 27 Apr 2020 07:59:18 +0000 Subject: Change in pysim[master]: pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 ... 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/+/17880 to look at the new patch set (#2). Change subject: pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 bytes ...................................................................... pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 bytes Initially the Card ICCID (its a test) is read assuming a UICC SIM, but in case its not, an error 6e00 will be thrown indicating CLA not supported and Card has just Classic SIM application. Ref: https://web.archive.org/web/20090630004017/http://cheef.ru/docs/HowTo/APDU.info The above link provides the bytes to use for CLA, P1, P2 in APDU Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 --- M pySim-read.py 1 file changed, 11 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/80/17880/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 Gerrit-Change-Number: 17880 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: guilly at gmail.com Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 27 08:35:35 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 27 Apr 2020 08:35:35 +0000 Subject: Change in pysim[master]: pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 ... 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/+/17880 to look at the new patch set (#3). Change subject: pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 bytes ...................................................................... pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 bytes Initially the Card ICCID (its a test) is read assuming a UICC SIM, but in case its not, an error 6e00 will be thrown indicating CLA not supported and Card has just Classic SIM application. Ref: https://web.archive.org/web/20090630004017/http://cheef.ru/docs/HowTo/APDU.info The above link provides the bytes to use for CLA, P1, P2 in APDU Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 --- M pySim-read.py 1 file changed, 11 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/80/17880/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 Gerrit-Change-Number: 17880 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: guilly at gmail.com Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 27 08:39:52 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 27 Apr 2020 08:39:52 +0000 Subject: Change in pysim[master]: pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 ... 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/+/17880 to look at the new patch set (#4). Change subject: pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 bytes ...................................................................... pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 bytes Initially the Card ICCID (its a test) is read assuming a UICC SIM, but in case its not, an error 6e00 will be thrown indicating CLA not supported and Card has just Classic SIM application. Ref: https://web.archive.org/web/20090630004017/http://cheef.ru/docs/HowTo/APDU.info The above link provides the bytes to use for CLA, P1, P2 in APDU Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 --- M pySim-read.py 1 file changed, 11 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/80/17880/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 Gerrit-Change-Number: 17880 Gerrit-PatchSet: 4 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: guilly at gmail.com Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 27 08:41:49 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 27 Apr 2020 08:41:49 +0000 Subject: Change in pysim[master]: pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 ... 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/+/17880 to look at the new patch set (#5). Change subject: pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 bytes ...................................................................... pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 bytes Initially the Card is read assuming a UICC SIM, but in case its not, an error 6e00 will be thrown indicating CLA not supported and Card has just Classic SIM application. Ref: https://web.archive.org/web/20090630004017/http://cheef.ru/docs/HowTo/APDU.info The above link provides the bytes to use for CLA, P1, P2 in APDU Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 --- M pySim-read.py 1 file changed, 11 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/80/17880/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 Gerrit-Change-Number: 17880 Gerrit-PatchSet: 5 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: guilly at gmail.com Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 27 10:11:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 27 Apr 2020 10:11:51 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 ) Change subject: Add default APN for each EUA Type ...................................................................... Patch Set 6: Code-Review-1 (3 comments) Marking -1 for explained reasons (+ yourself not really finding a good scenario for it). However, I'd welcome if you could send a patch using osmo_talloc_replace_string() for the existing code. Grep for that function in osmocom code, you'll see lots of examples. https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/6/ggsn/ggsn_vty.c File ggsn/ggsn_vty.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/6/ggsn/ggsn_vty.c at a286 PS6, Line 286: ggsn->cfg.default_apn = apn; BTW, I am wondering... this looks bad to me. We should be doing osmo_talloc_replace_string() here, so he strdup it. https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/6/ggsn/ggsn_vty.c at a295 PS6, Line 295: ggsn->cfg.default_apn = NULL; Same here, osmo_talloc_replace_string. https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/6/ggsn/ggsn_vty.c at 284 PS6, Line 284: argv[1] = argv[0]; > It took me some time to realize that it's for backwards compatibility with 'default-apn NAME'. [?] Agree with fixeria. It's maybe fine doing like keith did but you are probably assuming too much about implementation there, and may become problematic if implementation changes at a later pointer. Doing like fixeria says avoids this kind of issue. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 Gerrit-PatchSet: 6 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 27 Apr 2020 10:11:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Comment-In-Reply-To: keith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 27 10:17:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 27 Apr 2020 10:17:41 +0000 Subject: Change in pysim[master]: pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 ... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17880 ) Change subject: pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 bytes ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 Gerrit-Change-Number: 17880 Gerrit-PatchSet: 5 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-CC: guilly at gmail.com Gerrit-Comment-Date: Mon, 27 Apr 2020 10:17: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 Apr 27 10:17:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 27 Apr 2020 10:17:56 +0000 Subject: Change in pysim[master]: pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 ... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17880 ) Change subject: pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 bytes ...................................................................... pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 bytes Initially the Card is read assuming a UICC SIM, but in case its not, an error 6e00 will be thrown indicating CLA not supported and Card has just Classic SIM application. Ref: https://web.archive.org/web/20090630004017/http://cheef.ru/docs/HowTo/APDU.info The above link provides the bytes to use for CLA, P1, P2 in APDU Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 --- M pySim-read.py 1 file changed, 11 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim-read.py b/pySim-read.py index 3e25c76..8f81443 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -92,6 +92,17 @@ # 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" + # Program the card print("Reading ...") @@ -236,6 +247,5 @@ else: print("SIM Service Table: Can't read, response code = %s" % (sw,)) - # Done for this card and maybe for everything ? print("Done !\n") -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4 Gerrit-Change-Number: 17880 Gerrit-PatchSet: 5 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-CC: guilly at gmail.com Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 27 10:30:01 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 27 Apr 2020 10:30:01 +0000 Subject: Change in pysim[master]: Enable parsing of USIM Service table (UST) In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/17879 to look at the new patch set (#8). Change subject: Enable parsing of USIM Service table (UST) ...................................................................... Enable parsing of USIM Service table (UST) As per TS.31.102, This EF indicates which USIM services are available. If a service is not indicated as available in the USIM, the ME shall not select this service. Parsing of UST is achieved by first selecting the USIM application using its AID. This is followed by selecting EF.UST with File ID - 6f38 in ADF.USIM Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 --- M pySim-read.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 5 files changed, 166 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/79/17879/8 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 Gerrit-Change-Number: 17879 Gerrit-PatchSet: 8 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth 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 Apr 27 10:30:01 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 27 Apr 2020 10:30:01 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse ePDG Identifier from hex string 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/+/17883 to look at the new patch set (#2). Change subject: utils.py: Add helper method to parse ePDG Identifier from hex string ...................................................................... utils.py: Add helper method to parse ePDG Identifier from hex string The hex string consists of contains zero or more ePDG identifier data objects. Each ePDG Identifier TLV data object consists of tag value of '80', length of identifier, address type. TS 31.102 version 13.4.0 Release 13. The same parsing method applies for both EF.ePDGId and EF.ePDGIdEm Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 --- M pySim/utils.py 1 file changed, 31 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/83/17883/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 Gerrit-Change-Number: 17883 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 27 11:24:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 27 Apr 2020 11:24:07 +0000 Subject: Change in docker-playground[master]: open5gs: Add pgw.sh References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17955 ) Change subject: open5gs: Add pgw.sh ...................................................................... open5gs: Add pgw.sh This can serve as an entrypoint for running open5gs-pgw inside the open5gs-master container. It will run setup.sh to create the ogstun device, followed by running open5gs-pgwd as 'osmocom' user. Change-Id: I4527b5e328fb248552e69961b80b9f791ec74293 --- M open5gs-master/Dockerfile A open5gs-master/pgw.sh M open5gs-master/setup.sh 3 files changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/55/17955/1 diff --git a/open5gs-master/Dockerfile b/open5gs-master/Dockerfile index 1bfc7cb..37344cf 100644 --- a/open5gs-master/Dockerfile +++ b/open5gs-master/Dockerfile @@ -44,6 +44,7 @@ apt-get clean COPY setup.sh /root +COPY pgw.sh /root # crate user ARG username=osmocom diff --git a/open5gs-master/pgw.sh b/open5gs-master/pgw.sh new file mode 100755 index 0000000..3286256 --- /dev/null +++ b/open5gs-master/pgw.sh @@ -0,0 +1,5 @@ +#!/bin/sh +set -e +set -x +/root/setup.sh +su - osmocom -c "open5gs-pgwd $*" diff --git a/open5gs-master/setup.sh b/open5gs-master/setup.sh old mode 100644 new mode 100755 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17955 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I4527b5e328fb248552e69961b80b9f791ec74293 Gerrit-Change-Number: 17955 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 Apr 27 14:31:25 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 27 Apr 2020 14:31:25 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 ) Change subject: Add default APN for each EUA Type ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/6/ggsn/ggsn_vty.c File ggsn/ggsn_vty.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/6/ggsn/ggsn_vty.c at a286 PS6, Line 286: ggsn->cfg.default_apn = apn; > BTW, I am wondering... this looks bad to me. [?] apn is struct apn_ctx, not char So I think strdup was deliberately not used here? -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 Gerrit-PatchSet: 6 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 27 Apr 2020 14:31:25 +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 Apr 27 14:37:09 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 27 Apr 2020 14:37:09 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 to look at the new patch set (#7). Change subject: Add default APN for each EUA Type ...................................................................... Add default APN for each EUA Type MS may request an unknown APN. In this case we will use the APN configured in the vty as default-apn but if the type support does not match the request we will fail. The commit adds two more vty commands to configure a default vpn for v6 and for v4v6 Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Fixes: OS#4511 --- M ggsn/ggsn.c M ggsn/ggsn.h M ggsn/ggsn_vty.c 3 files changed, 76 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/41/17941/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 Gerrit-PatchSet: 7 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin 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 Mon Apr 27 14:39:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 27 Apr 2020 14:39:34 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 ) Change subject: Add default APN for each EUA Type ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/6/ggsn/ggsn_vty.c File ggsn/ggsn_vty.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/17941/6/ggsn/ggsn_vty.c at a286 PS6, Line 286: ggsn->cfg.default_apn = apn; > apn is struct apn_ctx, not char So I think strdup was deliberately not used here? Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 Gerrit-PatchSet: 7 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 27 Apr 2020 14:39:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: keith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 27 14:40:26 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 27 Apr 2020 14:40:26 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 to look at the new patch set (#8). Change subject: Add default APN for each EUA Type ...................................................................... Add default APN for each EUA Type MS may request an unknown APN. In this case we will use the APN configured in the vty as default-apn but if the type support does not match the request we will fail. The commit adds two more vty commands to configure a default vpn for v6 and for v4v6 Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Fixes: OS#4511 --- M ggsn/ggsn.c M ggsn/ggsn.h M ggsn/ggsn_vty.c 3 files changed, 77 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/41/17941/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 Gerrit-PatchSet: 8 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin 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 Mon Apr 27 14:41:13 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 27 Apr 2020 14:41:13 +0000 Subject: Change in osmo-ggsn[master]: Add default APN for each EUA Type In-Reply-To: References: Message-ID: keith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 ) Change subject: Add default APN for each EUA Type ...................................................................... Abandoned This functionality is not currently needed. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I03fcf8a1532bd9988ea99a6afd3dc325174ce9d6 Gerrit-Change-Number: 17941 Gerrit-PatchSet: 8 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Apr 27 15:37:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 27 Apr 2020 15:37:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Allow setting 'egprs only' mode by test References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17956 ) Change subject: pcu: Allow setting 'egprs only' mode by test ...................................................................... pcu: Allow setting 'egprs only' mode by test Will be used by next patches testing EGPRS features. Change-Id: I7b0ff2f4895b7af39314600c10cc2f139bf45a2f --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/56/17956/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 7c525e2..006aea9 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -129,6 +129,8 @@ var uint8_t g_mcs_max_dl := 9; var uint8_t g_mcs_max_ul := 9; + var boolean g_egprs_only := false; + /* Guard timeout */ timer g_T_guard := 60.0; }; @@ -175,6 +177,12 @@ map(self:PCUVTY, system:PCUVTY); f_vty_set_prompts(PCUVTY); f_vty_transceive(PCUVTY, "enable"); + + if (g_egprs_only) { + f_vty_config2(PCUVTY, {"pcu"}, "egprs only"); + } else { + f_vty_config2(PCUVTY, {"pcu"}, "no egprs"); + } } private function f_init_raw(charstring id, template (value) PCUIF_info_ind info_ind := ts_PCUIF_INFO_default) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17956 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: I7b0ff2f4895b7af39314600c10cc2f139bf45a2f Gerrit-Change-Number: 17956 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 Apr 27 16:56:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 27 Apr 2020 16:56:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: use 'CSN.1 L/H' attribute where needed References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17957 ) Change subject: library/GSM_RR_Types.ttcn: use 'CSN.1 L/H' attribute where needed ...................................................................... library/GSM_RR_Types.ttcn: use 'CSN.1 L/H' attribute where needed Thanks to Harald, TITAN's RAW codec now supports the L/H syntax. Change-Id: I279901aeffd09de071d274944cd0f1a93d711f85 --- M library/GSM_RR_Types.ttcn 1 file changed, 7 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/57/17957/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 9d71f80..5478754 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -402,11 +402,11 @@ */ }; type record SecondPartAssign { - BIT1 r99, /* H / L */ + BIT1 r99, /* L / H */ BIT1 presence optional, BIT5 ext_ra optional } with { - /* TODO: use 'CSN.1 L/H' attribute here */ + variant (r99) "CSN.1 L/H" variant (presence) "PRESENCE(r99 = '1'B)" /* H */ variant (ext_ra) "PRESENCE(presence = '1'B)" }; @@ -507,7 +507,9 @@ }; type record IaRestOctLL { BIT1 compressed_irat_ho_info_ind - } with { variant "" }; + } with { + variant (compressed_irat_ho_info_ind) "CSN.1 L/H" + }; type record of AccessTechnologiesRequest @@ -647,6 +649,7 @@ IaRestOctHL hl optional, IaRestOctHH hh optional } with { + variant (presence) "CSN.1 L/H" variant (ll) "PRESENCE(presence = '00'B)" variant (lh) "PRESENCE(presence = '01'B)" variant (hl) "PRESENCE(presence = '10'B)" @@ -928,9 +931,7 @@ rest_octets := { presence := '00'B, /* LL */ ll := { - /* Compressed INTER RAT HO INFO: shall not be used (L) - * TODO: use variant "CSN.1 L/H" to avoid confusion. */ - compressed_irat_ho_info_ind := '1'B + compressed_irat_ho_info_ind := '0'B /* L */ }, lh := omit, hl := omit, hh := omit } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17957 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: I279901aeffd09de071d274944cd0f1a93d711f85 Gerrit-Change-Number: 17957 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 Apr 27 16:56:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 27 Apr 2020 16:56:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: apply BYTEORDER(last) to field 'ext_ra' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17958 ) Change subject: library/GSM_RR_Types.ttcn: fix: apply BYTEORDER(last) to field 'ext_ra' ...................................................................... library/GSM_RR_Types.ttcn: fix: apply BYTEORDER(last) to field 'ext_ra' By default, the BYTEORDER for BIT1..N sub-types is set to 'first'. This may result in incorrect decoding of bit-fields located on the boundary of two octets. For example: IA Rest Octets L... .... = First Discriminator Bit: Low .H.. .... = Second Discriminator Bit: High ..0. .... = Discriminator bit: EGPRS Packet Uplink Assignment ...0 .... = Downlink/Uplink: EGPRS Packet Uplink Assignment EGPRS Packet Uplink Assignment .... 0001 1... .... = Extended_RA: 3 // <------------ (!) .0.. .... = Access Technologies Request: Not Present ..1. .... = TFI/Multiblock: TFI Assignment Present ...0 0000 = TFI_Assignment: 0 As can be seen, the field 'Extended_RA' in this particular case occupies 4 LSBs of the first octet and 1 MSB of the second. So instead of '00011'B, TITAN's RAW codec decodes '10001'B. Unfortunaly there is no way to use BYTEORDER(last) to the whole record or the whole file, so we may run into a similar problem with basically any other field of size >= 2 (BIT2..N). Let's fix at least 'ext_ra' for now as it's to be checked in the test cases introduced in the follow up changes. For more details, see: https://www.eclipse.org/forums/index.php/m/1826511/ https://bugs.eclipse.org/bugs/show_bug.cgi?id=562488 Change-Id: I481a40daef3eed4a3daa687ad87c4128a13181b4 --- M library/GSM_RR_Types.ttcn 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/58/17958/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 5478754..9f56afd 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -409,6 +409,8 @@ variant (r99) "CSN.1 L/H" variant (presence) "PRESENCE(r99 = '1'B)" /* H */ variant (ext_ra) "PRESENCE(presence = '1'B)" + /* See https://bugs.eclipse.org/bugs/show_bug.cgi?id=562488#c1 */ + variant (ext_ra) "BYTEORDER(last)" }; type union PacketUlDlAssignUnion { PacketUlAssign ul, @@ -631,6 +633,8 @@ variant (ats) "PRESENCE(ats_present = '1'B)" variant (dynamic) "PRESENCE(presence = '1'B)" variant (multiblock) "PRESENCE(presence = '0'B)" + /* See https://bugs.eclipse.org/bugs/show_bug.cgi?id=562488#c1 */ + variant (ext_ra) "BYTEORDER(last)" }; type octetstring MblkDlAss; /* TODO */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17958 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: I481a40daef3eed4a3daa687ad87c4128a13181b4 Gerrit-Change-Number: 17958 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 Apr 27 16:56:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 27 Apr 2020 16:56:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: add test cases for EGPRS Packet Channel Request In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17706 ) Change subject: PCU: add test cases for EGPRS Packet Channel Request ...................................................................... Patch Set 5: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17706 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: Ib5732956ea160f93d82f06bf82bea45501f439d2 Gerrit-Change-Number: 17706 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 27 Apr 2020 16:56:58 +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 Apr 27 17:01:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 27 Apr 2020 17:01:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: use 'CSN.1 L/H' attribute where needed 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/+/17957 to look at the new patch set (#2). Change subject: library/GSM_RR_Types.ttcn: use 'CSN.1 L/H' attribute where needed ...................................................................... library/GSM_RR_Types.ttcn: use 'CSN.1 L/H' attribute where needed Thanks to Harald, TITAN's RAW codec now supports the L/H syntax. Change-Id: I279901aeffd09de071d274944cd0f1a93d711f85 --- M library/GSM_RR_Types.ttcn 1 file changed, 7 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/57/17957/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17957 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: I279901aeffd09de071d274944cd0f1a93d711f85 Gerrit-Change-Number: 17957 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 Apr 27 17:05:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 27 Apr 2020 17:05:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: apply BYTEORDER(last) to field 'ext_ra' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17958 ) Change subject: library/GSM_RR_Types.ttcn: fix: apply BYTEORDER(last) to field 'ext_ra' ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17958 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: I481a40daef3eed4a3daa687ad87c4128a13181b4 Gerrit-Change-Number: 17958 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 27 Apr 2020 17:05: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 Apr 27 17:10:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 27 Apr 2020 17:10:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: add test cases for EGPRS Packet Channel Request In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17706 ) Change subject: PCU: add test cases for EGPRS Packet Channel Request ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17706 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: Ib5732956ea160f93d82f06bf82bea45501f439d2 Gerrit-Change-Number: 17706 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 27 Apr 2020 17:10: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 Apr 27 17:33:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 27 Apr 2020 17:33:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: apply BYTEORDER(last) globally In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17958 to look at the new patch set (#3). Change subject: library/GSM_RR_Types.ttcn: fix: apply BYTEORDER(last) globally ...................................................................... library/GSM_RR_Types.ttcn: fix: apply BYTEORDER(last) globally By default, the BYTEORDER for BIT1..N sub-types is set to 'first'. This may result in incorrect decoding of bit-fields located on the boundary of two octets. For example: IA Rest Octets L... .... = First Discriminator Bit: Low .H.. .... = Second Discriminator Bit: High ..0. .... = Discriminator bit: EGPRS Packet Uplink Assignment ...0 .... = Downlink/Uplink: EGPRS Packet Uplink Assignment EGPRS Packet Uplink Assignment .... 0001 1... .... = Extended_RA: 3 // <------------ (!) .0.. .... = Access Technologies Request: Not Present ..1. .... = TFI/Multiblock: TFI Assignment Present ...0 0000 = TFI_Assignment: 0 As can be seen, the field 'Extended_RA' in this particular case occupies 4 LSBs of the first octet and 1 MSB of the second. So instead of '00011'B, TITAN's RAW codec decodes '10001'B. For more details, see: https://www.eclipse.org/forums/index.php/m/1826511/ https://bugs.eclipse.org/bugs/show_bug.cgi?id=562488 Change-Id: I481a40daef3eed4a3daa687ad87c4128a13181b4 --- M library/GSM_RR_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/58/17958/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17958 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: I481a40daef3eed4a3daa687ad87c4128a13181b4 Gerrit-Change-Number: 17958 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 Mon Apr 27 17:34:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 27 Apr 2020 17:34:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: apply BYTEORDER(last) globally In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17958 ) Change subject: library/GSM_RR_Types.ttcn: fix: apply BYTEORDER(last) globally ...................................................................... Patch Set 3: So it doesn't work per record but works globally? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17958 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: I481a40daef3eed4a3daa687ad87c4128a13181b4 Gerrit-Change-Number: 17958 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 27 Apr 2020 17:34: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 Mon Apr 27 17:35:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 27 Apr 2020 17:35:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: apply BYTEORDER(last) globally In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17958 ) Change subject: library/GSM_RR_Types.ttcn: fix: apply BYTEORDER(last) globally ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17958 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: I481a40daef3eed4a3daa687ad87c4128a13181b4 Gerrit-Change-Number: 17958 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 27 Apr 2020 17:35: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 Apr 27 20:16:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 27 Apr 2020 20:16:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Add support for PCRF emulation (CCR/CCA) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17950 ) Change subject: pgw: Add support for PCRF emulation (CCR/CCA) ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17950 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: I5f0c7a66d38e5c8b5f36b45717d49648a14ed7b2 Gerrit-Change-Number: 17950 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 27 Apr 2020 20:16: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 Apr 27 20:16:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 27 Apr 2020 20:16:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pgw: Add support for PCRF emulation (CCR/CCA) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17950 ) Change subject: pgw: Add support for PCRF emulation (CCR/CCA) ...................................................................... pgw: Add support for PCRF emulation (CCR/CCA) If mp_pcrf_local_ip is set to a non-empty string, the PGW testsuite now emulates a PCRF and expects the PGW to perform the related transactions - so far Credit-Control-Request INITIAL_REQUEST at session creation, and TERMINATION_REQUST at session deletion. Change-Id: I5f0c7a66d38e5c8b5f36b45717d49648a14ed7b2 --- M library/DIAMETER_Templates.ttcn M pgw/PGW_Tests.ttcn M pgw/gen_links.sh M pgw/regen_makefile.sh 4 files changed, 176 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/DIAMETER_Templates.ttcn b/library/DIAMETER_Templates.ttcn index 450e013..2cc2986 100644 --- a/library/DIAMETER_Templates.ttcn +++ b/library/DIAMETER_Templates.ttcn @@ -326,6 +326,51 @@ } } } +template (present) GenericAVP tr_AVP_AuthAppId(template (present) OCTET4 auth_app_id := ?) := { + avp := { + avp_header := tr_DIA_Hdr(c_AVP_Code_BASE_NONE_Auth_Application_Id), + avp_data := { + avp_BASE_NONE_Auth_Application_Id := auth_app_id + } + } +} + +template (value) GenericAVP ts_AVP_CcReqType(template (value) DCC_NONE_CC_Request_Type r) := { + avp := { + avp_header := ts_DIA_Hdr(c_AVP_Code_DCC_NONE_CC_Request_Type), + avp_data := { + avp_DCC_NONE_CC_Request_Type := r + } + } +} +template (present) GenericAVP tr_AVP_CcReqType(template (present) DCC_NONE_CC_Request_Type r := ?) := { + avp := { + avp_header := tr_DIA_Hdr(c_AVP_Code_DCC_NONE_CC_Request_Type), + avp_data := { + avp_DCC_NONE_CC_Request_Type := r + } + } +} + +template (value) GenericAVP ts_AVP_CcReqNum(template (value) AVP_Unsigned32 n) := { + avp := { + avp_header := ts_DIA_Hdr(c_AVP_Code_DCC_NONE_CC_Request_Number), + avp_data := { + avp_DCC_NONE_CC_Request_Number := n + } + } +} +template (present) GenericAVP tr_AVP_CcReqNum(template (present) AVP_Unsigned32 n := ?) := { + avp := { + avp_header := tr_DIA_Hdr(c_AVP_Code_DCC_NONE_CC_Request_Number), + avp_data := { + avp_DCC_NONE_CC_Request_Number := n + } + } +} + + + template (value) GenericAVP ts_AVP_SuppVendorIdRaw(uint32_t vendor_id) := { avp := { @@ -879,4 +924,43 @@ +/* RFC 4006 3.1. Credit-Control-Request (CCR) Command */ +template (present) PDU_DIAMETER +tr_DIA_CCR(template (present) DCC_NONE_CC_Request_Type req_type := INITIAL_REQUEST) +:= tr_DIAMETER(flags:='11000000'B, cmd_code:=Credit_Control, + app_id:=int2oct(c_DIAMETER_3GPP_Gx_AID, 4), + avps := superset( + tr_AVP_SessionId, + tr_AVP_OriginHost, + tr_AVP_OriginRealm, + tr_AVP_DestinationRealm, + tr_AVP_AuthAppId(int2oct(c_DIAMETER_3GPP_Gx_AID, 4)), + tr_AVP_CcReqType(req_type), + tr_AVP_CcReqNum(?) + )); + + +/* RFC 4006 3.2. Credit-Control-Answer (CCA) Command */ +template (value) PDU_DIAMETER +ts_DIA_CCA(template (value) UINT32 hbh_id, template (value) UINT32 ete_id, + template (value) octetstring sess_id, + template (value) DCC_NONE_CC_Request_Type req_type, + template (value) AVP_Unsigned32 req_num) + +:= ts_DIAMETER(flags:='01000000'B, cmd_code:=Credit_Control, + app_id:=int2oct(c_DIAMETER_3GPP_Gx_AID, 4), hbh_id:=hbh_id, ete_id:=ete_id, + avps := { + ts_AVP_SessionId(sess_id), + ts_AVP_ResultCode(DIAMETER_SUCCESS), + ts_AVP_OriginHost("pcrf.localdomain"), + ts_AVP_OriginRealm("localdomain"), + ts_AVP_AuthAppId(int2oct(c_DIAMETER_3GPP_Gx_AID, 4)), + ts_AVP_CcReqType(req_type), + ts_AVP_CcReqNum(req_num)//, + // qos + // default eps bearer qos + // supported features + // origin + }); + } diff --git a/pgw/PGW_Tests.ttcn b/pgw/PGW_Tests.ttcn index c99302c..81e3552 100644 --- a/pgw/PGW_Tests.ttcn +++ b/pgw/PGW_Tests.ttcn @@ -12,22 +12,37 @@ import from DNS_Helpers all; + +import from DIAMETER_Types all; +import from DIAMETER_Templates all; +import from DIAMETER_Emulation all; + + modulepar { charstring mp_pgw_hostname := "127.0.0.3"; charstring mp_local_hostname_c := "127.0.0.1"; charstring mp_local_hostname_u := "127.0.0.1"; + charstring mp_run_prog_as_user := "laforge"; charstring mp_ping_hostname := "10.45.0.1"; + + charstring mp_pcrf_local_ip := "127.0.0.5"; + integer mp_pcrf_local_port := 3868; } /* main component, we typically have one per testcase */ type component PGW_Test_CT { var GTPv2_Emulation_CT vc_GTP2; port GTP2EM_PT TEID0; + + /* emulated PCRF */ + var DIAMETER_Emulation_CT vc_DIAMETER; + port DIAMETER_PT DIAMETER_UNIT; + port DIAMETEREM_PROC_PT DIAMETER_PROC; } /* per-session component; we typically have 1..N per testcase */ -type component PGW_Session_CT extends GTP2_ConnHdlr { +type component PGW_Session_CT extends GTP2_ConnHdlr, DIAMETER_ConnHdlr { var SessionPars g_pars; /* TEI (Data) local side */ @@ -91,6 +106,35 @@ type function void_fn() runs on PGW_Session_CT; +friend function DiameterForwardUnitdataCallback(PDU_DIAMETER msg) +runs on DIAMETER_Emulation_CT return template PDU_DIAMETER { + DIAMETER_UNIT.send(msg); + return omit; +} + +friend function f_init_diameter(charstring id) runs on PGW_Test_CT { + var DIAMETEROps ops := { + create_cb := refers(DIAMETER_Emulation.ExpectedCreateCallback), + unitdata_cb := refers(DiameterForwardUnitdataCallback) + }; + var DIAMETER_conn_parameters pars := { + remote_ip := mp_pgw_hostname, + remote_sctp_port := -1, + local_ip := mp_pcrf_local_ip, + local_sctp_port := mp_pcrf_local_port, + origin_host := "pcrf.localdomain", + origin_realm := "localdomain", + vendor_app_id := c_DIAMETER_3GPP_Gx_AID + }; + vc_DIAMETER := DIAMETER_Emulation_CT.create(id); + map(vc_DIAMETER:DIAMETER, system:DIAMETER_CODEC_PT); + connect(vc_DIAMETER:DIAMETER_UNIT, self:DIAMETER_UNIT); + connect(vc_DIAMETER:DIAMETER_PROC, self:DIAMETER_PROC); + vc_DIAMETER.start(DIAMETER_Emulation.main(ops, pars, id)); + + f_diameter_wait_capability(DIAMETER_UNIT); +} + private function f_init() runs on PGW_Test_CT { var Gtp2EmulationCfg cfg := { gtpc_bind_ip := mp_local_hostname_c, @@ -105,6 +149,10 @@ map(vc_GTP2:GTP2C, system:GTP2C); connect(vc_GTP2:TEID0, self:TEID0); vc_GTP2.start(GTPv2_Emulation.main(cfg)); + + if (mp_pcrf_local_ip != "") { + f_init_diameter(testcasename()); + } } function f_start_handler(void_fn fn, template (omit) SessionPars pars := omit) @@ -114,6 +162,12 @@ vc_conn := PGW_Session_CT.create(id); connect(vc_conn:GTP2, vc_GTP2:CLIENT); connect(vc_conn:GTP2_PROC, vc_GTP2:CLIENT_PROC); + + if (isbound(vc_DIAMETER)) { + connect(vc_conn:DIAMETER, vc_DIAMETER:DIAMETER_CLIENT); + connect(vc_conn:DIAMETER_PROC, vc_DIAMETER:DIAMETER_PROC); + } + vc_conn.start(f_handler_init(fn, pars)); return vc_conn; } @@ -123,6 +177,9 @@ if (isvalue(pars)) { g_pars := valueof(pars); } + if (DIAMETER_PROC.checkstate("Connected")) { + f_diameter_expect(g_pars.imsi); + } fn.apply(); } @@ -146,6 +203,28 @@ return f_concat_pad(12, '49123'H, suffix); } +private altstep as_DIA_CCR(DCC_NONE_CC_Request_Type req_type) runs on PGW_Session_CT { + var PDU_DIAMETER rx_dia; + [] DIAMETER.receive(tr_DIA_CCR(req_type := req_type)) -> value rx_dia { + var template (omit) AVP avp; + var octetstring sess_id; + var AVP_Unsigned32 req_num; + + avp := f_DIAMETER_get_avp(rx_dia, c_AVP_Code_BASE_NONE_Session_Id); + sess_id := valueof(avp.avp_data.avp_BASE_NONE_Session_Id); + + avp := f_DIAMETER_get_avp(rx_dia, c_AVP_Code_DCC_NONE_CC_Request_Number); + req_num := valueof(avp.avp_data.avp_DCC_NONE_CC_Request_Number); + + DIAMETER.send(ts_DIA_CCA(rx_dia.hop_by_hop_id, rx_dia.end_to_end_id, sess_id, + req_type, req_num)); + } + [] DIAMETER.receive(PDU_DIAMETER:?) -> value rx_dia { + setverdict(fail, "Received unexpected DIAMETER ", rx_dia); + self.stop; + } +} + /* find TEID of given interface type (and optionally instance) */ private function f_find_teid(FullyQualifiedTEID_List list, @@ -228,6 +307,9 @@ g2c.gtpcv2_pdu.createSessionRequest.userLocationInfo := ts_GTP2C_UserLocInfo(tai := tai, ecgi := ecgi); GTP2.send(g2c); + if (DIAMETER_PROC.checkstate("Connected")) { + as_DIA_CCR(INITIAL_REQUEST); + } alt { [] GTP2.receive(tr_GTP2C_CreateSessionResp(d_teid:=g_teic, cause:='10'O)) -> value rx { /* extract TEIDs */ @@ -283,6 +365,9 @@ teid_list := {}, bearer_id := 1); GTP2.send(g2c); + if (DIAMETER_PROC.checkstate("Connected")) { + as_DIA_CCR(TERMINATION_REQUEST); + } alt { [] GTP2.receive(tr_GTP2C_DeleteSessionResp(d_teid := exp_teid, cause := exp_cause)) { setverdict(pass); diff --git a/pgw/gen_links.sh b/pgw/gen_links.sh index 061d78c..a0f1281 100755 --- a/pgw/gen_links.sh +++ b/pgw/gen_links.sh @@ -44,12 +44,17 @@ FILES="UECUPS_CodecPort.ttcn UECUPS_CodecPort_CtrlFunct.ttcn UECUPS_CodecPort_CtrlFunctDef.cc UECUPS_Types.ttcn " gen_links $DIR $FILES +DIR=$BASEDIR/titan.ProtocolModules.DIAMETER_ProtocolModule_Generator/src +FILES="DIAMETER_EncDec.cc" +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+="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 " +FILES+="DIAMETER_Types.ttcn DIAMETER_CodecPort.ttcn DIAMETER_CodecPort_CtrlFunct.ttcn DIAMETER_CodecPort_CtrlFunctDef.cc DIAMETER_Emulation.ttcn DIAMETER_Templates.ttcn " gen_links $DIR $FILES ignore_pp_results diff --git a/pgw/regen_makefile.sh b/pgw/regen_makefile.sh index f53150c..adb5820 100755 --- a/pgw/regen_makefile.sh +++ b/pgw/regen_makefile.sh @@ -2,5 +2,6 @@ FILES="*.ttcn IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc GTPC_EncDec.cc GTPU_EncDec.cc GTP_CodecPort_CtrlFunctDef.cc GTPv2_CodecPort_CtrlFunctDef.cc ICMPv6_EncDec.cc IP_EncDec.cc Native_FunctionDefs.cc UDP_EncDec.cc ICMP_EncDec.cc " FILES+="UECUPS_CodecPort_CtrlFunctDef.cc " +FILES+="DIAMETER_EncDec.cc DIAMETER_CodecPort_CtrlFunctDef.cc " ../regen-makefile.sh PGW_Tests.ttcn $FILES -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17950 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: I5f0c7a66d38e5c8b5f36b45717d49648a14ed7b2 Gerrit-Change-Number: 17950 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 admin at opensuse.org Tue Apr 28 01:46:25 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 28 Apr 2020 01:46:25 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea78b08c2afa_248e2ab4e597c6001184192@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 742s] | CONFIG_LINKS = [ 742s] | CONFIG_COMMANDS = [ 742s] | $ ./config.status Doxyfile.core [ 742s] | [ 742s] | on obs-arm-6 [ 742s] | [ 742s] | config.status:1341: creating Doxyfile.core [ 742s] [ 742s] # -*- compilation -*- [ 742s] 59. testsuite.at:372: testing exec ... [ 742s] ./testsuite.at:376: $abs_top_builddir/tests/exec/exec_test [ 742s] --- experr 2020-04-28 01:46:17.060000000 +0000 [ 742s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/59/stderr 2020-04-28 01:46:17.065000000 +0000 [ 742s] @@ -1 +0,0 @@ [ 742s] -MAHLZEIT=spaet [ 742s] 59. testsuite.at:372: 59. exec (testsuite.at:372): FAILED (testsuite.at:376) [ 742s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 742s] make[1]: *** [override_dh_auto_test] Error 1 [ 742s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 742s] debian/rules:15: recipe for target 'build' failed [ 742s] make: *** [build] Error 2 [ 742s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 742s] ### VM INTERACTION START ### [ 745s] [ 722.477120] sysrq: SysRq : Power Off [ 745s] [ 722.504454] reboot: Power down [ 745s] ### VM INTERACTION END ### [ 745s] [ 745s] obs-arm-6 failed "build libosmocore_1.3.0.71.1f48b.dsc" at Tue Apr 28 01:46:22 UTC 2020. [ 745s] -- 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 Apr 28 07:31:22 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 28 Apr 2020 07:31:22 +0000 Subject: Change in osmo-bsc[master]: om2k: Add definitions for the TG object References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17959 ) Change subject: om2k: Add definitions for the TG object ...................................................................... om2k: Add definitions for the TG object Signed-off-by: Sylvain Munaut Change-Id: I6d90554a54baa78f454281a486e4b5e95784fdee --- M include/osmocom/bsc/abis_om2000.h M src/osmo-bsc/abis_om2000.c 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/59/17959/1 diff --git a/include/osmocom/bsc/abis_om2000.h b/include/osmocom/bsc/abis_om2000.h index 49e8510..bcdb7fd 100644 --- a/include/osmocom/bsc/abis_om2000.h +++ b/include/osmocom/bsc/abis_om2000.h @@ -24,6 +24,7 @@ enum abis_om2k_mo_cls { OM2K_MO_CLS_TRXC = 0x01, + OM2K_MO_CLS_TG = 0x02, OM2K_MO_CLS_TS = 0x03, OM2K_MO_CLS_TF = 0x04, OM2K_MO_CLS_IS = 0x05, diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index f8efa39..e1a526c 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -698,6 +698,7 @@ const struct value_string om2k_mo_class_short_vals[] = { { 0x01, "TRXC" }, + { 0x02, "TG" }, { 0x03, "TS" }, { 0x04, "TF" }, { 0x05, "IS" }, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17959 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6d90554a54baa78f454281a486e4b5e95784fdee Gerrit-Change-Number: 17959 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 Tue Apr 28 07:31:24 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 28 Apr 2020 07:31:24 +0000 Subject: Change in osmo-bsc[master]: om2k: Allow TG and MCTR to be manipulated via VTY References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17960 ) Change subject: om2k: Allow TG and MCTR to be manipulated via VTY ...................................................................... om2k: Allow TG and MCTR to be manipulated via VTY Signed-off-by: Sylvain Munaut Change-Id: I3983ba9f06c48d515a7b739b00f05023af632267 --- M src/osmo-bsc/abis_om2000_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/60/17960/1 diff --git a/src/osmo-bsc/abis_om2000_vty.c b/src/osmo-bsc/abis_om2000_vty.c index 3ae870e..8564859 100644 --- a/src/osmo-bsc/abis_om2000_vty.c +++ b/src/osmo-bsc/abis_om2000_vty.c @@ -66,7 +66,7 @@ } /* FIXME: auto-generate those strings from the value_string lists */ -#define OM2K_OBJCLASS_VTY "(trxc|ts|tf|is|con|dp|cf|tx|rx)" +#define OM2K_OBJCLASS_VTY "(trxc|tg|ts|tf|is|con|dp|mctr|cf|tx|rx)" #define OM2K_OBJCLASS_VTY_HELP "TRX Controller\n" \ "Timeslot\n" \ "Timing Function\n" \ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17960 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3983ba9f06c48d515a7b739b00f05023af632267 Gerrit-Change-Number: 17960 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 Tue Apr 28 07:31:24 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 28 Apr 2020 07:31:24 +0000 Subject: Change in osmo-bsc[master]: om2k: Allow the CON configuration request to be triggered via VTY References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17961 ) Change subject: om2k: Allow the CON configuration request to be triggered via VTY ...................................................................... om2k: Allow the CON configuration request to be triggered via VTY Signed-off-by: Sylvain Munaut Change-Id: Id1171a151773182bb5cdc14c023c3637fb9ad0bc --- M include/osmocom/bsc/abis_om2000.h M src/osmo-bsc/abis_om2000_vty.c 2 files changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/61/17961/1 diff --git a/include/osmocom/bsc/abis_om2000.h b/include/osmocom/bsc/abis_om2000.h index bcdb7fd..163a49c 100644 --- a/include/osmocom/bsc/abis_om2000.h +++ b/include/osmocom/bsc/abis_om2000.h @@ -114,6 +114,7 @@ uint8_t operational); int abis_om2k_tx_cap_req(struct gsm_bts *bts, const struct abis_om2k_mo *mo); int abis_om2k_tx_is_conf_req(struct gsm_bts *bts); +int abis_om2k_tx_con_conf_req(struct gsm_bts *bts); int abis_om2k_tx_tf_conf_req(struct gsm_bts *bts); int abis_om2k_tx_rx_conf_req(struct gsm_bts_trx *trx); int abis_om2k_tx_tx_conf_req(struct gsm_bts_trx *trx); diff --git a/src/osmo-bsc/abis_om2000_vty.c b/src/osmo-bsc/abis_om2000_vty.c index 8564859..e047fa1 100644 --- a/src/osmo-bsc/abis_om2000_vty.c +++ b/src/osmo-bsc/abis_om2000_vty.c @@ -492,6 +492,9 @@ case OM2K_MO_CLS_IS: abis_om2k_tx_is_conf_req(bts); break; + case OM2K_MO_CLS_CON: + abis_om2k_tx_con_conf_req(bts); + break; case OM2K_MO_CLS_TS: trx = gsm_bts_trx_by_nr(bts, oms->mo.assoc_so); if (!trx) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17961 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id1171a151773182bb5cdc14c023c3637fb9ad0bc Gerrit-Change-Number: 17961 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 Tue Apr 28 07:31:24 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 28 Apr 2020 07:31:24 +0000 Subject: Change in osmo-bsc[master]: om2k: Add VTY command to allow TX of arbitrary message for testing References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17962 ) Change subject: om2k: Add VTY command to allow TX of arbitrary message for testing ...................................................................... om2k: Add VTY command to allow TX of arbitrary message for testing Signed-off-by: Sylvain Munaut Change-Id: I5a385614fc670946f83ea79cc176c2d448675672 --- M include/osmocom/bsc/abis_om2000.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c 3 files changed, 43 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/62/17962/1 diff --git a/include/osmocom/bsc/abis_om2000.h b/include/osmocom/bsc/abis_om2000.h index 163a49c..0d48c0c 100644 --- a/include/osmocom/bsc/abis_om2000.h +++ b/include/osmocom/bsc/abis_om2000.h @@ -113,6 +113,7 @@ int abis_om2k_tx_op_info(struct gsm_bts *bts, const struct abis_om2k_mo *mo, uint8_t operational); int abis_om2k_tx_cap_req(struct gsm_bts *bts, const struct abis_om2k_mo *mo); +int abis_om2k_tx_arb(struct gsm_bts *bts, struct abis_om2k_mo *mo, uint16_t req, uint8_t *buf, int buf_len); int abis_om2k_tx_is_conf_req(struct gsm_bts *bts); int abis_om2k_tx_con_conf_req(struct gsm_bts *bts); int abis_om2k_tx_tf_conf_req(struct gsm_bts *bts); diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index e1a526c..b221441 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1129,6 +1129,21 @@ return abis_om2k_tx_simple(bts, mo, OM2K_MSGT_CAPA_REQ); } +int abis_om2k_tx_arb(struct gsm_bts *bts, struct abis_om2k_mo *mo, + uint16_t req, uint8_t *buf, int buf_len) +{ + struct msgb *msg = om2k_msgb_alloc(); + struct abis_om2k_hdr *o2k; + + o2k = (struct abis_om2k_hdr *) msgb_put(msg, sizeof(*o2k)); + fill_om2k_hdr(o2k, mo, req); + + if (buf_len) + memcpy(msgb_put(msg, buf_len), buf, buf_len); + + return abis_om2k_sendmsg(bts, msg); +} + static void om2k_fill_is_conn_grp(struct om2k_is_conn_grp *grp, uint16_t icp1, uint16_t icp2, uint8_t cont_idx) { diff --git a/src/osmo-bsc/abis_om2000_vty.c b/src/osmo-bsc/abis_om2000_vty.c index e047fa1..e802b4f 100644 --- a/src/osmo-bsc/abis_om2000_vty.c +++ b/src/osmo-bsc/abis_om2000_vty.c @@ -253,6 +253,32 @@ return CMD_SUCCESS; } +DEFUN(om2k_arb, om2k_arb_cmd, + "arbitrary <0-65535> [HEXSTRING]", + "Send arbitrary OM2k message\n") +{ + struct oml_node_state *oms = vty->index; + uint8_t buf[128]; + int rc; + int cmd = atoi(argv[0]); + + if (argc >= 2) { + rc = osmo_hexparse(argv[1], buf, sizeof(buf)); + if (rc < 0 || rc > sizeof(buf)) { + vty_out(vty, "Error parsing HEXSTRING%s", VTY_NEWLINE); + return CMD_WARNING; + } + } else { + rc = 0; + } + + abis_om2k_tx_arb(oms->bts, &oms->mo, cmd, buf, rc); + + return CMD_SUCCESS; +} + + + static struct con_group *con_group_find_or_create(struct gsm_bts *bts, uint8_t cg) { struct con_group *ent; @@ -593,6 +619,7 @@ install_element(OM2K_NODE, &om2k_test_cmd); install_element(OM2K_NODE, &om2k_cap_req_cmd); install_element(OM2K_NODE, &om2k_conf_req_cmd); + install_element(OM2K_NODE, &om2k_arb_cmd); install_node(&om2k_con_group_node, dummy_config_write); install_element(OM2K_CON_GROUP_NODE, &cfg_om2k_con_path_dec_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17962 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5a385614fc670946f83ea79cc176c2d448675672 Gerrit-Change-Number: 17962 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 Tue Apr 28 07:51:01 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 28 Apr 2020 07:51:01 +0000 Subject: Change in osmo-bsc[master]: om2k: Allow TG and MCTR to be manipulated via 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/+/17960 to look at the new patch set (#2). Change subject: om2k: Allow TG and MCTR to be manipulated via VTY ...................................................................... om2k: Allow TG and MCTR to be manipulated via VTY Signed-off-by: Sylvain Munaut Change-Id: I3983ba9f06c48d515a7b739b00f05023af632267 --- M src/osmo-bsc/abis_om2000_vty.c 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/60/17960/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17960 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3983ba9f06c48d515a7b739b00f05023af632267 Gerrit-Change-Number: 17960 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Apr 28 07:51:01 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 28 Apr 2020 07:51:01 +0000 Subject: Change in osmo-bsc[master]: om2k: Add VTY command to allow TX of arbitrary message for testing 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/+/17962 to look at the new patch set (#2). Change subject: om2k: Add VTY command to allow TX of arbitrary message for testing ...................................................................... om2k: Add VTY command to allow TX of arbitrary message for testing Signed-off-by: Sylvain Munaut Change-Id: I5a385614fc670946f83ea79cc176c2d448675672 --- M include/osmocom/bsc/abis_om2000.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c 3 files changed, 45 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/62/17962/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17962 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5a385614fc670946f83ea79cc176c2d448675672 Gerrit-Change-Number: 17962 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Apr 28 08:54:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 28 Apr 2020 08:54:25 +0000 Subject: Change in osmo-bsc[master]: om2k: Add definitions for the TG object In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17959 ) Change subject: om2k: Add definitions for the TG object ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17959 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6d90554a54baa78f454281a486e4b5e95784fdee Gerrit-Change-Number: 17959 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 28 Apr 2020 08:54: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 Apr 28 08:54:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 28 Apr 2020 08:54:37 +0000 Subject: Change in osmo-bsc[master]: om2k: Allow TG and MCTR to be manipulated via VTY In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17960 ) Change subject: om2k: Allow TG and MCTR to be manipulated via VTY ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17960 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3983ba9f06c48d515a7b739b00f05023af632267 Gerrit-Change-Number: 17960 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 28 Apr 2020 08: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 Tue Apr 28 08:55:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 28 Apr 2020 08:55:10 +0000 Subject: Change in osmo-bsc[master]: om2k: Allow the CON configuration request to be triggered via VTY In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17961 ) Change subject: om2k: Allow the CON configuration request to be triggered via VTY ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17961 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id1171a151773182bb5cdc14c023c3637fb9ad0bc Gerrit-Change-Number: 17961 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 28 Apr 2020 08:55: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 Tue Apr 28 08:55:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 28 Apr 2020 08:55:42 +0000 Subject: Change in osmo-bsc[master]: om2k: Add VTY command to allow TX of arbitrary message for testing In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17962 ) Change subject: om2k: Add VTY command to allow TX of arbitrary message for testing ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17962 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5a385614fc670946f83ea79cc176c2d448675672 Gerrit-Change-Number: 17962 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 28 Apr 2020 08:55: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 Apr 28 08:55:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 28 Apr 2020 08:55:45 +0000 Subject: Change in osmo-bsc[master]: om2k: Add definitions for the TG object In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17959 ) Change subject: om2k: Add definitions for the TG object ...................................................................... om2k: Add definitions for the TG object Signed-off-by: Sylvain Munaut Change-Id: I6d90554a54baa78f454281a486e4b5e95784fdee --- M include/osmocom/bsc/abis_om2000.h M src/osmo-bsc/abis_om2000.c 2 files changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/abis_om2000.h b/include/osmocom/bsc/abis_om2000.h index 49e8510..bcdb7fd 100644 --- a/include/osmocom/bsc/abis_om2000.h +++ b/include/osmocom/bsc/abis_om2000.h @@ -24,6 +24,7 @@ enum abis_om2k_mo_cls { OM2K_MO_CLS_TRXC = 0x01, + OM2K_MO_CLS_TG = 0x02, OM2K_MO_CLS_TS = 0x03, OM2K_MO_CLS_TF = 0x04, OM2K_MO_CLS_IS = 0x05, diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index f8efa39..e1a526c 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -698,6 +698,7 @@ const struct value_string om2k_mo_class_short_vals[] = { { 0x01, "TRXC" }, + { 0x02, "TG" }, { 0x03, "TS" }, { 0x04, "TF" }, { 0x05, "IS" }, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17959 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6d90554a54baa78f454281a486e4b5e95784fdee Gerrit-Change-Number: 17959 Gerrit-PatchSet: 1 Gerrit-Owner: tnt 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 Apr 28 08:55:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 28 Apr 2020 08:55:46 +0000 Subject: Change in osmo-bsc[master]: om2k: Allow TG and MCTR to be manipulated via VTY In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17960 ) Change subject: om2k: Allow TG and MCTR to be manipulated via VTY ...................................................................... om2k: Allow TG and MCTR to be manipulated via VTY Signed-off-by: Sylvain Munaut Change-Id: I3983ba9f06c48d515a7b739b00f05023af632267 --- M src/osmo-bsc/abis_om2000_vty.c 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/abis_om2000_vty.c b/src/osmo-bsc/abis_om2000_vty.c index 3ae870e..1db470b 100644 --- a/src/osmo-bsc/abis_om2000_vty.c +++ b/src/osmo-bsc/abis_om2000_vty.c @@ -66,13 +66,15 @@ } /* FIXME: auto-generate those strings from the value_string lists */ -#define OM2K_OBJCLASS_VTY "(trxc|ts|tf|is|con|dp|cf|tx|rx)" +#define OM2K_OBJCLASS_VTY "(trxc|tg|ts|tf|is|con|dp|mctr|cf|tx|rx)" #define OM2K_OBJCLASS_VTY_HELP "TRX Controller\n" \ + "Trunk Group\n" \ "Timeslot\n" \ "Timing Function\n" \ "Interface Switch\n" \ "Abis Concentrator\n" \ "Digital Path\n" \ + "Multi Carrier Transceiver\n" \ "Central Function\n" \ "Transmitter\n" \ "Receiver\n" -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17960 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3983ba9f06c48d515a7b739b00f05023af632267 Gerrit-Change-Number: 17960 Gerrit-PatchSet: 2 Gerrit-Owner: tnt 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 Apr 28 08:55:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 28 Apr 2020 08:55:47 +0000 Subject: Change in osmo-bsc[master]: om2k: Allow the CON configuration request to be triggered via VTY In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17961 ) Change subject: om2k: Allow the CON configuration request to be triggered via VTY ...................................................................... om2k: Allow the CON configuration request to be triggered via VTY Signed-off-by: Sylvain Munaut Change-Id: Id1171a151773182bb5cdc14c023c3637fb9ad0bc --- M include/osmocom/bsc/abis_om2000.h M src/osmo-bsc/abis_om2000_vty.c 2 files changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/abis_om2000.h b/include/osmocom/bsc/abis_om2000.h index bcdb7fd..163a49c 100644 --- a/include/osmocom/bsc/abis_om2000.h +++ b/include/osmocom/bsc/abis_om2000.h @@ -114,6 +114,7 @@ uint8_t operational); int abis_om2k_tx_cap_req(struct gsm_bts *bts, const struct abis_om2k_mo *mo); int abis_om2k_tx_is_conf_req(struct gsm_bts *bts); +int abis_om2k_tx_con_conf_req(struct gsm_bts *bts); int abis_om2k_tx_tf_conf_req(struct gsm_bts *bts); int abis_om2k_tx_rx_conf_req(struct gsm_bts_trx *trx); int abis_om2k_tx_tx_conf_req(struct gsm_bts_trx *trx); diff --git a/src/osmo-bsc/abis_om2000_vty.c b/src/osmo-bsc/abis_om2000_vty.c index 1db470b..5404d62 100644 --- a/src/osmo-bsc/abis_om2000_vty.c +++ b/src/osmo-bsc/abis_om2000_vty.c @@ -494,6 +494,9 @@ case OM2K_MO_CLS_IS: abis_om2k_tx_is_conf_req(bts); break; + case OM2K_MO_CLS_CON: + abis_om2k_tx_con_conf_req(bts); + break; case OM2K_MO_CLS_TS: trx = gsm_bts_trx_by_nr(bts, oms->mo.assoc_so); if (!trx) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17961 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id1171a151773182bb5cdc14c023c3637fb9ad0bc Gerrit-Change-Number: 17961 Gerrit-PatchSet: 2 Gerrit-Owner: tnt 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 Apr 28 08:55:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 28 Apr 2020 08:55:47 +0000 Subject: Change in osmo-bsc[master]: om2k: Add VTY command to allow TX of arbitrary message for testing In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17962 ) Change subject: om2k: Add VTY command to allow TX of arbitrary message for testing ...................................................................... om2k: Add VTY command to allow TX of arbitrary message for testing Signed-off-by: Sylvain Munaut Change-Id: I5a385614fc670946f83ea79cc176c2d448675672 --- M include/osmocom/bsc/abis_om2000.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c 3 files changed, 45 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/abis_om2000.h b/include/osmocom/bsc/abis_om2000.h index 163a49c..0d48c0c 100644 --- a/include/osmocom/bsc/abis_om2000.h +++ b/include/osmocom/bsc/abis_om2000.h @@ -113,6 +113,7 @@ int abis_om2k_tx_op_info(struct gsm_bts *bts, const struct abis_om2k_mo *mo, uint8_t operational); int abis_om2k_tx_cap_req(struct gsm_bts *bts, const struct abis_om2k_mo *mo); +int abis_om2k_tx_arb(struct gsm_bts *bts, struct abis_om2k_mo *mo, uint16_t req, uint8_t *buf, int buf_len); int abis_om2k_tx_is_conf_req(struct gsm_bts *bts); int abis_om2k_tx_con_conf_req(struct gsm_bts *bts); int abis_om2k_tx_tf_conf_req(struct gsm_bts *bts); diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index e1a526c..b221441 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1129,6 +1129,21 @@ return abis_om2k_tx_simple(bts, mo, OM2K_MSGT_CAPA_REQ); } +int abis_om2k_tx_arb(struct gsm_bts *bts, struct abis_om2k_mo *mo, + uint16_t req, uint8_t *buf, int buf_len) +{ + struct msgb *msg = om2k_msgb_alloc(); + struct abis_om2k_hdr *o2k; + + o2k = (struct abis_om2k_hdr *) msgb_put(msg, sizeof(*o2k)); + fill_om2k_hdr(o2k, mo, req); + + if (buf_len) + memcpy(msgb_put(msg, buf_len), buf, buf_len); + + return abis_om2k_sendmsg(bts, msg); +} + static void om2k_fill_is_conn_grp(struct om2k_is_conn_grp *grp, uint16_t icp1, uint16_t icp2, uint8_t cont_idx) { diff --git a/src/osmo-bsc/abis_om2000_vty.c b/src/osmo-bsc/abis_om2000_vty.c index 5404d62..972fff0 100644 --- a/src/osmo-bsc/abis_om2000_vty.c +++ b/src/osmo-bsc/abis_om2000_vty.c @@ -255,6 +255,34 @@ return CMD_SUCCESS; } +DEFUN(om2k_arb, om2k_arb_cmd, + "arbitrary <0-65535> [HEXSTRING]", + "Send arbitrary OM2k message\n" + "Command identifier\n" + "Hex Encoded payload\n") +{ + struct oml_node_state *oms = vty->index; + uint8_t buf[128]; + int rc; + int cmd = atoi(argv[0]); + + if (argc >= 2) { + rc = osmo_hexparse(argv[1], buf, sizeof(buf)); + if (rc < 0 || rc > sizeof(buf)) { + vty_out(vty, "Error parsing HEXSTRING%s", VTY_NEWLINE); + return CMD_WARNING; + } + } else { + rc = 0; + } + + abis_om2k_tx_arb(oms->bts, &oms->mo, cmd, buf, rc); + + return CMD_SUCCESS; +} + + + static struct con_group *con_group_find_or_create(struct gsm_bts *bts, uint8_t cg) { struct con_group *ent; @@ -595,6 +623,7 @@ install_element(OM2K_NODE, &om2k_test_cmd); install_element(OM2K_NODE, &om2k_cap_req_cmd); install_element(OM2K_NODE, &om2k_conf_req_cmd); + install_element(OM2K_NODE, &om2k_arb_cmd); install_node(&om2k_con_group_node, dummy_config_write); install_element(OM2K_CON_GROUP_NODE, &cfg_om2k_con_path_dec_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17962 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5a385614fc670946f83ea79cc176c2d448675672 Gerrit-Change-Number: 17962 Gerrit-PatchSet: 2 Gerrit-Owner: tnt 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 Apr 28 09:21:35 2020 From: gerrit-no-reply at lists.osmocom.org (dmitrii.kalashnik) Date: Tue, 28 Apr 2020 09:21:35 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: use real tun device name after the device is up. References: Message-ID: dmitrii.kalashnik has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17963 ) Change subject: sgsnemu: use real tun device name after the device is up. ...................................................................... sgsnemu: use real tun device name after the device is up. The device name option could be empty, using it without checking would crash sgsnemu. Using the real device is better anyway. Change-Id: Ic3934281bfc2e433323e4ab72cf5be2cbd1c962a --- M sgsnemu/sgsnemu.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/63/17963/1 diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 4c51157..f137f2c 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -1928,11 +1928,11 @@ we don't need it. Don't exit on error since this sysctl is only available starting with linux 4.11. */ snprintf(buf, sizeof(buf), "%u", IN6_ADDR_GEN_MODE_NONE); - if (proc_ipv6_conf_write(options.tun_dev_name, "addr_gen_mode", buf) < 0) { + if (proc_ipv6_conf_write(tun->devname, "addr_gen_mode", buf) < 0) { SYS_ERR(DSGSN, LOGL_ERROR, errno, "Failed to disable addr_gen_mode on %s, an extra link-local " "ip address will appear on the tun device.\n", - options.tun_dev_name); + tun->devname); } #endif @@ -1940,9 +1940,9 @@ if (tun->fd > maxfd) maxfd = tun->fd; - if (proc_ipv6_conf_write(options.tun_dev_name, "accept_ra", "0") < 0) { + if (proc_ipv6_conf_write(tun->devname, "accept_ra", "0") < 0) { SYS_ERR(DSGSN, LOGL_ERROR, 0, - "Failed to disable IPv6 SLAAC on %s\n", options.tun_dev_name); + "Failed to disable IPv6 SLAAC on %s\n", tun->devname); exit(1); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17963 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ic3934281bfc2e433323e4ab72cf5be2cbd1c962a Gerrit-Change-Number: 17963 Gerrit-PatchSet: 1 Gerrit-Owner: dmitrii.kalashnik Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Apr 28 09:57:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 09:57:27 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: use real tun device name after the device is up. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17963 ) Change subject: sgsnemu: use real tun device name after the device is up. ...................................................................... Patch Set 1: Code-Review+2 Good catch, thanks! -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17963 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ic3934281bfc2e433323e4ab72cf5be2cbd1c962a Gerrit-Change-Number: 17963 Gerrit-PatchSet: 1 Gerrit-Owner: dmitrii.kalashnik Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 09:57: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 Apr 28 09:57:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 09:57:37 +0000 Subject: Change in osmo-ggsn[master]: sgsnemu: use real tun device name after the device is up. In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17963 ) Change subject: sgsnemu: use real tun device name after the device is up. ...................................................................... sgsnemu: use real tun device name after the device is up. The device name option could be empty, using it without checking would crash sgsnemu. Using the real device is better anyway. Change-Id: Ic3934281bfc2e433323e4ab72cf5be2cbd1c962a --- M sgsnemu/sgsnemu.c 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 4c51157..f137f2c 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -1928,11 +1928,11 @@ we don't need it. Don't exit on error since this sysctl is only available starting with linux 4.11. */ snprintf(buf, sizeof(buf), "%u", IN6_ADDR_GEN_MODE_NONE); - if (proc_ipv6_conf_write(options.tun_dev_name, "addr_gen_mode", buf) < 0) { + if (proc_ipv6_conf_write(tun->devname, "addr_gen_mode", buf) < 0) { SYS_ERR(DSGSN, LOGL_ERROR, errno, "Failed to disable addr_gen_mode on %s, an extra link-local " "ip address will appear on the tun device.\n", - options.tun_dev_name); + tun->devname); } #endif @@ -1940,9 +1940,9 @@ if (tun->fd > maxfd) maxfd = tun->fd; - if (proc_ipv6_conf_write(options.tun_dev_name, "accept_ra", "0") < 0) { + if (proc_ipv6_conf_write(tun->devname, "accept_ra", "0") < 0) { SYS_ERR(DSGSN, LOGL_ERROR, 0, - "Failed to disable IPv6 SLAAC on %s\n", options.tun_dev_name); + "Failed to disable IPv6 SLAAC on %s\n", tun->devname); exit(1); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17963 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ic3934281bfc2e433323e4ab72cf5be2cbd1c962a Gerrit-Change-Number: 17963 Gerrit-PatchSet: 1 Gerrit-Owner: dmitrii.kalashnik 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 Apr 28 10:14:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 10:14:57 +0000 Subject: Change in libosmocore[master]: gsm_04_06.h: Remove repeated egprs header struct definitions References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17964 ) Change subject: gsm_04_06.h: Remove repeated egprs header struct definitions ...................................................................... gsm_04_06.h: Remove repeated egprs header struct definitions Each struct already contains different definition based on endianess, so there's no reason to re-define all of them again based on endianess. Probably at some point somebody run the script ./contrib/struct_endianess.py on those structures but forgot to remove the old way of supporting differnet endianess. Change-Id: Ibd002e52979950e09013767fa643b2a3c52dfea9 --- M include/osmocom/gprs/protocol/gsm_04_60.h 1 file changed, 0 insertions(+), 153 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/64/17964/1 diff --git a/include/osmocom/gprs/protocol/gsm_04_60.h b/include/osmocom/gprs/protocol/gsm_04_60.h index f592b14..05728f4 100644 --- a/include/osmocom/gprs/protocol/gsm_04_60.h +++ b/include/osmocom/gprs/protocol/gsm_04_60.h @@ -9,7 +9,6 @@ #include #include -#if OSMO_IS_LITTLE_ENDIAN == 1 /* TS 04.60 10.3a.4.1.1 */ struct gprs_rlc_ul_header_egprs_1 { #if OSMO_IS_LITTLE_ENDIAN @@ -160,158 +159,6 @@ uint8_t dummy:1, spb:2, cps:4, bsn1_lo:1; #endif } __attribute__ ((packed)); -#else -/* TS 04.60 10.3a.4.1.1 */ -struct gprs_rlc_ul_header_egprs_1 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t tfi_hi:2, - cv:4, - si:1, - r:1; - uint8_t bsn1_hi:5, - tfi_lo:3; - uint8_t bsn2_hi:2, - bsn1_lo:6; - uint8_t bsn2_lo:8; - uint8_t spare_hi:1, - pi:1, - rsb:1, - cps:5; - uint8_t dummy:2, - spare_lo:6; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t r:1, si:1, cv:4, tfi_hi:2; - uint8_t tfi_lo:3, bsn1_hi:5; - uint8_t bsn1_lo:6, bsn2_hi:2; - uint8_t bsn2_lo:8; - uint8_t cps:5, rsb:1, pi:1, spare_hi:1; - uint8_t spare_lo:6, dummy:2; -#endif -} __attribute__ ((packed)); - -/* TS 04.60 10.3a.4.2.1 */ -struct gprs_rlc_ul_header_egprs_2 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t tfi_hi:2, - cv:4, - si:1, - r:1; - uint8_t bsn1_hi:5, - tfi_lo:3; - uint8_t cps_hi:2, - bsn1_lo:6; - uint8_t spare_hi:5, - pi:1, - rsb:1, - cps_lo:1; - uint8_t dummy:3, - spare_lo:5; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t r:1, si:1, cv:4, tfi_hi:2; - uint8_t tfi_lo:3, bsn1_hi:5; - uint8_t bsn1_lo:6, cps_hi:2; - uint8_t cps_lo:1, rsb:1, pi:1, spare_hi:5; - uint8_t spare_lo:5, dummy:3; -#endif -} __attribute__ ((packed)); - -/* TS 04.60 10.3a.4.3.1 */ -struct gprs_rlc_ul_header_egprs_3 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t tfi_hi:2, - cv:4, - si:1, - r:1; - uint8_t bsn1_hi:5, - tfi_lo:3; - uint8_t cps_hi:2, - bsn1_lo:6; - uint8_t dummy:1, - spare:1, - pi:1, - rsb:1, - spb:2, - cps_lo:2; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t r:1, si:1, cv:4, tfi_hi:2; - uint8_t tfi_lo:3, bsn1_hi:5; - uint8_t bsn1_lo:6, cps_hi:2; - uint8_t cps_lo:2, spb:2, rsb:1, pi:1, spare:1, dummy:1; -#endif -} __attribute__ ((packed)); - -struct gprs_rlc_dl_header_egprs_1 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t tfi_hi:1, - rrbp:2, - es_p:2, - usf:3; - uint8_t bsn1_hi:2, - pr:2, - tfi_lo:4; - uint8_t bsn1_mid:8; - uint8_t bsn2_hi:7, - bsn1_lo:1; - uint8_t cps:5, - bsn2_lo:3; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t usf:3, es_p:2, rrbp:2, tfi_hi:1; - uint8_t tfi_lo:4, pr:2, bsn1_hi:2; - uint8_t bsn1_mid:8; - uint8_t bsn1_lo:1, bsn2_hi:7; - uint8_t bsn2_lo:3, cps:5; -#endif -} __attribute__ ((packed)); - -struct gprs_rlc_dl_header_egprs_2 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t tfi_hi:1, - rrbp:2, - es_p:2, - usf:3; - uint8_t bsn1_hi:2, - pr:2, - tfi_lo:4; - uint8_t bsn1_mid:8; - uint8_t dummy:4, - cps:3, - bsn1_lo:1; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t usf:3, es_p:2, rrbp:2, tfi_hi:1; - uint8_t tfi_lo:4, pr:2, bsn1_hi:2; - uint8_t bsn1_mid:8; - uint8_t bsn1_lo:1, cps:3, dummy:4; -#endif -} __attribute__ ((packed)); - -struct gprs_rlc_dl_header_egprs_3 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t tfi_hi:1, - rrbp:2, - es_p:2, - usf:3; - uint8_t bsn1_hi:2, - pr:2, - tfi_lo:4; - uint8_t bsn1_mid:8; - uint8_t dummy:1, - spb:2, - cps:4, - bsn1_lo:1; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t usf:3, es_p:2, rrbp:2, tfi_hi:1; - uint8_t tfi_lo:4, pr:2, bsn1_hi:2; - uint8_t bsn1_mid:8; - uint8_t bsn1_lo:1, cps:4, spb:2, dummy:1; -#endif -} __attribute__ ((packed)); -#endif /* TS 03.60 Chapter 6.3.3.1: Network Mode of Operation */ enum osmo_gprs_nmo { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17964 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibd002e52979950e09013767fa643b2a3c52dfea9 Gerrit-Change-Number: 17964 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 Apr 28 10:57:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 10:57:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC: Add partial support for EGPRS data block encoding/dec... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965 ) Change subject: library/RLCMAC: Add partial support for EGPRS data block encoding/decoding ...................................................................... library/RLCMAC: Add partial support for EGPRS data block encoding/decoding * RlcmacUlBlock and RlcmacDlBlock gain a new union field "egprs_data", which is chosen when msg contains an egprs data block. Hence one can use same structure for both gprs/egprs data and simply check "ischosen(block.data_egprs)" to know whether it contains egprs or gprs data block. * C++ code in RLCMAC_EncDec.cc takes care of encoding and decoding of each data header type and exposes a generic ttcn3 struct "UlMacDataHeader" and "DlMacDataHeader". Decoded header type can be found in mac_hdr.header_type. This can be used t5ogether with CPS to get the MCS of the message received. Similarly, the encoder will use the same field to know how to encode the ttcn3 structure. * In RLCMAC_EncDec.cc order of functions has been ordered to split between encoding and decoding, and inside these split between Ul and Dl messages. * Only encoding of UL HeaderType3 and decoding of Dl HeaderType3 is implemented so far in RLCMAC_EncDec.cc. However, all code is already arranged and functions prepared (with FIXME fprintf) to easily add the missing header types once needed. * Actually only the decoding of DL HeaderType3 has been tested to work so far. Encoding may still be missing to octet-align the data block after the header. All these wil lbe fixed once a test using them exists. Change-Id: I2bc4f877a5e17c57ffa8cf05565dc8593b45aae8 --- M library/RLCMAC_EncDec.cc M library/RLCMAC_Types.ttcn 2 files changed, 1,082 insertions(+), 158 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/65/17965/1 diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc index 4ae65b1..777815f 100644 --- a/library/RLCMAC_EncDec.cc +++ b/library/RLCMAC_EncDec.cc @@ -1,3 +1,6 @@ +#include +#include + #include "RLCMAC_Types.hh" #include "GSM_Types.hh" /* Decoding of TS 44.060 GPRS RLC/MAC blocks, portions requiring manual functions @@ -14,48 +17,341 @@ namespace RLCMAC__Types { -OCTETSTRING enc__RlcmacDlDataBlock(const RlcmacDlDataBlock& si) -{ - RlcmacDlDataBlock in = si; - OCTETSTRING ret_val; - TTCN_Buffer ttcn_buffer; - int i; +///////////////////// +// INTENRAL HELPERS +///////////////////// - /* Fix 'e' bit of initial header based on following blocks */ - if (!in.blocks().is_bound() || - (in.blocks().size_of() == 1 && !in.blocks()[0].hdr().is_bound())) - in.mac__hdr().hdr__ext().e() = true; - else - in.mac__hdr().hdr__ext().e() = false; +/* TS 04.60 10.3a.4.1.1 */ +struct gprs_rlc_ul_header_egprs_1 { +#if __BYTE_ORDER == __LITTLE_ENDIAN + uint8_t r:1, + si:1, + cv:4, + tfi_hi:2; + uint8_t tfi_lo:3, + bsn1_hi:5; + uint8_t bsn1_lo:6, + bsn2_hi:2; + uint8_t bsn2_lo:8; + uint8_t cps:5, + rsb:1, + pi:1, + spare_hi:1; + uint8_t spare_lo:6, + dummy:2; +#else +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t tfi_hi:2, cv:4, si:1, r:1; + uint8_t bsn1_hi:5, tfi_lo:3; + uint8_t bsn2_hi:2, bsn1_lo:6; + uint8_t bsn2_lo:8; + uint8_t spare_hi:1, pi:1, rsb:1, cps:5; + uint8_t dummy:2, spare_lo:6; +#endif +} __attribute__ ((packed)); - /* use automatic/generated decoder for header */ - in.mac__hdr().encode(DlMacDataHeader_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); +/* TS 04.60 10.3a.4.2.1 */ +struct gprs_rlc_ul_header_egprs_2 { +#if __BYTE_ORDER == __LITTLE_ENDIAN + uint8_t r:1, + si:1, + cv:4, + tfi_hi:2; + uint8_t tfi_lo:3, + bsn1_hi:5; + uint8_t bsn1_lo:6, + cps_hi:2; + uint8_t cps_lo:1, + rsb:1, + pi:1, + spare_hi:5; + uint8_t spare_lo:5, + dummy:3; +#else +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t tfi_hi:2, cv:4, si:1, r:1; + uint8_t bsn1_hi:5, tfi_lo:3; + uint8_t cps_hi:2, bsn1_lo:6; + uint8_t spare_hi:5, pi:1, rsb:1, cps_lo:1; + uint8_t dummy:3, spare_lo:5; +#endif +} __attribute__ ((packed)); - /* Add LI octets, if any */ - if (in.blocks().is_bound() && - (in.blocks().size_of() != 1 || in.blocks()[0].hdr().is_bound())) { - /* first write LI octets */ - for (i = 0; i < in.blocks().size_of(); i++) { - /* fix the 'E' bit in case it is not clear */ - if (i < in.blocks().size_of()-1) - in.blocks()[i].hdr()().e() = false; - else - in.blocks()[i].hdr()().e() = true; - in.blocks()[i].hdr()().encode(LlcBlockHdr_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); - } +/* TS 04.60 10.3a.4.3.1 */ +struct gprs_rlc_ul_header_egprs_3 { +#if __BYTE_ORDER == __LITTLE_ENDIAN + uint8_t r:1, + si:1, + cv:4, + tfi_hi:2; + uint8_t tfi_lo:3, + bsn1_hi:5; + uint8_t bsn1_lo:6, + cps_hi:2; + uint8_t cps_lo:2, + spb:2, + rsb:1, + pi:1, + spare:1, + dummy:1; +#else +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t tfi_hi:2, cv:4, si:1, r:1; + uint8_t bsn1_hi:5, tfi_lo:3; + uint8_t cps_hi:2, bsn1_lo:6; + uint8_t dummy:1, spare:1, pi:1, rsb:1, spb:2, cps_lo:2; +#endif +} __attribute__ ((packed)); + +struct gprs_rlc_dl_header_egprs_1 { +#if __BYTE_ORDER == __LITTLE_ENDIAN + uint8_t usf:3, + es_p:2, + rrbp:2, + tfi_hi:1; + uint8_t tfi_lo:4, + pr:2, + bsn1_hi:2; + uint8_t bsn1_mid:8; + uint8_t bsn1_lo:1, + bsn2_hi:7; + uint8_t bsn2_lo:3, + cps:5; +#else +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t tfi_hi:1, rrbp:2, es_p:2, usf:3; + uint8_t bsn1_hi:2, pr:2, tfi_lo:4; + uint8_t bsn1_mid:8; + uint8_t bsn2_hi:7, bsn1_lo:1; + uint8_t cps:5, bsn2_lo:3; +#endif +} __attribute__ ((packed)); + +struct gprs_rlc_dl_header_egprs_2 { +#if __BYTE_ORDER == __LITTLE_ENDIAN + uint8_t usf:3, + es_p:2, + rrbp:2, + tfi_hi:1; + uint8_t tfi_lo:4, + pr:2, + bsn1_hi:2; + uint8_t bsn1_mid:8; + uint8_t bsn1_lo:1, + cps:3, + dummy:4; +#else +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t tfi_hi:1, rrbp:2, es_p:2, usf:3; + uint8_t bsn1_hi:2, pr:2, tfi_lo:4; + uint8_t bsn1_mid:8; + uint8_t dummy:4, cps:3, bsn1_lo:1; +#endif +} __attribute__ ((packed)); + +struct gprs_rlc_dl_header_egprs_3 { +#if __BYTE_ORDER == __LITTLE_ENDIAN + uint8_t usf:3, + es_p:2, + rrbp:2, + tfi_hi:1; + uint8_t tfi_lo:4, + pr:2, + bsn1_hi:2; + uint8_t bsn1_mid:8; + uint8_t bsn1_lo:1, + cps:4, + spb:2, + dummy:1; +#else +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t tfi_hi:1, rrbp:2, es_p:2, usf:3; + uint8_t bsn1_hi:2, pr:2, tfi_lo:4; + uint8_t bsn1_mid:8; + uint8_t dummy:1, spb:2, cps:4, bsn1_lo:1; +#endif +} __attribute__ ((packed)); + +static CodingScheme::enum_type payload_len_2_coding_scheme(size_t payload_len) { + switch (payload_len) { + case 23: + return CodingScheme::CS__1; + case 34: + return CodingScheme::CS__2; + case 40: + return CodingScheme::CS__3; + case 54: + return CodingScheme::CS__4; + case 27: + return CodingScheme::MCS__1; + case 33: + return CodingScheme::MCS__2; + case 42: + return CodingScheme::MCS__3; + case 49: + return CodingScheme::MCS__4; + case 61: + return CodingScheme::MCS__5; + case 79: + return CodingScheme::MCS__6; + case 119: + return CodingScheme::MCS__7; + case 142: + return CodingScheme::MCS__8; + case 155: + return CodingScheme::MCS__9; + default: + return CodingScheme::CS__1; } - if (in.blocks().is_bound()) { - for (i = 0; i < in.blocks().size_of(); i++) { - if (!in.blocks()[i].is_bound()) - continue; - ttcn_buffer.put_string(in.blocks()[i].payload()); - } - } - - ttcn_buffer.get_string(ret_val); - return ret_val; } +static unsigned int coding_scheme_2_data_block_len(CodingScheme::enum_type mcs) { + switch (mcs) { + case CodingScheme::MCS__0: + return 0; + case CodingScheme::MCS__1: + return 22; + case CodingScheme::MCS__2: + return 28; + case CodingScheme::MCS__3: + return 37; + case CodingScheme::MCS__4: + return 44; + case CodingScheme::MCS__5: + return 56; + case CodingScheme::MCS__6: + return 74; + case CodingScheme::MCS__7: + return 56; + case CodingScheme::MCS__8: + return 68; + case CodingScheme::MCS__9: + return 74; + default: + return 22; /* MCS1*/ + } +} + +static uint8_t bs2uint8(const BITSTRING& bs) +{ + int len = bs.lengthof(); + int i; + uint8_t res = 0; + for (i = 0; i < len; i++) { + res = res << 1; + res |= (bs[i].get_bit() ? 1 : 0); + } + return res; +} + +/* determine the number of rlc data blocks and their size / offsets */ +static void +setup_rlc_mac_priv(CodingScheme::enum_type mcs, EgprsHeaderType::enum_type hdrtype, boolean is_uplink, + unsigned int *n_calls, unsigned int *data_block_bits, unsigned int *data_block_offsets) +{ + unsigned int nc, dbl = 0, dbo[2] = {0,0}; + + dbl = coding_scheme_2_data_block_len(mcs); + + switch (hdrtype) { + case EgprsHeaderType::RLCMAC__HDR__TYPE__1: + nc = 3; + dbo[0] = is_uplink ? 5*8 + 6 : 5*8 + 0; + dbo[1] = dbo[0] + dbl * 8 + 2; + break; + case EgprsHeaderType::RLCMAC__HDR__TYPE__2: + nc = 2; + dbo[0] = is_uplink ? 4*8 + 5 : 3*8 + 4; + break; + case EgprsHeaderType::RLCMAC__HDR__TYPE__3: + nc = 2; + dbo[0] = 3*8 + 7; + break; + default: + nc = 1; + break; + } + + *n_calls = nc; + *data_block_bits = dbl * 8 + 2; + data_block_offsets[0] = dbo[0]; + data_block_offsets[1] = dbo[1]; +} + +/* bit-shift the entire 'src' of length 'length_bytes' by 'offset_bits' + * and store the reuslt to caller-allocated 'buffer'. The shifting is + * done lsb-first. */ +static void clone_aligned_buffer_lsbf(unsigned int offset_bits, unsigned int length_bytes, + const uint8_t *src, uint8_t *buffer) +{ + unsigned int hdr_bytes; + unsigned int extra_bits; + unsigned int i; + + uint8_t c, last_c; + uint8_t *dst; + + hdr_bytes = offset_bits / 8; + extra_bits = offset_bits % 8; + + fprintf(stderr, "RLMAC: clone: hdr_bytes=%u extra_bits=%u (length_bytes=%u)\n", hdr_bytes, extra_bits, length_bytes); + + if (extra_bits == 0) { + /* It is aligned already */ + memcpy(buffer, src + hdr_bytes, length_bytes); + return; + } + + dst = buffer; + src = src + hdr_bytes; + last_c = *(src++); + + for (i = 0; i < length_bytes; i++) { + c = src[i]; + *(dst++) = (last_c >> extra_bits) | (c << (8 - extra_bits)); + last_c = c; + } +} + +/* obtain an (aligned) EGPRS data block with given bit-offset and + * bit-length from the parent buffer */ +static void get_egprs_data_block(const TTCN_Buffer& orig_ttcn_buffer, unsigned int offset_bits, + unsigned int length_bits, TTCN_Buffer& dst_ttcn_buffer) +{ + const unsigned int initial_spare_bits = 6; + unsigned char *aligned_buf = NULL; + size_t min_src_length_bytes = (offset_bits + length_bits + 7) / 8; + size_t length_bytes = (initial_spare_bits + length_bits + 7) / 8; + size_t accepted_len = length_bytes; + + fprintf(stderr, "RLMAC: trying to allocate %u bytes (orig is %zu bytes long with read pos %zu)\n", length_bytes, orig_ttcn_buffer.get_len(), orig_ttcn_buffer.get_pos()); + dst_ttcn_buffer.get_end(aligned_buf, accepted_len); + fprintf(stderr, "RLMAC: For dst ptr=%p with length=%zu\n", aligned_buf, accepted_len); + if (accepted_len < length_bytes) { + fprintf(stderr, "RLMAC: ERROR! asked for %zu bytes but got %zu\n", length_bytes, accepted_len); + } + + /* Copy the data out of the tvb to an aligned buffer */ + clone_aligned_buffer_lsbf( + offset_bits - initial_spare_bits, length_bytes, + orig_ttcn_buffer.get_data(), + aligned_buf); + + fprintf(stderr, "RLMAC: clone_aligned_buffer_lsbf success\n"); + + /* clear spare bits and move block header bits to the right */ + aligned_buf[0] = aligned_buf[0] >> initial_spare_bits; + + dst_ttcn_buffer.increase_length(length_bytes); +} + + +///////////////////// +// DECODE +///////////////////// + +/* DECODE DOWNLINK */ + RlcmacDlDataBlock dec__RlcmacDlDataBlock(const OCTETSTRING& stream) { RlcmacDlDataBlock ret_val; @@ -105,6 +401,534 @@ return ret_val; } +static +EgprsDlMacDataHeader dec__EgprsDlMacDataHeader_type1(const OCTETSTRING& stream) +{ + EgprsDlMacDataHeader ret_val; + + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); + + return ret_val; +} + +static +EgprsDlMacDataHeader dec__EgprsDlMacDataHeader_type2(const OCTETSTRING& stream) +{ + EgprsDlMacDataHeader ret_val; + + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); + + return ret_val; +} + +static +EgprsDlMacDataHeader dec__EgprsDlMacDataHeader_type3(const OCTETSTRING& stream) +{ + TTCN_Buffer ttcn_buffer(stream); + EgprsDlMacDataHeader ret_val; + const struct gprs_rlc_dl_header_egprs_3 *egprs3; + uint8_t tmp; + + egprs3 = static_cast + ((const void *)ttcn_buffer.get_data()); + + ret_val.header__type() = EgprsHeaderType::RLCMAC__HDR__TYPE__3; + ret_val.tfi() = egprs3->tfi_lo << 1 | egprs3->tfi_hi << 0; + ret_val.rrbp() = egprs3->rrbp; + tmp = egprs3->es_p; + ret_val.esp() = BITSTRING(2, &tmp); + ret_val.usf() = egprs3->usf; + ret_val.bsn1() = egprs3->bsn1_lo << 10 | egprs3->bsn1_mid << 2 | egprs3->bsn1_hi; + ret_val.bsn2__offset() = 0; /*TODO: mark optional and not set ? */ + ret_val.pr() = egprs3->pr; + ret_val.spb() = egprs3->spb; + ret_val.cps() = egprs3->cps; + + ttcn_buffer.increase_pos(sizeof(*egprs3)); + return ret_val; +} + +static +RlcmacDlEgprsDataBlock dec__RlcmacDlEgprsDataBlock(const OCTETSTRING& stream, CodingScheme::enum_type mcs) +{ + RlcmacDlEgprsDataBlock ret_val; + TTCN_Buffer ttcn_buffer(stream); + TTCN_Buffer aligned_buffer; + int num_llc_blocks = 0; + unsigned int data_block_bits, data_block_offsets[2]; + unsigned int num_calls; + const uint8_t *ti_e; + + switch (mcs) { + case CodingScheme::MCS__0: + case CodingScheme::MCS__1: + case CodingScheme::MCS__2: + case CodingScheme::MCS__3: + case CodingScheme::MCS__4: + ret_val.mac__hdr() = dec__EgprsDlMacDataHeader_type3(stream); + break; + case CodingScheme::MCS__5: + case CodingScheme::MCS__6: + ret_val.mac__hdr() = dec__EgprsDlMacDataHeader_type2(stream); + break; + case CodingScheme::MCS__7: + case CodingScheme::MCS__8: + case CodingScheme::MCS__9: + ret_val.mac__hdr() = dec__EgprsDlMacDataHeader_type1(stream); + break; + } + setup_rlc_mac_priv(mcs, ret_val.mac__hdr().header__type(), false, + &num_calls, &data_block_bits, data_block_offsets); + get_egprs_data_block(ttcn_buffer, data_block_offsets[0], data_block_bits, aligned_buffer); + + ti_e = aligned_buffer.get_read_data(); + ret_val.fbi() = *ti_e & 0x02 ? true : false; + ret_val.e() = *ti_e & 0x01 ? true : false; + aligned_buffer.increase_pos(1); + + /* optional extension octets, containing LI+E of Llc blocks */ + if (ret_val.e() == false) { + /* extension octet follows, i.e. optional Llc length octets */ + while (1) { + /* decode one more extension octet with LlcBlocHdr inside */ + EgprsLlcBlock lb; + lb.hdr()().decode(EgprsLlcBlockHdr_descr_, aligned_buffer, TTCN_EncDec::CT_RAW); + ret_val.blocks()[num_llc_blocks++] = lb; + + /* if E == '1'B, we can proceed further */ + if (lb.hdr()().e() == true) + break; + } + } + + /* RLC blocks at end */ + if (ret_val.blocks().is_bound()) { + for (int i = 0; i < ret_val.blocks().size_of(); i++) { + unsigned int length = ret_val.blocks()[i].hdr()().length__ind(); + if (length > aligned_buffer.get_read_len()) + length = aligned_buffer.get_read_len(); + ret_val.blocks()[i].payload() = OCTETSTRING(length, aligned_buffer.get_read_data()); + aligned_buffer.increase_pos(length); + } + } + + return ret_val; +} + +RlcmacDlBlock dec__RlcmacDlBlock(const OCTETSTRING& stream) +{ + RlcmacDlBlock ret_val; + size_t stream_len = stream.lengthof(); + CodingScheme::enum_type mcs = payload_len_2_coding_scheme(stream_len); + unsigned char pt; + + switch (mcs) { + case CodingScheme::CS__1: + case CodingScheme::CS__2: + case CodingScheme::CS__3: + case CodingScheme::CS__4: + pt = stream[0].get_octet() >> 6; + if (pt == MacPayloadType::MAC__PT__RLC__DATA) + ret_val.data() = dec__RlcmacDlDataBlock(stream); + else + ret_val.ctrl() = dec__RlcmacDlCtrlBlock(stream); + break; + case CodingScheme::MCS__0: + case CodingScheme::MCS__1: + case CodingScheme::MCS__2: + case CodingScheme::MCS__3: + case CodingScheme::MCS__4: + case CodingScheme::MCS__5: + case CodingScheme::MCS__6: + case CodingScheme::MCS__7: + case CodingScheme::MCS__8: + case CodingScheme::MCS__9: + ret_val.data__egprs() = dec__RlcmacDlEgprsDataBlock(stream, mcs); + break; + } + return ret_val; +} + +/* DECODE UPLINK */ + +RlcmacUlDataBlock dec__RlcmacUlDataBlock(const OCTETSTRING& stream) +{ + RlcmacUlDataBlock ret_val; + TTCN_Buffer ttcn_buffer(stream); + int num_llc_blocks = 0; + + TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); + TTCN_Logger::log_event_str("==================================\n" + "dec_RlcmacUlDataBlock(): Stream before decoding: "); + stream.log(); + TTCN_Logger::end_event(); + + /* use automatic/generated decoder for header */ + ret_val.mac__hdr().decode(UlMacDataHeader_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + + TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); + TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): Stream after decoding hdr: "); + ttcn_buffer.log(); + TTCN_Logger::end_event(); + TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); + TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): ret_val after decoding hdr: "); + ret_val.log(); + TTCN_Logger::end_event(); + + /* Manually decoder remainder of ttcn_buffer, containing optional header octets, + * optional tlli, optional pfi and LLC Blocks */ + + /* optional extension octets, containing LI+M+E of Llc blocks */ + if (ret_val.mac__hdr().e() == false) { + /* extension octet follows, i.e. optional Llc length octets */ + while (1) { + /* decode one more extension octet with LlcBlocHdr inside */ + LlcBlock lb; + lb.hdr()().decode(LlcBlockHdr_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + ret_val.blocks()[num_llc_blocks++] = lb; + + TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); + TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): Stream after decoding ExtOct: "); + ttcn_buffer.log(); + TTCN_Logger::end_event(); + TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); + TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): ret_val after decoding ExtOct: "); + ret_val.log(); + TTCN_Logger::end_event(); + + /* if E == '1'B, we can proceed further */ + if (lb.hdr()().e() == true) + break; + } + } + + /* parse optional TLLI */ + if (ret_val.mac__hdr().tlli__ind()) { + ret_val.tlli() = OCTETSTRING(4, ttcn_buffer.get_read_data()); + ttcn_buffer.increase_pos(4); + } + /* parse optional PFI */ + if (ret_val.mac__hdr().pfi__ind()) { + ret_val.pfi().decode(RlcmacUlDataBlock_pfi_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + } + + /* RLC blocks at end */ + if (ret_val.mac__hdr().e() == true) { + LlcBlock lb; + unsigned int length = ttcn_buffer.get_read_len(); + /* LI not present: The Upper Layer PDU that starts with the current RLC data block either + * fills the current RLC data block precisely or continues in the following in-sequence RLC + * data block */ + lb.payload() = OCTETSTRING(length, ttcn_buffer.get_read_data()); + ttcn_buffer.increase_pos(length); + ret_val.blocks()[0] = lb; + } else { + if (ret_val.blocks().is_bound()) { + for (int i = 0; i < ret_val.blocks().size_of(); i++) { + unsigned int length = ret_val.blocks()[i].hdr()().length__ind(); + if (length > ttcn_buffer.get_read_len()) + length = ttcn_buffer.get_read_len(); + ret_val.blocks()[i].payload() = OCTETSTRING(length, ttcn_buffer.get_read_data()); + ttcn_buffer.increase_pos(length); + } + } + } + + TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); + TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): Stream before return: "); + ttcn_buffer.log(); + TTCN_Logger::end_event(); + TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); + TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): ret_val before return: "); + ret_val.log(); + TTCN_Logger::end_event(); + + return ret_val; +} + +static +EgprsUlMacDataHeader dec__EgprsUlMacDataHeader_type1(const OCTETSTRING& stream) +{ + EgprsUlMacDataHeader ret_val; + + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); + + return ret_val; +} + +static +EgprsUlMacDataHeader dec__EgprsUlMacDataHeader_type2(const OCTETSTRING& stream) +{ + EgprsUlMacDataHeader ret_val; + + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); + + return ret_val; +} + +static +EgprsUlMacDataHeader dec__EgprsUlMacDataHeader_type3(const OCTETSTRING& stream) +{ + EgprsUlMacDataHeader ret_val; + + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); + + return ret_val; +} + +RlcmacUlEgprsDataBlock dec__RlcmacUlEgprsDataBlock(const OCTETSTRING& stream, CodingScheme::enum_type mcs) +{ + RlcmacUlEgprsDataBlock ret_val; + TTCN_Buffer ttcn_buffer(stream); + TTCN_Buffer aligned_buffer; + int num_llc_blocks = 0; + unsigned int data_block_bits, data_block_offsets[2]; + unsigned int num_calls; + const uint8_t *ti_e; + + switch (mcs) { + case CodingScheme::MCS__1: + case CodingScheme::MCS__2: + case CodingScheme::MCS__3: + case CodingScheme::MCS__4: + ret_val.mac__hdr() = dec__EgprsUlMacDataHeader_type3(stream); + break; + case CodingScheme::MCS__5: + case CodingScheme::MCS__6: + ret_val.mac__hdr() = dec__EgprsUlMacDataHeader_type2(stream); + break; + case CodingScheme::MCS__7: + case CodingScheme::MCS__8: + case CodingScheme::MCS__9: + ret_val.mac__hdr() = dec__EgprsUlMacDataHeader_type1(stream); + break; + } + setup_rlc_mac_priv(mcs, ret_val.mac__hdr().header__type(), true, + &num_calls, &data_block_bits, data_block_offsets); + get_egprs_data_block(ttcn_buffer, data_block_offsets[0], data_block_bits, aligned_buffer); + + ti_e = aligned_buffer.get_read_data(); + ret_val.tlli__ind() = *ti_e & 0x02 ? true : false; + ret_val.e() = *ti_e & 0x01 ? true : false; + aligned_buffer.increase_pos(1); + + /* Manually decoder remainder of aligned_buffer, containing optional header octets, + * optional tlli, optional pfi and LLC Blocks */ + + /* optional extension octets, containing LI+M+E of Llc blocks */ + if (ret_val.e() == false) { + /* extension octet follows, i.e. optional Llc length octets */ + while (1) { + /* decode one more extension octet with LlcBlocHdr inside */ + EgprsLlcBlock lb; + lb.hdr()().decode(EgprsLlcBlockHdr_descr_, aligned_buffer, TTCN_EncDec::CT_RAW); + ret_val.blocks()[num_llc_blocks++] = lb; + + /* if E == '1'B, we can proceed further */ + if (lb.hdr()().e() == true) + break; + } + } + + /* parse optional TLLI */ + if (ret_val.tlli__ind()) { + ret_val.tlli() = OCTETSTRING(4, aligned_buffer.get_read_data()); + aligned_buffer.increase_pos(4); + } + /* parse optional PFI */ + if (ret_val.mac__hdr().pfi__ind()) { + ret_val.pfi().decode(RlcmacUlDataBlock_pfi_descr_, aligned_buffer, TTCN_EncDec::CT_RAW); + } + + /* RLC blocks at end */ + if (ret_val.e() == true) { + EgprsLlcBlock lb; + unsigned int length = aligned_buffer.get_read_len(); + /* LI not present: The Upper Layer PDU that starts with the current RLC data block either + * fills the current RLC data block precisely or continues in the following in-sequence RLC + * data block */ + lb.payload() = OCTETSTRING(length, aligned_buffer.get_read_data()); + aligned_buffer.increase_pos(length); + ret_val.blocks()[0] = lb; + } else { + if (ret_val.blocks().is_bound()) { + for (int i = 0; i < ret_val.blocks().size_of(); i++) { + unsigned int length = ret_val.blocks()[i].hdr()().length__ind(); + if (length > aligned_buffer.get_read_len()) + length = aligned_buffer.get_read_len(); + ret_val.blocks()[i].payload() = OCTETSTRING(length, aligned_buffer.get_read_data()); + aligned_buffer.increase_pos(length); + } + } + } + + return ret_val; +} + +RlcmacUlBlock dec__RlcmacUlBlock(const OCTETSTRING& stream) +{ + RlcmacUlBlock ret_val; + size_t stream_len = stream.lengthof(); + CodingScheme::enum_type mcs = payload_len_2_coding_scheme(stream_len); + unsigned char pt; + + switch (mcs) { + case CodingScheme::CS__1: + case CodingScheme::CS__2: + case CodingScheme::CS__3: + case CodingScheme::CS__4: + pt = stream[0].get_octet() >> 6; + if (pt == MacPayloadType::MAC__PT__RLC__DATA) + ret_val.data() = dec__RlcmacUlDataBlock(stream); + else + ret_val.ctrl() = dec__RlcmacUlCtrlBlock(stream); + break; + case CodingScheme::MCS__1: + case CodingScheme::MCS__2: + case CodingScheme::MCS__3: + case CodingScheme::MCS__4: + case CodingScheme::MCS__5: + case CodingScheme::MCS__6: + case CodingScheme::MCS__7: + case CodingScheme::MCS__8: + case CodingScheme::MCS__9: + ret_val.data__egprs() = dec__RlcmacUlEgprsDataBlock(stream, mcs); + break; + } + + return ret_val; +} + + +///////////////////// +// ENCODE +///////////////////// + +/* ENCODE DOWNLINK */ + +OCTETSTRING enc__RlcmacDlDataBlock(const RlcmacDlDataBlock& si) +{ + RlcmacDlDataBlock in = si; + OCTETSTRING ret_val; + TTCN_Buffer ttcn_buffer; + int i; + + /* Fix 'e' bit of initial header based on following blocks */ + if (!in.blocks().is_bound() || + (in.blocks().size_of() == 1 && !in.blocks()[0].hdr().is_bound())) + in.mac__hdr().hdr__ext().e() = true; + else + in.mac__hdr().hdr__ext().e() = false; + + /* use automatic/generated decoder for header */ + in.mac__hdr().encode(DlMacDataHeader_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + + /* Add LI octets, if any */ + if (in.blocks().is_bound() && + (in.blocks().size_of() != 1 || in.blocks()[0].hdr().is_bound())) { + /* first write LI octets */ + for (i = 0; i < in.blocks().size_of(); i++) { + /* fix the 'E' bit in case it is not clear */ + if (i < in.blocks().size_of()-1) + in.blocks()[i].hdr()().e() = false; + else + in.blocks()[i].hdr()().e() = true; + in.blocks()[i].hdr()().encode(LlcBlockHdr_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + } + } + if (in.blocks().is_bound()) { + for (i = 0; i < in.blocks().size_of(); i++) { + if (!in.blocks()[i].is_bound()) + continue; + ttcn_buffer.put_string(in.blocks()[i].payload()); + } + } + + ttcn_buffer.get_string(ret_val); + return ret_val; +} + +static +void enc__RlcmacDlEgprsDataHeader_type1(const EgprsDlMacDataHeader& si, TTCN_Buffer& ttcn_buffer) +{ + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); +} + +static +void enc__RlcmacDlEgprsDataHeader_type2(const EgprsDlMacDataHeader& si, TTCN_Buffer& ttcn_buffer) +{ + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); +} + +static +void enc__RlcmacDlEgprsDataHeader_type3(const EgprsDlMacDataHeader& si, TTCN_Buffer& ttcn_buffer) +{ + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); +} + +OCTETSTRING enc__RlcmacDlEgprsDataBlock(const RlcmacDlEgprsDataBlock& si) +{ + RlcmacDlEgprsDataBlock in = si; + OCTETSTRING ret_val; + TTCN_Buffer ttcn_buffer; + int i; + + /* Fix 'e' bit of initial header based on following blocks */ + if (!in.blocks().is_bound() || + (in.blocks().size_of() == 1 && !in.blocks()[0].hdr().is_bound())) + in.e() = true; + else + in.e() = false; + + switch (in.mac__hdr().header__type()) { + case EgprsHeaderType::RLCMAC__HDR__TYPE__1: + enc__RlcmacDlEgprsDataHeader_type1(si.mac__hdr(), ttcn_buffer); + break; + case EgprsHeaderType::RLCMAC__HDR__TYPE__2: + enc__RlcmacDlEgprsDataHeader_type2(si.mac__hdr(), ttcn_buffer); + break; + case EgprsHeaderType::RLCMAC__HDR__TYPE__3: + enc__RlcmacDlEgprsDataHeader_type3(si.mac__hdr(), ttcn_buffer); + default: + break; /* TODO: error */ + } + + /* Add LI octets, if any */ + if (in.blocks().is_bound() && + (in.blocks().size_of() != 1 || in.blocks()[0].hdr().is_bound())) { + /* first write LI octets */ + for (i = 0; i < in.blocks().size_of(); i++) { + /* fix the 'E' bit in case it is not clear */ + if (i < in.blocks().size_of()-1) + in.blocks()[i].hdr()().e() = false; + else + in.blocks()[i].hdr()().e() = true; + in.blocks()[i].hdr()().encode(EgprsLlcBlockHdr_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + } + } + if (in.blocks().is_bound()) { + for (i = 0; i < in.blocks().size_of(); i++) { + if (!in.blocks()[i].is_bound()) + continue; + ttcn_buffer.put_string(in.blocks()[i].payload()); + } + } + + ttcn_buffer.get_string(ret_val); + return ret_val; +} + +OCTETSTRING enc__RlcmacDlBlock(const RlcmacDlBlock& si) +{ + if (si.ischosen(RlcmacDlBlock::ALT_data__egprs)) + return enc__RlcmacDlEgprsDataBlock(si.data__egprs()); + else if (si.ischosen(RlcmacDlBlock::ALT_data)) + return enc__RlcmacDlDataBlock(si.data()); + else + return enc__RlcmacDlCtrlBlock(si.ctrl()); +} + +/* ENCODE UPLINK */ OCTETSTRING enc__RlcmacUlDataBlock(const RlcmacUlDataBlock& si) { @@ -187,143 +1011,140 @@ return ret_val; } -RlcmacUlDataBlock dec__RlcmacUlDataBlock(const OCTETSTRING& stream) +static +void enc__RlcmacUlEgprsDataHeader_type1(const EgprsUlMacDataHeader& si, TTCN_Buffer& ttcn_buffer) { - RlcmacUlDataBlock ret_val; - TTCN_Buffer ttcn_buffer(stream); - int num_llc_blocks = 0; + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); +} - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("==================================\n" - "dec_RlcmacUlDataBlock(): Stream before decoding: "); - stream.log(); - TTCN_Logger::end_event(); +static +void enc__RlcmacUlEgprsDataHeader_type2(const EgprsUlMacDataHeader& si, TTCN_Buffer& ttcn_buffer) +{ + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); +} - /* use automatic/generated decoder for header */ - ret_val.mac__hdr().decode(UlMacDataHeader_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); +static +void enc__RlcmacUlEgprsDataHeader_type3(const EgprsUlMacDataHeader& si, TTCN_Buffer& ttcn_buffer) +{ + struct gprs_rlc_ul_header_egprs_3 egprs3; - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): Stream after decoding hdr: "); - ttcn_buffer.log(); - TTCN_Logger::end_event(); - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): ret_val after decoding hdr: "); - ret_val.log(); - TTCN_Logger::end_event(); + egprs3.r = bs2uint8(si.r__ri()); + egprs3.si = bs2uint8(si.foi__si()); + egprs3.cv = si.countdown(); + egprs3.tfi_hi = si.tfi() >> 0; + egprs3.tfi_lo = si.tfi() >> 1; + egprs3.bsn1_hi = si.bsn1() >> 0; + egprs3.bsn1_lo = si.bsn1() >> 5; + egprs3.cps_hi = si.cps() >> 0; + egprs3.cps_lo = si.cps() >> 2; + egprs3.spb = bs2uint8(si.spb()); + egprs3.rsb = bs2uint8(si.spb()); + egprs3.pi = si.pfi__ind(); + egprs3.spare = 0; + egprs3.dummy = 0; - /* Manually decoder remainder of ttcn_buffer, containing optional header octets, - * optional tlli, optional pfi and LLC Blocks */ + ttcn_buffer.put_s(sizeof(egprs3), (const unsigned char *)&egprs3); +} - /* optional extension octets, containing LI+M+E of Llc blocks */ - if (ret_val.mac__hdr().e() == false) { - /* extension octet follows, i.e. optional Llc length octets */ - while (1) { - /* decode one more extension octet with LlcBlocHdr inside */ - LlcBlock lb; - lb.hdr()().decode(LlcBlockHdr_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); - ret_val.blocks()[num_llc_blocks++] = lb; +OCTETSTRING enc__RlcmacUlEgprsDataBlock(const RlcmacUlEgprsDataBlock& si) +{ + RlcmacUlEgprsDataBlock in = si; + OCTETSTRING ret_val; + TTCN_Buffer ttcn_buffer; + int i; - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): Stream after decoding ExtOct: "); - ttcn_buffer.log(); - TTCN_Logger::end_event(); - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): ret_val after decoding ExtOct: "); - ret_val.log(); - TTCN_Logger::end_event(); - - /* if E == '1'B, we can proceed further */ - if (lb.hdr()().e() == true) - break; - } - } - - /* parse optional TLLI */ - if (ret_val.mac__hdr().tlli__ind()) { - ret_val.tlli() = OCTETSTRING(4, ttcn_buffer.get_read_data()); - ttcn_buffer.increase_pos(4); - } - /* parse optional PFI */ - if (ret_val.mac__hdr().pfi__ind()) { - ret_val.pfi().decode(RlcmacUlDataBlock_pfi_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); - } - - /* RLC blocks at end */ - if (ret_val.mac__hdr().e() == true) { - LlcBlock lb; - unsigned int length = ttcn_buffer.get_read_len(); - /* LI not present: The Upper Layer PDU that starts with the current RLC data block either - * fills the current RLC data block precisely or continues in the following in-sequence RLC - * data block */ - lb.payload() = OCTETSTRING(length, ttcn_buffer.get_read_data()); - ttcn_buffer.increase_pos(length); - ret_val.blocks()[0] = lb; + if (!in.blocks().is_bound()) { + /* we don't have nay blocks: Add length value (zero) */ + in.e() = false; /* E=0: extension octet follows */ + } else if (in.blocks().size_of() == 1 && in.blocks()[0].hdr() == OMIT_VALUE) { + /* If there's only a single block, and that block has no HDR value defined, */ + in.e() = true; /* E=0: extension octet follows */ } else { - if (ret_val.blocks().is_bound()) { - for (int i = 0; i < ret_val.blocks().size_of(); i++) { - unsigned int length = ret_val.blocks()[i].hdr()().length__ind(); - if (length > ttcn_buffer.get_read_len()) - length = ttcn_buffer.get_read_len(); - ret_val.blocks()[i].payload() = OCTETSTRING(length, ttcn_buffer.get_read_data()); - ttcn_buffer.increase_pos(length); + /* Length value */ + in.e() = false; + } + + /* Fix other presence indications */ + in.tlli__ind() = in.tlli().is_bound() && in.tlli() != OMIT_VALUE; + in.mac__hdr().pfi__ind() = in.pfi().is_bound() && in.pfi() != OMIT_VALUE; + + switch (in.mac__hdr().header__type()) { + case EgprsHeaderType::RLCMAC__HDR__TYPE__1: + enc__RlcmacUlEgprsDataHeader_type1(si.mac__hdr(), ttcn_buffer); + break; + case EgprsHeaderType::RLCMAC__HDR__TYPE__2: + enc__RlcmacUlEgprsDataHeader_type2(si.mac__hdr(), ttcn_buffer); + break; + case EgprsHeaderType::RLCMAC__HDR__TYPE__3: + enc__RlcmacUlEgprsDataHeader_type3(si.mac__hdr(), ttcn_buffer); + default: + break; /* TODO: error */ + } + + if (in.e() == false) { + /* Add LI octets, if any */ + if (!in.blocks().is_bound()) { + ttcn_buffer.put_c(0x01); /* M=0, E=1 LEN=0 */ + } else { + for (i = 0; i < in.blocks().size_of(); i++) { +#if 0 + /* check for penultimate block */ + if (i == in.blocks().size_of()-2) { + /* if last block has no header, no more LI */ + if (in.blocks()[i+1].hdr() == OMIT_VALUE) { + in.blocks()[i].hdr()().more() = true; + } else { + /* header present, we have to encode LI */ + in.blocks()[i].hdr()().more() = false; + in.blocks()[i].hdr()().length__ind() = + in.blocks()[i+1].payload().lengthof(); + } + } else if (i < in.blocks().size_of()-2) { + /* one of the first blocks, before the penultimate or last */ + in.blocks()[i].hdr()().e() = false; /* LI present */ + /* re-compute length */ + in.blocks()[i].hdr()().length__ind() = + in.blocks()[i+1].payload().lengthof(); + } + /* Encode LI octet if E=0 */ + } +#endif + if (in.blocks()[i].hdr() != OMIT_VALUE) { + in.blocks()[i].hdr()().encode(EgprsLlcBlockHdr_descr_, ttcn_buffer, + TTCN_EncDec::CT_RAW); + } } } } - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): Stream before return: "); - ttcn_buffer.log(); - TTCN_Logger::end_event(); - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): ret_val before return: "); - ret_val.log(); - TTCN_Logger::end_event(); + if (in.tlli__ind()) { + ttcn_buffer.put_string(in.tlli()); + } + if (in.mac__hdr().pfi__ind()) { + in.pfi().encode(RlcmacUlDataBlock_pfi_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + } + + if (in.blocks().is_bound()) { + for (i = 0; i < in.blocks().size_of(); i++) { + if (!in.blocks()[i].is_bound()) + continue; + ttcn_buffer.put_string(in.blocks()[i].payload()); + } + } + + ttcn_buffer.get_string(ret_val); return ret_val; } OCTETSTRING enc__RlcmacUlBlock(const RlcmacUlBlock& si) { - if (si.ischosen(RlcmacUlBlock::ALT_data)) + if (si.ischosen(RlcmacUlBlock::ALT_data__egprs)) + return enc__RlcmacUlEgprsDataBlock(si.data__egprs()); + else if (si.ischosen(RlcmacUlBlock::ALT_data)) return enc__RlcmacUlDataBlock(si.data()); else return enc__RlcmacUlCtrlBlock(si.ctrl()); } -OCTETSTRING enc__RlcmacDlBlock(const RlcmacDlBlock& si) -{ - if (si.ischosen(RlcmacDlBlock::ALT_data)) - return enc__RlcmacDlDataBlock(si.data()); - else - return enc__RlcmacDlCtrlBlock(si.ctrl()); -} - - -RlcmacUlBlock dec__RlcmacUlBlock(const OCTETSTRING& stream) -{ - RlcmacUlBlock ret_val; - unsigned char pt = stream[0].get_octet() >> 6; - - if (pt == MacPayloadType::MAC__PT__RLC__DATA) - ret_val.data() = dec__RlcmacUlDataBlock(stream); - else - ret_val.ctrl() = dec__RlcmacUlCtrlBlock(stream); - - return ret_val; -} - -RlcmacDlBlock dec__RlcmacDlBlock(const OCTETSTRING& stream) -{ - RlcmacDlBlock ret_val; - unsigned char pt = stream[0].get_octet() >> 6; - - if (pt == MacPayloadType::MAC__PT__RLC__DATA) - ret_val.data() = dec__RlcmacDlDataBlock(stream); - else - ret_val.ctrl() = dec__RlcmacDlCtrlBlock(stream); - - return ret_val; -} - - } // namespace diff --git a/library/RLCMAC_Types.ttcn b/library/RLCMAC_Types.ttcn index 97b89da..e5c2464 100644 --- a/library/RLCMAC_Types.ttcn +++ b/library/RLCMAC_Types.ttcn @@ -41,11 +41,18 @@ return 0; } + type enumerated EgprsHeaderType { + RLCMAC_HDR_TYPE_1, + RLCMAC_HDR_TYPE_2, + RLCMAC_HDR_TYPE_3 + }; + type enumerated CodingScheme { CS_1, CS_2, CS_3, CS_4, + MCS_0, MCS_1, MCS_2, MCS_3, @@ -238,6 +245,52 @@ external function dec_RlcmacDlDataBlock(in octetstring stream) return RlcmacDlDataBlock; + /* a single RLC block / LLC-segment */ + type record EgprsLlcBlockHdr { + uint7_t length_ind, + /* 0 = another extension octet after LLC PDU, 1 = no more extension octets */ + boolean e + } with { + variant (e) "FIELDLENGTH(1)" + encode "RAW" + }; + + external function enc_EgprsLlcBlockHdr(in EgprsLlcBlockHdr si) return octetstring + with { extension "prototype(convert) encode(RAW)" }; + external function dec_EgprsLlcBlockHdr(in octetstring stream) return EgprsLlcBlockHdr + with { extension "prototype(convert) decode(RAW)" }; + + type record EgprsLlcBlock { + /* Header is only present if LI field was present */ + EgprsLlcBlockHdr hdr optional, + octetstring payload + } with { variant "" }; + type record of EgprsLlcBlock EgprsLlcBlocks; + + /* TS 44.060 10.3a.1.1 EGPRS downlink RLC data block, manual c++ encoder/decoder */ + type record EgprsDlMacDataHeader { + EgprsHeaderType header_type, /* Set internally by decoder */ + uint5_t tfi, + MacRrbp rrbp, + BIT2 esp, + uint3_t usf, + uint14_t bsn1, + uint8_t bsn2_offset, + uint2_t pr, /* power reduction */ + uint2_t spb, + uint4_t cps + } with { variant "" }; + /* Manual C++ Decoder: */ + type record RlcmacDlEgprsDataBlock { + EgprsDlMacDataHeader mac_hdr, + boolean fbi, + boolean e, + EgprsLlcBlocks blocks + } with { + variant (fbi) "FIELDLENGTH(1)" + variant (e) "FIELDLENGTH(1)" + }; + /* TS 44.060 10.2.2 */ type record UlMacDataHeader { /* Octet 0 */ @@ -268,6 +321,35 @@ variant (m) "FIELDLENGTH(1)" }; + /* TS 44.060 10.3a.1.1 10.3a.4 EGPRS Uplink RLC/MAC header, manual c++ encoder/decoder */ + type record EgprsUlMacDataHeader { + EgprsHeaderType header_type, /* Set internally by decoder */ + uint5_t tfi, + uint4_t countdown, + BIT1 foi_si, + BIT1 r_ri, + uint11_t bsn1, + uint4_t cps, + boolean pfi_ind, + BIT1 rsb, + BIT2 spb + } with { + variant (pfi_ind) "FIELDLENGTH(1)" + }; + /* Manual C++ Decoder: 10.3a.2.1 EGPRS Uplink RLC data block */ + type record RlcmacUlEgprsDataBlock { + EgprsUlMacDataHeader mac_hdr, + boolean tlli_ind, + boolean e, + /* Octet 3 ... M (optional): manual C++ Decoder */ + GprsTlli tlli optional, + RlcMacUlPfi pfi optional, + EgprsLlcBlocks blocks + } with { + variant (tlli_ind) "FIELDLENGTH(1)" + variant (e) "FIELDLENGTH(1)" + }; + /* TS 44.060 10.2.2 */ type record RlcmacUlDataBlock { /* MAC header */ @@ -286,11 +368,16 @@ type union RlcmacUlBlock { RlcmacUlDataBlock data, + RlcmacUlEgprsDataBlock data_egprs, RlcmacUlCtrlBlock ctrl } with { variant "TAG(data, mac_hdr.payload_type = MAC_PT_RLC_DATA; - ctrl, mac_hdr.payload_type = MAC_PT_RLCMAC_NO_OPT; - ctrl, mac_hdr.payload_type = MAC_PT_RLCMAC_OPT)" + ctrl, {mac_hdr.payload_type = MAC_PT_RLCMAC_NO_OPT, + mac_hdr.payload_type = MAC_PT_RLCMAC_OPT}; + data_egprs, {mac_hdr.header_type = RLCMAC_HDR_TYPE_1, + mac_hdr.header_type = RLCMAC_HDR_TYPE_2, + mac_hdr.header_type = RLCMAC_HDR_TYPE_3} + )" }; /* as the sub-types (RlcmacDl*Block) are not using the RAW coder, we cannot @@ -301,11 +388,16 @@ type union RlcmacDlBlock { RlcmacDlDataBlock data, + RlcmacDlEgprsDataBlock data_egprs, RlcmacDlCtrlBlock ctrl } with { variant "TAG(data, mac_hdr.mac_hdr.payload_type = MAC_PT_RLC_DATA; - ctrl, mac_hdr.payload_type = MAC_PT_RLCMAC_NO_OPT; - ctrl, mac_hdr.payload_type = MAC_PT_RLCMAC_OPT)" + ctrl, {mac_hdr.payload_type = MAC_PT_RLCMAC_NO_OPT, + mac_hdr.payload_type = MAC_PT_RLCMAC_OPT}; + data_egprs, {mac_hdr.header_type = RLCMAC_HDR_TYPE_1, + mac_hdr.header_type = RLCMAC_HDR_TYPE_2, + mac_hdr.header_type = RLCMAC_HDR_TYPE_3} + )" }; /* as the sub-types (RlcmacDl*Block) are not using the RAW coder, we cannot @@ -546,6 +638,15 @@ } } + template RlcmacDlBlock tr_RLCMAC_DATA_EGPRS := { + data_egprs := { + mac_hdr := ?, + fbi := ?, + e := ?, + blocks := ? + } + } + /* Template for Uplink MAC Control Header */ template UlMacCtrlHeader t_RLCMAC_UlMacCtrlH(template MacPayloadType pt, template boolean retry := false) := { payload_type := pt, @@ -576,8 +677,10 @@ payload := data } - /* PTCCH/D (Packet Timing Advance Control Channel) message. - * TODO: add a spec. reference to the message format definition. */ +/************************ + * PTCCH/D (Packet Timing Advance Control Channel) message. + * TODO: add a spec. reference to the message format definition. + *************************/ type record PTCCHTimingAdvanceIE { BIT1 spare ('0'B), uint7_t ta_val -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965 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: I2bc4f877a5e17c57ffa8cf05565dc8593b45aae8 Gerrit-Change-Number: 17965 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 Apr 28 11:18:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 11:18:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: apply BYTEORDER(last) globally In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17958 ) Change subject: library/GSM_RR_Types.ttcn: fix: apply BYTEORDER(last) globally ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17958 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: I481a40daef3eed4a3daa687ad87c4128a13181b4 Gerrit-Change-Number: 17958 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 11:18: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 Apr 28 11:18:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 11:18:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: add test cases for EGPRS Packet Channel Request In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17706 ) Change subject: PCU: add test cases for EGPRS Packet Channel Request ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17706 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: Ib5732956ea160f93d82f06bf82bea45501f439d2 Gerrit-Change-Number: 17706 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 11:18: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 Apr 28 11:18:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 11:18:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: apply BYTEORDER(last) globally In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17958 ) Change subject: library/GSM_RR_Types.ttcn: fix: apply BYTEORDER(last) globally ...................................................................... library/GSM_RR_Types.ttcn: fix: apply BYTEORDER(last) globally By default, the BYTEORDER for BIT1..N sub-types is set to 'first'. This may result in incorrect decoding of bit-fields located on the boundary of two octets. For example: IA Rest Octets L... .... = First Discriminator Bit: Low .H.. .... = Second Discriminator Bit: High ..0. .... = Discriminator bit: EGPRS Packet Uplink Assignment ...0 .... = Downlink/Uplink: EGPRS Packet Uplink Assignment EGPRS Packet Uplink Assignment .... 0001 1... .... = Extended_RA: 3 // <------------ (!) .0.. .... = Access Technologies Request: Not Present ..1. .... = TFI/Multiblock: TFI Assignment Present ...0 0000 = TFI_Assignment: 0 As can be seen, the field 'Extended_RA' in this particular case occupies 4 LSBs of the first octet and 1 MSB of the second. So instead of '00011'B, TITAN's RAW codec decodes '10001'B. For more details, see: https://www.eclipse.org/forums/index.php/m/1826511/ https://bugs.eclipse.org/bugs/show_bug.cgi?id=562488 Change-Id: I481a40daef3eed4a3daa687ad87c4128a13181b4 --- M library/GSM_RR_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 9d71f80..a7d927a 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -1029,4 +1029,4 @@ } }; -} with { encode "RAW" ; variant "FIELDORDER(msb)" } +} with { encode "RAW" ; variant "FIELDORDER(msb)" variant "BYTEORDER(last)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17958 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: I481a40daef3eed4a3daa687ad87c4128a13181b4 Gerrit-Change-Number: 17958 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria 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 Apr 28 11:18:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 11:18:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: add test cases for EGPRS Packet Channel Request In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17706 ) Change subject: PCU: add test cases for EGPRS Packet Channel Request ...................................................................... PCU: add test cases for EGPRS Packet Channel Request This change introduces three similar test cases: - TC_egprs_pkt_chan_req_signalling, - TC_egprs_pkt_chan_req_one_phase, - TC_egprs_pkt_chan_req_two_phase, which basically send several 11 bit RACH.ind messages to the IUT containing different variations of EGPRS Packet Channel Request. Depending on the establisment cause, for each RACH.ind we expect to receive an Immediate Assignment containing an EGPRS Packet Uplink Assignment in its Rest Octets. All test cases make sure that Request Reference in the received Immediate Assignment messages is set to 127 as required by 3GPP TS 44.018 (see table 9.1.8.1, note 2b), and the Extended RA IE in the Rest Octets matches 5 LSBs of the RA value that was sent. Change-Id: Ib5732956ea160f93d82f06bf82bea45501f439d2 Related: OS#1548 --- M library/GSM_RR_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 154 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index a7d927a..d8bf595 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -908,6 +908,37 @@ } }; + template EgprsUlAss tr_EgprsUlAssDynamic(template (present) BIT5 ext_ra := ?, + template EgprsUlAssignDyn dyn_ass := ?) := { + ext_ra := ext_ra, + ats_present := ?, + ats := *, + presence := '1'B, + dynamic := dyn_ass, + multiblock := omit + }; + template EgprsUlAss tr_EgprsUlAssMultiblock(template (present) BIT5 ext_ra := ?, + template EgprsUlAssignMultiblock mb_ass := ?) := { + ext_ra := ext_ra, + ats_present := ?, + ats := *, + presence := '0'B, + dynamic := omit, + multiblock := mb_ass + }; + + template IaRestOctets tr_IaRestOctets_EGPRSULAss(template EgprsUlAss ul_ass) := { + presence := '01'B, /* LH */ + ll := omit, + lh := { + presence := '00'B, + egprs_ul := ul_ass, + multiblock_dl_ass := omit + }, + hl := omit, + hh := omit + }; + template (value) GsmRrMessage ts_IMM_ASS(uint8_t ra, GsmFrameNumber fn, TimingAdvance ta, ChannelDescription ch_desc, MobileAllocation ma) := { header := t_RrHeader(IMMEDIATE_ASSIGNMENT, 0), diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 8e1d349..0e3597b 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -287,6 +287,11 @@ fn := fn, arfcn := 871, qta := ta * 4)); + /* 3GPP TS 44.018, table 9.1.8.1, note 2b: Request Reference shall be set to 127 + * when Immediate Assignment is triggered by EGPRS Packet Channel Request. Here + * we assume that 11 bit RA always contains EGPRS Packet Channel Request. */ + if (is_11bit != 0) { ra := 127; } + /* Expect Immediate (TBF) Assignment on TS0/AGCH */ return f_pcuif_rx_imm_ass(rr_imm_ass, tr_IMM_TBF_ASS(?, ra, fn), bts_nr); } @@ -1562,6 +1567,119 @@ f_tc_paging_ps_from_sgsn(mp_gb_cfg.bvci); } +private function f_TC_egprs_pkt_chan_req(in EGPRSPktChRequest req, + template GsmRrMessage t_imm_ass := ?, + PCUIF_BurstType bt := BURST_TYPE_1) +runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_msg; + var uint16_t ra11; + var boolean ok; + + ra11 := enc_EGPRSPktChRequest2uint(req); + log("Sending EGPRS Packet Channel Request (", ra11, "): ", req); + + ok := f_establish_tbf(rr_msg, ra := ra11, is_11bit := 1, burst_type := bt); + if (not ok) { + setverdict(fail, "Failed to establush an Uplink TBF"); + mtc.stop; + } + + if (not match(rr_msg, t_imm_ass)) { + setverdict(fail, "Immediate Assignment does not match"); + mtc.stop; + } + + setverdict(pass); +} + +testcase TC_egprs_pkt_chan_req_signalling() runs on RAW_PCU_Test_CT { + var template GsmRrMessage imm_ass; + var template IaRestOctets rest; + var template EgprsUlAss ul_ass; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + var EGPRSPktChRequest req := { + /* NOTE: other fields are set in the loop */ + signalling := { tag := '110011'B } + }; + + for (var integer i := 0; i < 6; i := i + 1) { + var BIT5 ext_ra := int2bit(f_rnd_int(32), 5); + req.signalling.random_bits := ext_ra; + + /* For signalling, do we expect Multiblock UL TBF Assignment? */ + ul_ass := tr_EgprsUlAssMultiblock(ext_ra := ext_ra); + rest := tr_IaRestOctets_EGPRSULAss(ul_ass); + imm_ass := tr_IMM_TBF_ASS(dl := false, rest := rest); + + f_TC_egprs_pkt_chan_req(req, imm_ass); + } +} + +testcase TC_egprs_pkt_chan_req_one_phase() runs on RAW_PCU_Test_CT { + var template GsmRrMessage imm_ass; + var template IaRestOctets rest; + var template EgprsUlAss ul_ass; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + var EGPRSPktChRequest req := { + /* NOTE: other fields are set in the loop */ + one_phase := { tag := '0'B } + }; + + for (var integer i := 0; i < 6; i := i + 1) { + var BIT5 ext_ra := int2bit(f_rnd_int(32), 5); + var BIT5 mslot_class := int2bit(f_rnd_int(32), 5); + var BIT2 priority := substr(ext_ra, 0, 2); + var BIT3 rand := substr(ext_ra, 2, 3); + + req.one_phase.multislot_class := mslot_class; + req.one_phase.priority := priority; + req.one_phase.random_bits := rand; + + /* For one phase access, do we expect Dynamic UL TBF Assignment? */ + ul_ass := tr_EgprsUlAssDynamic(ext_ra := ext_ra); + rest := tr_IaRestOctets_EGPRSULAss(ul_ass); + imm_ass := tr_IMM_TBF_ASS(dl := false, rest := rest); + + f_TC_egprs_pkt_chan_req(req, imm_ass); + } +} + +testcase TC_egprs_pkt_chan_req_two_phase() runs on RAW_PCU_Test_CT { + var template GsmRrMessage imm_ass; + var template IaRestOctets rest; + var template EgprsUlAss ul_ass; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + var EGPRSPktChRequest req := { + /* NOTE: other fields are set in the loop */ + two_phase := { tag := '110000'B } + }; + + for (var integer i := 0; i < 6; i := i + 1) { + var BIT5 ext_ra := int2bit(f_rnd_int(32), 5); + var BIT2 priority := substr(ext_ra, 0, 2); + var BIT3 rand := substr(ext_ra, 2, 3); + + req.two_phase.priority := priority; + req.two_phase.random_bits := rand; + + /* For two phase access, do we expect Multiblock UL TBF Assignment? */ + ul_ass := tr_EgprsUlAssMultiblock(ext_ra := ext_ra); + rest := tr_IaRestOctets_EGPRSULAss(ul_ass); + imm_ass := tr_IMM_TBF_ASS(dl := false, rest := rest); + + f_TC_egprs_pkt_chan_req(req, imm_ass); + } +} + control { execute( TC_pcuif_suspend() ); execute( TC_ta_ptcch_idle() ); @@ -1583,6 +1701,11 @@ execute( TC_paging_ps_from_sgsn_sign_ptmsi() ); execute( TC_paging_ps_from_sgsn_sign() ); execute( TC_paging_ps_from_sgsn_ptp() ); + + /* EGPRS specific test cases */ + execute( TC_egprs_pkt_chan_req_signalling() ); + execute( TC_egprs_pkt_chan_req_one_phase() ); + execute( TC_egprs_pkt_chan_req_two_phase() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17706 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: Ib5732956ea160f93d82f06bf82bea45501f439d2 Gerrit-Change-Number: 17706 Gerrit-PatchSet: 8 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 Apr 28 11:28:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 28 Apr 2020 11:28:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: Timing Advance: introduce TC_ta_idle_dl_tbf_ass References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17966 ) Change subject: PCU: Timing Advance: introduce TC_ta_idle_dl_tbf_ass ...................................................................... PCU: Timing Advance: introduce TC_ta_idle_dl_tbf_ass This test case initiates the packet Downlink assignment procedure by sending a DL-UNITDATA PDU containing a random TLLI and checks Timing Advance value indicated in the Immediate Assignment. Currently fails due to a bug in the IUT (TA=220). Change-Id: I410abedcc549495f30b5355d399a85648408a946 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 33 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/17966/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 0e3597b..228b19b 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -1313,6 +1313,38 @@ f_TC_mt_ping_pong(ms_racap, exp_cs_mcs); } +/* 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 + * no active TBF exists at the moment of establishment (idle mode). */ +testcase TC_ta_idle_dl_tbf_ass() runs on RAW_PCU_Test_CT { + var OCT4 tlli := f_rnd_octstring(4); + var GsmRrMessage rr_imm_ass; + + /* 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('FFFFFFFF'O, tlli); + + /* SGSN sends some DL data, PCU will initiate Packet Downlink + * Assignment on CCCH (PCH). We don't care about the payload. */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, f_rnd_octstring(10))); + f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); // TODO: match by TLLI! + + /* Make sure that Timing Advance is 0 (the actual value is not known yet). + * As per 3GPP S 44.018, section 3.5.3.1.2, the network *shall* initiate + * the procedures defined in 3GPP TS 44.060 or use the polling mechanism. */ + if (not match(rr_imm_ass, tr_IMM_TBF_ASS(ta := 0))) { + setverdict(fail, "Timing Advance value doesn't match"); + mtc.stop; + } +} + /* Verify that if PCU doesn't get an ACK for first DL block after IMM ASS, it * will retry by retransmitting both the IMM ASS + DL block after poll (ack) * timeout occurs (specified by sent RRBP on DL block). */ @@ -1685,6 +1717,7 @@ execute( TC_ta_ptcch_idle() ); execute( TC_ta_rach_imm_ass() ); execute( TC_ta_ptcch_ul_multi_tbf() ); + execute( TC_ta_idle_dl_tbf_ass() ); execute( TC_cs_lqual_ul_tbf() ); execute( TC_cs_initial_ul() ); execute( TC_cs_max_ul() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17966 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: I410abedcc549495f30b5355d399a85648408a946 Gerrit-Change-Number: 17966 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 Apr 28 11:37:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 28 Apr 2020 11:37:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: Timing Advance: introduce TC_ta_idle_dl_tbf_ass In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17966 ) Change subject: PCU: Timing Advance: introduce TC_ta_idle_dl_tbf_ass ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17966 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: I410abedcc549495f30b5355d399a85648408a946 Gerrit-Change-Number: 17966 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 28 Apr 2020 11:37:58 +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 Apr 28 11:48:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 11:48:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: Timing Advance: introduce TC_ta_idle_dl_tbf_ass In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17966 ) Change subject: PCU: Timing Advance: introduce TC_ta_idle_dl_tbf_ass ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17966 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: I410abedcc549495f30b5355d399a85648408a946 Gerrit-Change-Number: 17966 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 11:48: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 Apr 28 12:46:46 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 28 Apr 2020 12:46:46 +0000 Subject: Change in osmo-msc[master]: manual: link to new common cs7-config.adoc, remove some dup of that In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17580 ) Change subject: manual: link to new common cs7-config.adoc, remove some dup of that ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/17580/2/doc/manuals/chapters/running.adoc File doc/manuals/chapters/running.adoc: https://gerrit.osmocom.org/c/osmo-msc/+/17580/2/doc/manuals/chapters/running.adoc at 104 PS2, Line 104: sctp-role client > I think it is confusing to the user. [?] my aim was to show a quick working example to set both PC and IP and leave all the details of what is a full config to the common chapter. I don't really mind which it is going to be, since the full explanation is in the common chapter linked below. Note that we merged https://gerrit.osmocom.org/c/osmo-iuh/+/17505/3/doc/manuals/chapters/running.adoc and https://gerrit.osmocom.org/c/osmo-sgsn/+/17507/2/doc/manuals/chapters/configuration.adoc which actually go in opposite directions on this. So let's converge on an opinion which it should be and I'll adjust all the others... -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie88dd2c7f7318a31ae04fbd6930346d92141fde5 Gerrit-Change-Number: 17580 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 12:46:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: neels 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 Apr 28 12:54:20 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 28 Apr 2020 12:54:20 +0000 Subject: Change in osmo-hlr[master]: 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name In-Reply-To: References: Message-ID: Hello fixeria, pespin, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/16205 to look at the new patch set (#29). Change subject: 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name ...................................................................... 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name These are seemingly orthogonal changes in one patch, because they are in fact sufficiently intertwined that we are not willing to spend the time to separate them. They are also refactoring changes, unlikely to make sense on their own. ** lu_fsm: Attempting to make luop.c keep state about incoming GSUP requests made me find shortcomings in several places: - since it predates osmo_fsm, it is a state machine that does not strictly enforce the order of state transitions or the right sequence of incoming events. - several places OSMO_ASSERT() on data received from the network. - modifies the subscriber state before a LU is accepted. - dead code about canceling a subscriber in a previous VLR. That would be a good thing to actually do, which should also be trivial now that we record vlr_name and sgsn_name, but I decided to remove the dead code for now. To both step up the LU game *and* make it easier for me to integrate osmo_gsup_req handling, I decided to create a lu_fsm, drawing from my, by now, ample experience of writing osmo_fsms. ** osmo_gsup_req: Prepare for D-GSM, where osmo-hlr will do proxy routing for remote HLRs / communicate with remote MSCs via a proxy: a) It is important that a response that osmo-hlr generates and that is sent back to a requesting MSC contains all IEs that are needed to route it back to the requester. Particularly source_name must become destination_name in the response to be able to even reach the requesting MSC. Other fields are also necessary to match, which were so far taken care of in individual numerous code paths. b) For some operations, the response to a GSUP request is generated asynchronously (like Update Location Request -> Response, or taking the response from an EUSE, or the upcoming proxying to a remote HLR). To be able to feed a request message's information back into the response, we must thus keep the request data around. Since struct osmo_gsup_message references a lot of external data, usually with pointers directly into the received msgb, it is not so trivial to pass GSUP message data around asynchronously, on its own. osmo_gsup_req is the combined solution for both a and b: it keeps all data for a GSUP message by taking ownership of the incoming msgb, and it provides an explicit API "forcing" callers to respond with osmo_gsup_req_respond(), so that all code paths trivially are definitely responding with the correct IEs set to match the request's routing (by using osmo_gsup_make_response() recently added to libosmocore). Adjust all osmo-hlr code paths to use *only* osmo_gsup_req to respond to incoming requests received on the GSUP server (above LU code being one of them). In fact, the same should be done on the client side. Hence osmo_gsup_req is implemented in a server/client agnostic way, and is placed in libosmo-gsupclient. As soon as we see routing errors in complex GSUP setups, using osmo_gsup_req in the related GSUP client is likely to resolve those problems without much thinking required beyond making all code paths use it. libosmo-gsupclient is hence added to osmo-hlr binary's own library dependencies. It would have been added by the D-GSM proxy routing anyway, we are just doing it a little sooner. ** gsup_peer_id.c / osmo_ipa_name: We so far handle an IPA unit name as pointer + size, or as just pointer with implicit talloc size. To ease working with GSUP peer identification data, I require: - a non-allocated storage of an IPA Name. It brings the drawback of being size limited, but our current implementation is anyway only able to handle MSC and SGSN names of 31 characters (see struct hlr_subscriber). - a single-argument handle for IPA Name, - easy to use utility functions like osmo_ipa_name_to_str(), osmo_ipa_name_cmp(), and copying by simple assignment, a = b. Hence this patch adds a osmo_ipa_name in gsup_peer_id.h and gsup_peer_id.c. Heavily used in LU and osmo_gsup_req. Depends: libosmocore Id9692880079ea0f219f52d81b1923a76fc640566 Change-Id: I3a8dff3d4a1cbe10d6ab08257a0138d6b2a082d9 --- M configure.ac M include/Makefile.am A include/osmocom/gsupclient/gsup_req.h A include/osmocom/gsupclient/ipa_name.h M include/osmocom/hlr/Makefile.am M include/osmocom/hlr/db.h M include/osmocom/hlr/gsup_router.h M include/osmocom/hlr/gsup_server.h M include/osmocom/hlr/hlr.h M include/osmocom/hlr/hlr_ussd.h M include/osmocom/hlr/logging.h A include/osmocom/hlr/lu_fsm.h D include/osmocom/hlr/luop.h M src/Makefile.am M src/db_hlr.c M src/gsup_router.c M src/gsup_send.c M src/gsup_server.c M src/gsupclient/Makefile.am A src/gsupclient/gsup_req.c A src/gsupclient/ipa_name.c M src/hlr.c M src/hlr_ussd.c M src/logging.c A src/lu_fsm.c D src/luop.c M tests/Makefile.am M tests/db/Makefile.am M tests/db/db_test.c M tests/db/db_test.err A tests/gsup/Makefile.am A tests/gsup/gsup_test.c A tests/gsup/gsup_test.err A tests/gsup/gsup_test.ok M tests/gsup_server/Makefile.am M tests/test_nodes.vty M tests/testsuite.at 37 files changed, 1,589 insertions(+), 865 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/05/16205/29 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3a8dff3d4a1cbe10d6ab08257a0138d6b2a082d9 Gerrit-Change-Number: 16205 Gerrit-PatchSet: 29 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels 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 Tue Apr 28 12:56:30 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 28 Apr 2020 12:56:30 +0000 Subject: Change in osmo-hlr[master]: 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16205 ) Change subject: 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name ...................................................................... Patch Set 29: Code-Review-1 (still unresolved issues, see above. Just fixed the merge conflict.) -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3a8dff3d4a1cbe10d6ab08257a0138d6b2a082d9 Gerrit-Change-Number: 16205 Gerrit-PatchSet: 29 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 12:56: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 Apr 28 13:50:11 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 28 Apr 2020 13:50:11 +0000 Subject: Change in osmo-hlr[master]: 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16205 ) Change subject: 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name ...................................................................... Patch Set 29: (1 comment) https://gerrit.osmocom.org/c/osmo-hlr/+/16205/26/src/gsupclient/gsup_req.c File src/gsupclient/gsup_req.c: https://gerrit.osmocom.org/c/osmo-hlr/+/16205/26/src/gsupclient/gsup_req.c at 142 PS26, Line 142: osmo_gsup_req_free > Actually I want to avoid bugs by including the free everywhere implicitly. [?] Taking another look... (I notice that osmo_gsup_make_response() also changes the session_state in the response message depending on the final_response flag. So I need a final_response flag anyway, even if the free were a separate call.) Having the free() implicitly as soon as there is a final response enforces a request-response relation in GSUP. Some background... { The typical case is: rx GSUP, tx response. With the new osmo_gsup_req we can easily expand to: rx GSUP, wait async, tx response. Only few GSUP constructs go beyond a 1:1 request-response match. But some have a session or more negotiation may happen before the initial request is completed, so the final_response flag adds: rx GSUP, wait async, [tx other, wait async, rx other...,] tx final response. By definition, all of these either end in a final response or an error. So I want to tie the lifetime of the osmo_gsup_req to the req -> resp/err cycle, to avoid memory leaks and enforce the GSUP request-response model. } We could argue that we may not want to enforce a req -> resp/err like this? Personally I don't like very much that the final_response is just a little 'true'/'false' that is easy to miss when reading code; but I also don't want to multiply nr of function signatures by two by adding nonfinal functions (osmo_gsup_req_respond{_nonfinal}, osmo_gsup_req_respond_msgt{_nonfinal}). Making the true/false flag more obvious could be done by an enum value (osmo_gsup_req_respond(GSUP_RESP_FINAL, ...)). An enum value also opens the door to different ways to do a GSUP response in the future, if ever needed (like a "final" response but doesn't free??). mem leaks: using msgb(), we often have/had hidden memleaks. With an implicit free we may be able to mostly avoid the entire class of gsup_req memleaks. I think I would implement the GSUP_RESP_[NON]FINAL enum value now and keep the free() implicit. Seems to be the most future proof yet most bug avoiding option. But since changing this ripples across multiple files in multiple patches, I'd like more opinions before I change anything. If no opinions, I guess it should just remain unchanged...? -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3a8dff3d4a1cbe10d6ab08257a0138d6b2a082d9 Gerrit-Change-Number: 16205 Gerrit-PatchSet: 29 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 13:50:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Apr 28 14:11:43 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 28 Apr 2020 14:11:43 +0000 Subject: Change in osmo-hlr[master]: 2/2: fixup: add osmo_gsup_peer_id with type enum and union In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16459 ) Change subject: 2/2: fixup: add osmo_gsup_peer_id with type enum and union ...................................................................... Patch Set 9: Let me recap the problem space around this patch: - the IPA multiplex protocol has an arbitrary data+length field for peer identification. - in osmo-hlr DB, the peer identification is defined as VARCHAR(32), but SQLite does not enforce the length of 32 (it becomes a TEXT field under the hood). - I think the idea was a decimal number to identify VLR and HLR - in hlr_subscriber, we use a char {vlr,sgsn}_number[32], i.e. hard limited to 31 chars plus nul, since most code expects nul termination. - in osmo-hlr cfg and code, we use an arbitrary C string (nul terminated) - we'd like to be open to a DIAMETER future with an arbitrary blob as identification? - ...with a global title as identification? The struct osmo_gsup_peer_id came about because many code paths passed a data+length pointer around as arguments, with unclear data ownership issues. I needed to clarify that with a simple self-contained struct that is certain to have no hidden dynamic allocation going on, and which will survive async event handling. The current state of this patch is attempting to be a universal data type open to all of the above interpretations, which I am unsure about. I don't like very much how convoluted this has become, especially since being this universal is not supported by many code paths. If we kept it simple and stick to the current actual usage, we would simply enforce all GSUP peer identification to be a nul terminated string of max 31 characters plus a nul. Expanding from that: - Having more length would require adjusting hlr_subscriber's max length. - Having an arbitrary blob would require: - changing the DB schema - inventing some way to configure BLOBs in the osmo-hlr.cfg - I am not familiar with how we would tie in a DIAMETER identification. If there are any opinions or aspects I missed, I'd be glad to hear them. -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ide9dcdca283ab989240cfc6e53e9211862a199c5 Gerrit-Change-Number: 16459 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 14:11:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Apr 28 14:23:03 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 28 Apr 2020 14:23:03 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea83d9936b95_660a2ad4c86ce5f4701e0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 559s] ^~~~~~~~~~~~~~~~~~~ [ 560s] main.c: In function 'main': [ 560s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 560s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 560s] ^~~~~~~~~~~~~~~~~~~ [ 560s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 560s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 560s] ^ [ 560s] cc1: some warnings being treated as errors [ 560s] Makefile:469: recipe for target 'main.o' failed [ 560s] make[3]: *** [main.o] Error 1 [ 560s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 560s] Makefile:402: recipe for target 'all-recursive' failed [ 560s] make[2]: *** [all-recursive] Error 1 [ 560s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 560s] Makefile:349: recipe for target 'all' failed [ 560s] make[1]: *** [all] Error 2 [ 560s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 560s] dh_auto_build: make -j1 returned exit code 2 [ 560s] debian/rules:45: recipe for target 'build' failed [ 560s] make: *** [build] Error 2 [ 560s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 560s] ### VM INTERACTION START ### [ 563s] [ 520.204662] sysrq: SysRq : Power Off [ 563s] [ 520.206927] reboot: Power down [ 563s] ### VM INTERACTION END ### [ 563s] [ 563s] armbuild19 failed "build osmo-uecups_0.1.3.1.8362.dsc" at Tue Apr 28 14:22:53 UTC 2020. [ 563s] -- 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 Apr 28 14:55:22 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 28 Apr 2020 14:55:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: Timing Advance: introduce TC_ta_idle_dl_tbf_ass In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17966 ) Change subject: PCU: Timing Advance: introduce TC_ta_idle_dl_tbf_ass ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17966 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: I410abedcc549495f30b5355d399a85648408a946 Gerrit-Change-Number: 17966 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 14:55: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 Apr 28 14:55:32 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 28 Apr 2020 14:55:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: Timing Advance: introduce TC_ta_idle_dl_tbf_ass In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17966 ) Change subject: PCU: Timing Advance: introduce TC_ta_idle_dl_tbf_ass ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17966 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: I410abedcc549495f30b5355d399a85648408a946 Gerrit-Change-Number: 17966 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 14: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 Apr 28 14:55:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 28 Apr 2020 14:55:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: Timing Advance: introduce TC_ta_idle_dl_tbf_ass In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17966 ) Change subject: PCU: Timing Advance: introduce TC_ta_idle_dl_tbf_ass ...................................................................... PCU: Timing Advance: introduce TC_ta_idle_dl_tbf_ass This test case initiates the packet Downlink assignment procedure by sending a DL-UNITDATA PDU containing a random TLLI and checks Timing Advance value indicated in the Immediate Assignment. Currently fails due to a bug in the IUT (TA=220). Change-Id: I410abedcc549495f30b5355d399a85648408a946 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 33 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/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 0e3597b..1d13b8e 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -603,6 +603,38 @@ } } +/* 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 + * no active TBF exists at the moment of establishment (idle mode). */ +testcase TC_ta_idle_dl_tbf_ass() runs on RAW_PCU_Test_CT { + var OCT4 tlli := f_rnd_octstring(4); + var GsmRrMessage rr_imm_ass; + + /* 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('FFFFFFFF'O, tlli); + + /* SGSN sends some DL data, PCU will initiate Packet Downlink + * Assignment on CCCH (PCH). We don't care about the payload. */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, f_rnd_octstring(10))); + f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); // TODO: match by TLLI! + + /* Make sure that Timing Advance is 0 (the actual value is not known yet). + * As per 3GPP S 44.018, section 3.5.3.1.2, the network *shall* initiate + * the procedures defined in 3GPP TS 44.060 or use the polling mechanism. */ + if (not match(rr_imm_ass, tr_IMM_TBF_ASS(ta := 0))) { + setverdict(fail, "Timing Advance value doesn't match"); + mtc.stop; + } +} + /* Verify that the PCU generates valid PTCCH/D messages * while neither Uplink nor Downlink TBF is established. */ testcase TC_ta_ptcch_idle() runs on RAW_PCU_Test_CT { @@ -1684,6 +1716,7 @@ execute( TC_pcuif_suspend() ); execute( TC_ta_ptcch_idle() ); execute( TC_ta_rach_imm_ass() ); + execute( TC_ta_idle_dl_tbf_ass() ); execute( TC_ta_ptcch_ul_multi_tbf() ); execute( TC_cs_lqual_ul_tbf() ); execute( TC_cs_initial_ul() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17966 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: I410abedcc549495f30b5355d399a85648408a946 Gerrit-Change-Number: 17966 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria 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 Tue Apr 28 15:40:29 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 28 Apr 2020 15:40:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: refactor f_pcuif_rx_imm_ass(): also handle PCH SAPI References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17967 ) Change subject: PCU: refactor f_pcuif_rx_imm_ass(): also handle PCH SAPI ...................................................................... PCU: refactor f_pcuif_rx_imm_ass(): also handle PCH SAPI Change-Id: Ia5d162c1d8bbee43a6e9fab784d8675187f15be1 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 21 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/17967/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 1d13b8e..be15f5a 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -237,27 +237,35 @@ } private function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, + template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, template GsmRrMessage t_imm_ass := ?, uint8_t bts_nr := 0) runs on RAW_PCU_Test_CT return boolean { var PCUIF_Message pcu_msg; + var octetstring data; timer T; T.start(2.0); alt { [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, - sapi := PCU_IF_SAPI_AGCH, data := ?)) - -> value pcu_msg { - rr_imm_ass := dec_GsmRrMessage(pcu_msg.u.data_req.data); - log("Rx Immediate Assignment: ", rr_imm_ass); - - if (match(rr_imm_ass, t_imm_ass)) { - setverdict(pass); - return true; + sapi := sapi, data := ?)) -> value pcu_msg { + /* On PCH the payload is prefixed with paging group (3 octets): skip it. + * TODO: add an additional template parameter, so we can match it. */ + if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { + data := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); + } else { + data := pcu_msg.u.data_req.data; } - /* Not for us? Wait for more. */ - repeat; + rr_imm_ass := dec_GsmRrMessage(data); + if (not match(rr_imm_ass, t_imm_ass)) { + /* Not for us? Wait for more. */ + repeat; + } + + log("Rx Immediate Assignment: ", rr_imm_ass); + setverdict(pass); + return true; } [] BTS.receive { repeat; } [] T.timeout { @@ -293,7 +301,9 @@ if (is_11bit != 0) { ra := 127; } /* Expect Immediate (TBF) Assignment on TS0/AGCH */ - return f_pcuif_rx_imm_ass(rr_imm_ass, tr_IMM_TBF_ASS(?, ra, fn), bts_nr); + return f_pcuif_rx_imm_ass(rr_imm_ass, PCU_IF_SAPI_AGCH, + tr_IMM_TBF_ASS(?, ra, fn), + bts_nr := bts_nr); } private function f_imm_ass_verify_ul_tbf_ass(GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17967 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: Ia5d162c1d8bbee43a6e9fab784d8675187f15be1 Gerrit-Change-Number: 17967 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 Apr 28 15:40:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 28 Apr 2020 15:40:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce and use helper f_pcuif_tx_data_cnf() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17968 ) Change subject: PCU: introduce and use helper f_pcuif_tx_data_cnf() ...................................................................... PCU: introduce and use helper f_pcuif_tx_data_cnf() Change-Id: Icc23f4d0cd56f553aad81679d9d62243554402aa --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 14 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/68/17968/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index be15f5a..5d1f080 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -236,6 +236,18 @@ desc.final_ack := final_ack; } +/* This function can be used to send DATA.cnf in response to the IUT originated DATA.req. + * NOTE: it's the responsibility of caller to make sure that pcu_msg contains u.data_req. */ +private function f_pcuif_tx_data_cnf(in PCUIF_Message pcu_msg) +runs on RAW_PCU_Test_CT { + BTS.send(PCUIF_Message:{ + msg_type := PCU_IF_MSG_DATA_CNF, + bts_nr := pcu_msg.bts_nr, + spare := pcu_msg.spare, + u := { data_cnf := pcu_msg.u.data_req } + }); +} + private function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, template GsmRrMessage t_imm_ass := ?, @@ -381,8 +393,7 @@ setverdict(fail, "Failed to match Immediate Assignment: ", rr_imm_ass); mtc.stop; } - BTS.send(ts_PCUIF_DATA_CNF(bts_nr := 0, trx_nr := 0, ts_nr := 0, block_nr := 0, - fn := pcu_msg.u.data_req.fn, arfcn := 871, sapi := PCU_IF_SAPI_PCH, data := macblock)); + f_pcuif_tx_data_cnf(pcu_msg); } /* Expect a Paging Request Type 1 from PCU on PCUIF on specified sapi. */ @@ -418,9 +429,7 @@ mtc.stop; } - BTS.send(ts_PCUIF_DATA_CNF(bts_nr := 0, trx_nr := 0, ts_nr := 0, block_nr := 0, - fn := pcu_msg.u.data_req.fn, arfcn := 871, sapi := PCU_IF_SAPI_PCH, data := macblock)); - + f_pcuif_tx_data_cnf(pcu_msg); return rr_pag_req1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17968 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: Icc23f4d0cd56f553aad81679d9d62243554402aa Gerrit-Change-Number: 17968 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 Apr 28 15:43:06 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 28 Apr 2020 15:43:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong_with_ul_racap In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 ) Change subject: pcu: Introduce test TC_mo_ping_pong_with_ul_racap ...................................................................... Patch Set 8: Code-Review+1 This change actually does more that just introducing a new test case. I would still prefer to see all MA Radio Access Capability related template movements in a separate (preceding) change. But this is not a merge blocker, up to you. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 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: I5026d8b78a3fb82093956b65989d18fa6f6d5424 Gerrit-Change-Number: 17935 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 15:43: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 Apr 28 15:43:27 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 28 Apr 2020 15:43:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Allow setting 'egprs only' mode by test In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17956 ) Change subject: pcu: Allow setting 'egprs only' mode by test ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17956 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: I7b0ff2f4895b7af39314600c10cc2f139bf45a2f Gerrit-Change-Number: 17956 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 28 Apr 2020 15:43: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 Apr 28 15:57:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 28 Apr 2020 15:57:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC: Add partial support for EGPRS data block encoding/dec... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965 ) Change subject: library/RLCMAC: Add partial support for EGPRS data block encoding/decoding ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965/2/library/RLCMAC_Types.ttcn File library/RLCMAC_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965/2/library/RLCMAC_Types.ttcn at 680 PS2, Line 680: ************************ This change is unrelated, please stash it. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965 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: I2bc4f877a5e17c57ffa8cf05565dc8593b45aae8 Gerrit-Change-Number: 17965 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 28 Apr 2020 15:57: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 Tue Apr 28 16:01:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 16:01:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong_with_ul_racap In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 ) Change subject: pcu: Introduce test TC_mo_ping_pong_with_ul_racap ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 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: I5026d8b78a3fb82093956b65989d18fa6f6d5424 Gerrit-Change-Number: 17935 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 16:01: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 Apr 28 16:01:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 16:01:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mo_ping_pong_with_ul_racap In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 ) Change subject: pcu: Introduce test TC_mo_ping_pong_with_ul_racap ...................................................................... pcu: Introduce test TC_mo_ping_pong_with_ul_racap Test sending MS RA capabilities through Packet Resource Request to update GPRS multislot class. EGPRS multislot will come in a later commit. Change-Id: I5026d8b78a3fb82093956b65989d18fa6f6d5424 --- M bsc-nat/gen_links.sh M library/L3_Templates.ttcn M library/RLCMAC_CSN1_Types.ttcn M library/RLCMAC_Types.ttcn M mme/gen_links.sh M msc/gen_links.sh M pcu/PCU_Tests_RAW.ttcn 7 files changed, 166 insertions(+), 41 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc-nat/gen_links.sh b/bsc-nat/gen_links.sh index 5da9d4e..471753e 100755 --- a/bsc-nat/gen_links.sh +++ b/bsc-nat/gen_links.sh @@ -52,7 +52,7 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc Osmocom_CTRL_Types.ttcn Osmocom_VTY_Functions.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn BSSAP_CodecPort.ttcn" +FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn RLCMAC_CSN1_Types.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc Osmocom_CTRL_Types.ttcn Osmocom_VTY_Functions.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn BSSAP_CodecPort.ttcn" gen_links $DIR $FILES ignore_pp_results diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 7c22415..8af9acc 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -20,6 +20,7 @@ import from MobileL3_CC_Types all; import from MobileL3_GMM_SM_Types all; import from MobileL3_SMS_Types all; +import from RLCMAC_CSN1_Types all; /* TS 24.007 Table 11.3 TI Flag */ const BIT1 c_TIF_ORIG := '0'B; @@ -2012,33 +2013,6 @@ cnSpecificDRXCycleLength := '0000'B /* SI value used */ }; -template (value) AccessCapabilitiesStruct ts_AccesssCap := { - lengthIndicator := 0, /* overwritten */ - accessCapabilities := { - rfPowerCapability := '001'B, /* FIXME */ - presenceBitA5 := '0'B, - a5bits := omit, - esind := '1'B, - psbit := '0'B, - vgcs := '0'B, - vbs := '0'B, - presenceBitMultislot := '0'B, - multislotcap := omit, - accessCapAdditionsAfterRel97 := omit - }, - spare_bits := omit -} - -template (value) MSRACapabilityValuesRecord ts_RaCapRec(BIT4 att) := { - mSRACapabilityValues := { - mSRACapabilityValuesExclude1111 := { - accessTechnType := '0001'B, /* E-GSM */ - accessCapabilities := ts_AccesssCap - } - }, - presenceBitMSRACap := '0'B -}; - template (value) MSRadioAccessCapabilityLV ts_MS_RaCapa := { lengthIndicator := 0, /* overwritten */ msRadioAccessCapabilityV := { diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index 9ceb339..b545368 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -420,10 +420,9 @@ variant (tlli) "BYTEORDER(first)" }; - /* 12.30 MS Radio Access Capability 2 (feature bitmask) - * (value part, see 3GPP TS 24.008, 10.5.5.12a) */ + /* TS 44.060 sec 12.30 MS Radio Access Capability 2 + * (for value part, see 3GPP TS 24.008 sec 10.5.5.12a and table 10.5.146) */ type union MSRadioAccCap2 { - /* TODO: see table 10.5.146/3GPP TS 24.008 */ MSRadioAccessCapabilityV msRadioAccessCapabilityV }; @@ -676,10 +675,88 @@ } } - template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_RES_REQ( - GprsTlli tlli, ChannelReqDescription ch_req_desc, - RlcAccessType acc_type := RLC_ACC_TYPE_TWO_PHASE - ) := { + private function f_presence_bit_MultislotCap_GPRS(template (omit) MultislotCap_GPRS mscap_gprs) return BIT1 { + if (istemplatekind(mscap_gprs, "omit")) { + return '0'B; + } + return '1'B; + } + private function f_presence_bit_MultislotCap_EGPRS(template (omit) MultislotCap_EGPRS mscap_egprs) return BIT1 { + if (istemplatekind(mscap_egprs, "omit")) { + return '0'B; + } + return '1'B; + } + template (value) MSRACapabilityValuesRecord ts_RaCapRec(BIT4 att := '0001'B /* E-GSM */, template (omit) MultislotCap_GPRS mscap_gprs := omit, template (omit) MultislotCap_EGPRS mscap_egprs := omit) := { + mSRACapabilityValues := { + mSRACapabilityValuesExclude1111 := { + accessTechnType := att, /* E-GSM */ + accessCapabilities := { + lengthIndicator := 0, /* overwritten */ + accessCapabilities := { + rfPowerCapability := '001'B, /* FIXME */ + presenceBitA5 := '0'B, + a5bits := omit, + esind := '1'B, + psbit := '0'B, + vgcs := '0'B, + vbs := '0'B, + presenceBitMultislot := '1'B, + multislotcap := { + presenceBitHscsd := '0'B, + hscsdmultislotclass := omit, + presenceBitGprs := f_presence_bit_MultislotCap_GPRS(mscap_gprs), + gprsmultislot := mscap_gprs, + presenceBitSms := '0'B, + multislotCap_SMS := omit, + multislotCapAdditionsAfterRel97 := { + presenceBitEcsdmulti := '0'B, + ecsdmultislotclass := omit, + presenceBitEgprsmulti := f_presence_bit_MultislotCap_EGPRS(mscap_egprs), + multislotCap_EGPRS := mscap_egprs, + presenceBitDtmGprsmulti := '0'B, + multislotCapdtmgprsmultislotsubclass := omit + } + }, + accessCapAdditionsAfterRel97 := omit + }, + spare_bits := omit + } + } + }, + presenceBitMSRACap := '0'B + }; + + private function f_presence_bit_MSRadioAccessCapabilityV(template (omit) MSRadioAccessCapabilityV ms_rac) return BIT1 { + if (istemplatekind(ms_rac, "omit")) { + return '0'B; + } + return '1'B; + } + + private function f_template_MSRadioAccessCapabilityV_to_MSRadioAccCap2(template (omit) MSRadioAccessCapabilityV ms_rac) return template (omit) MSRadioAccCap2 { + var template (omit) MSRadioAccCap2 ms_rac2 := omit; + if (istemplatekind(ms_rac, "omit")) { + return ms_rac2; + } + ms_rac2 := { msRadioAccessCapabilityV := ms_rac }; + return ms_rac2; + } + + private const ChannelReqDescription c_ChReqDesc_default := { + peak_tput_class := 0, + priority := 0, + rlc_mode := RLC_MODE_UNACKNOWLEDGED, + llc_pdu_type := LLC_PDU_IS_NOT_SACK_OR_ACK, + RlcOctetCount := 0 + } + + /* TS 44.060 sec 11.2.16 */ + template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_RES_REQ(GprsTlli tlli, + template (omit) MSRadioAccessCapabilityV ms_rac, + ChannelReqDescription ch_req_desc := c_ChReqDesc_default, + RlcAccessType acc_type := RLC_ACC_TYPE_TWO_PHASE) + := { msg_type := PACKET_RESOURCE_REQUEST, u := { resource_req := { @@ -687,8 +764,8 @@ acc_type := acc_type, id_type := '1'B, id := { tlli := tlli }, - ms_rac2_presence := '0'B, - ms_rac2 := omit, + ms_rac2_presence := f_presence_bit_MSRadioAccessCapabilityV(ms_rac), + ms_rac2 := f_template_MSRadioAccessCapabilityV_to_MSRadioAccCap2(ms_rac), ch_req_desc := ch_req_desc, change_mark_presence := '0'B, change_mark := omit, diff --git a/library/RLCMAC_Types.ttcn b/library/RLCMAC_Types.ttcn index dbcf4ae..97b89da 100644 --- a/library/RLCMAC_Types.ttcn +++ b/library/RLCMAC_Types.ttcn @@ -445,6 +445,32 @@ } } + template RlcmacDlBlock tr_RLCMAC_UL_PACKET_ASS(template uint3_t usf := ?) := { + ctrl := { + mac_hdr := { + payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), + rrbp:= ?, + rrbp_valid := ?, + usf := usf + }, + opt := *, + payload := { + msg_type := PACKET_UL_ASSIGNMENT, + u := { + ul_assignment := { + page_mode := ?, + persistence_levels_present := ?, + persistence_levels := *, + identity := ?, + is_egprs := ?, /* msg escape */ + gprs := * + } + } + } + } + } + + /* Receive Template for Uplink ACK/NACK */ template RlcmacDlBlock tr_RLCMAC_UL_ACK_NACK(template uint5_t ul_tfi, template GprsTlli tlli := ?) := { ctrl := { diff --git a/mme/gen_links.sh b/mme/gen_links.sh index f22f1ca..469b92f 100755 --- a/mme/gen_links.sh +++ b/mme/gen_links.sh @@ -56,7 +56,7 @@ DIR=../library FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn Osmocom_Types.ttcn Native_Functions.ttcn Native_FunctionDefs.cc " FILES+="SGsAP_Templates.ttcn SGsAP_CodecPort.ttcn SGsAP_CodecPort_CtrlFunct.ttcn SGsAP_CodecPort_CtrlFunctDef.cc SGsAP_Emulation.ttcn DNS_Helpers.ttcn " -FILES+="L3_Templates.ttcn " +FILES+="L3_Templates.ttcn RLCMAC_CSN1_Types.ttcn " FILES+="S1AP_CodecPort.ttcn S1AP_CodecPort_CtrlFunctDef.cc S1AP_CodecPort_CtrlFunct.ttcn S1AP_Emulation.ttcn " FILES+="NAS_Templates.ttcn GTPv2_PrivateExtensions.ttcn GTPv2_Templates.ttcn " FILES+="DIAMETER_Types.ttcn DIAMETER_CodecPort.ttcn DIAMETER_CodecPort_CtrlFunct.ttcn DIAMETER_CodecPort_CtrlFunctDef.cc DIAMETER_Emulation.ttcn DIAMETER_Templates.ttcn " diff --git a/msc/gen_links.sh b/msc/gen_links.sh index 7aaba2b..329a7d1 100755 --- a/msc/gen_links.sh +++ b/msc/gen_links.sh @@ -93,7 +93,7 @@ DIR=../library FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn Osmocom_Types.ttcn MNCC_Types.ttcn MNCC_EncDec.cc MNCC_CodecPort.ttcn mncc.h MNCC_Emulation.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc " FILES+="IPA_Types.ttcn IPA_Emulation.ttcnpp IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc GSUP_Types.ttcn GSUP_Emulation.ttcn " -FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn L3_Templates.ttcn L3_Common.ttcn " +FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn L3_Templates.ttcn RLCMAC_CSN1_Types.ttcn L3_Common.ttcn " FILES+="RAN_Emulation.ttcnpp BSSAP_CodecPort.ttcn BSSMAP_Templates.ttcn RAN_Adapter.ttcnpp MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_Emulation.ttcn " FILES+="RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunctDef.cc " FILES+="MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunctDef.cc " diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 1d13b8e..54412e3 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -26,6 +26,7 @@ import from Osmocom_VTY_Functions all; import from TELNETasp_PortType all; +import from MobileL3_GMM_SM_Types all; import from RLCMAC_CSN1_Types all; import from RLCMAC_Types all; @@ -496,6 +497,20 @@ poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); } +private function f_rx_rlcmac_dl_block_exp_pkt_ul_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) +runs on RAW_PCU_Test_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_UL_PACKET_ASS())) { + setverdict(fail, "Failed to match Packet Uplink Assignment"); + mtc.stop; + } + + poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); +} + + private function f_rx_rlcmac_dl_block_exp_pkt_pag_req(out RlcmacDlBlock dl_block) runs on RAW_PCU_Test_CT { var uint32_t dl_fn; @@ -1201,7 +1216,7 @@ /* Test scenario where MS wants to send some data on PDCH against SGSN and it is * answered, so TBFs for uplink and later for downlink are created. */ -testcase TC_mo_ping_pong() runs on RAW_PCU_Test_CT { +private function f_TC_mo_ping_pong(template (omit) MSRadioAccessCapabilityV ms_racap := omit, template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { var GsmRrMessage rr_imm_ass; var PacketUlAssign ul_tbf_ass; var PacketDlAssign dl_tbf_ass; @@ -1235,6 +1250,18 @@ mtc.stop; } + if (not istemplatekind(ms_racap, "omit")) { + /* Send PACKET RESOURCE REQUEST to upgrade to EGPRS + * (see 3GPP TS 04.60 "7.1.3.1 Initiation of the Packet resource request procedure") + */ + f_tx_rlcmac_ul_block(ts_RLC_UL_CTRL_ACK(valueof(ts_RlcMacUlCtrl_PKT_RES_REQ(tlli, ms_racap))), 0); + f_rx_rlcmac_dl_block_exp_pkt_ul_ass(dl_block, sched_fn); + if (dl_block.ctrl.payload.u.ul_assignment.identity.tlli.tlli != tlli) { + setverdict(fail, "Wrong TLLI ", dl_block.ctrl.payload.u.ul_assignment.identity.tlli, " received vs exp ", tlli); + mtc.stop; + } + } + /* Send one UL block and make sure it is ACKED fine */ f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); @@ -1256,13 +1283,33 @@ /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); + f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0, exp_cs_mcs); /* ACK the DL block */ f_acknackdesc_ack_block(ack_nack_desc, dl_block.data.mac_hdr.hdr_ext.bsn, '1'B); f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(dl_block.data.mac_hdr.hdr_ext.tfi, ack_nack_desc), 0, sched_fn); } +/* Test scenario where MS wants to send some data on PDCH against SGSN and it is + * answered, so TBFs for uplink and later for downlink are created. + */ +testcase TC_mo_ping_pong() runs on RAW_PCU_Test_CT { + var CodingScheme exp_cs_mcs := CS_1; + f_TC_mo_ping_pong(omit, exp_cs_mcs); +} + + +testcase TC_mo_ping_pong_with_ul_racap() runs on RAW_PCU_Test_CT { + var MultislotCap_GPRS mscap_gprs := { + gprsmultislotclass := '00011'B, + gprsextendeddynalloccap := '0'B + }; + var MSRadioAccessCapabilityV ms_racap := { valueof(ts_RaCapRec('0001'B /* E-GSM */, mscap_gprs, omit)) }; + var CodingScheme exp_cs_mcs := CS_2; + + f_TC_mo_ping_pong(ms_racap, exp_cs_mcs); +} + /* Test scenario where SGSN wants to send some data against MS and it is * answered by the MS on PDCH, so TBFs for downlink and later for uplink are created. */ @@ -1724,6 +1771,7 @@ execute( TC_t3169() ); execute( TC_t3193() ); execute( TC_mo_ping_pong() ); + execute( TC_mo_ping_pong_with_ul_racap() ); execute( TC_mt_ping_pong() ); execute( TC_mt_ping_pong_with_dl_racap() ); execute( TC_imm_ass_dl_block_retrans() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17935 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: I5026d8b78a3fb82093956b65989d18fa6f6d5424 Gerrit-Change-Number: 17935 Gerrit-PatchSet: 9 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 Apr 28 16:01:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 16:01:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Allow setting 'egprs only' mode by test In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17956 ) Change subject: pcu: Allow setting 'egprs only' mode by test ...................................................................... pcu: Allow setting 'egprs only' mode by test Will be used by next patches testing EGPRS features. Change-Id: I7b0ff2f4895b7af39314600c10cc2f139bf45a2f --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 8 insertions(+), 0 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 54412e3..d491f48 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -129,6 +129,8 @@ var uint8_t g_mcs_max_dl := 9; var uint8_t g_mcs_max_ul := 9; + var boolean g_egprs_only := false; + /* Guard timeout */ timer g_T_guard := 60.0; }; @@ -175,6 +177,12 @@ map(self:PCUVTY, system:PCUVTY); f_vty_set_prompts(PCUVTY); f_vty_transceive(PCUVTY, "enable"); + + if (g_egprs_only) { + f_vty_config2(PCUVTY, {"pcu"}, "egprs only"); + } else { + f_vty_config2(PCUVTY, {"pcu"}, "no egprs"); + } } private function f_init_raw(charstring id, template (value) PCUIF_info_ind info_ind := ts_PCUIF_INFO_default) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17956 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: I7b0ff2f4895b7af39314600c10cc2f139bf45a2f Gerrit-Change-Number: 17956 Gerrit-PatchSet: 4 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 Apr 28 16:08:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 16:08:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: cosmetic: RLCMAC_Types.ttcn: Make different PTCCH types section more ... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17969 ) Change subject: cosmetic: RLCMAC_Types.ttcn: Make different PTCCH types section more visible ...................................................................... cosmetic: RLCMAC_Types.ttcn: Make different PTCCH types section more visible On top there's a lot of types related to data blocks. Having more stylish section header helps orientating one self while looking through the data blocks. Change-Id: I87d4694031ea6874b233626818824cdc4f3505c6 --- M library/RLCMAC_Types.ttcn 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/17969/1 diff --git a/library/RLCMAC_Types.ttcn b/library/RLCMAC_Types.ttcn index 97b89da..8688d36 100644 --- a/library/RLCMAC_Types.ttcn +++ b/library/RLCMAC_Types.ttcn @@ -576,8 +576,10 @@ payload := data } - /* PTCCH/D (Packet Timing Advance Control Channel) message. - * TODO: add a spec. reference to the message format definition. */ +/************************ + * PTCCH/D (Packet Timing Advance Control Channel) message. + * TODO: add a spec. reference to the message format definition. + *************************/ type record PTCCHTimingAdvanceIE { BIT1 spare ('0'B), uint7_t ta_val -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17969 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: I87d4694031ea6874b233626818824cdc4f3505c6 Gerrit-Change-Number: 17969 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 Apr 28 16:19:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 16:19:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Support retrieving BSN and TFI in tests from data_egprs blocks References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17970 ) Change subject: pcu: Support retrieving BSN and TFI in tests from data_egprs blocks ...................................................................... pcu: Support retrieving BSN and TFI in tests from data_egprs blocks function helpers are slightly modified or added to accomodate for fields in egprs data blocks being in different places. Change-Id: I570fb7346519b2a161515e0ec40bd1870a89d673 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 97 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/17970/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index d491f48..0f565b9 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -219,11 +219,28 @@ receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B } +private function f_rlcmac_dl_block_get_tfi(RlcmacDlBlock dl_block) return uint5_t { + if (ischosen(dl_block.data)) { + return dl_block.data.mac_hdr.hdr_ext.tfi; + } else { + return dl_block.data_egprs.mac_hdr.tfi; + } +} + /* TS 44.060 sec 12.3 Ack/Nack Description */ -private function f_acknackdesc_ack_block(inout AckNackDescription desc, uint7_t bsn, BIT1 final_ack := '0'B) +private function f_acknackdesc_ack_block(inout AckNackDescription desc, RlcmacDlBlock dl_block, BIT1 final_ack := '0'B) { + var uint7_t bsn; var integer i; - var integer inc := bsn - desc.starting_seq_nr + 1; + var integer inc; + + if (ischosen(dl_block.data)) { + bsn := dl_block.data.mac_hdr.hdr_ext.bsn; + } else { + bsn := dl_block.data_egprs.mac_hdr.bsn1; + } + + inc := bsn - desc.starting_seq_nr + 1; /* Filling hole? */ if (bsn < desc.starting_seq_nr) { desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - (desc.starting_seq_nr - bsn)] := int2bit(1, 1); @@ -530,18 +547,9 @@ } } -private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t ack_fn, octetstring data, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) -runs on RAW_PCU_Test_CT { - var PCUIF_Message pcu_msg; - var uint32_t dl_fn; - var template RlcmacDlBlock dl_template := tr_RLCMAC_DATA_RRBP; - dl_template.data.blocks := ?; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, dl_template)) { - setverdict(fail, "Failed to match Packet data: ", dl_block, " vs ", dl_template); - mtc.stop; - } +private function f_rlcmac_dl_block_verify_data_gprs(RlcmacDlBlock dl_block, uint32_t dl_fn, out uint32_t ack_fn, octetstring data, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) +{ + log("verifying dl data block (gprs): ", dl_block); ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data.mac_hdr.mac_hdr.rrbp); @@ -571,6 +579,71 @@ setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); mtc.stop; } + + /* TODO: check exp_cs */ +} + +private function f_rlcmac_dl_block_verify_data_egprs(RlcmacDlBlock dl_block, uint32_t dl_fn, out uint32_t ack_fn, octetstring data, template (present) uint14_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) +{ + log("verifying dl data block (egprs): ", dl_block); + + ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data_egprs.mac_hdr.rrbp); + + if (not match(dl_block.data_egprs.mac_hdr.bsn1, exp_bsn)) { + setverdict(fail, "DL block BSN doesn't match: ", + dl_block.data_egprs.blocks[0].hdr.length_ind, " vs exp ", exp_bsn); + } + + if (lengthof(dl_block.data_egprs.blocks) < 1) { + setverdict(fail, "DL block has no LLC payload: ", dl_block); + mtc.stop; + } + + if (ispresent(dl_block.data_egprs.blocks[0].hdr) and dl_block.data_egprs.blocks[0].hdr.length_ind != lengthof(data)) { + setverdict(fail, "DL block has LLC header with wrong expected size: ", + dl_block.data_egprs.blocks[0].hdr.length_ind, " vs ", lengthof(data)); + mtc.stop; + } + + if (dl_block.data_egprs.blocks[0].payload != data) { + setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); + mtc.stop; + } + + /* Check next data blocks contain dummy frames */ + if (lengthof(dl_block.data_egprs.blocks) > 1 and substr(dl_block.data_egprs.blocks[1].payload, 0, 3) != '43C001'O) { + setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); + mtc.stop; + } + + /* TODO: Check exp_cs. In the case of EGPRS, first check mac_hdr.header_type and then decode CPS = exp_cs based on mac_hdr.header_type. + See wireshark's egprs_Header_type1_coding_puncturing_scheme_to_mcs. */ +} + +private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t ack_fn, octetstring data, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) +runs on RAW_PCU_Test_CT { + var PCUIF_Message pcu_msg; + var uint32_t dl_fn; + var boolean is_egprs := false; + var template RlcmacDlBlock dl_template := tr_RLCMAC_DATA_RRBP; + dl_template.data.blocks := ?; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, dl_template)) { + dl_template := tr_RLCMAC_DATA_EGPRS; + dl_template.data_egprs.blocks := ?; + if (not match(dl_block, dl_template)) { + setverdict(fail, "Failed to match Packet data: ", dl_block, " vs ", dl_template); + mtc.stop; + } + is_egprs := true; + } + + if (is_egprs) { + f_rlcmac_dl_block_verify_data_egprs(dl_block, dl_fn, ack_fn, data, exp_bsn, exp_cs); + } else { + f_rlcmac_dl_block_verify_data_gprs(dl_block, dl_fn, ack_fn, data, exp_bsn, exp_cs); + } } testcase TC_pcuif_suspend() runs on RAW_PCU_Test_CT { @@ -1203,8 +1276,8 @@ f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block.data.mac_hdr.hdr_ext.bsn, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(dl_block.data.mac_hdr.hdr_ext.tfi, ack_nack_desc), 0, sched_fn); + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); /* we are done with the DL-TBF here so far, let's clean up our local state: */ ack_nack_desc := valueof(t_AckNackDescription_init) @@ -1217,8 +1290,8 @@ /* Now that we confirmed the new assignment in the dl-tbf, lets receive the data and ack it */ f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); - f_acknackdesc_ack_block(ack_nack_desc, dl_block.data.mac_hdr.hdr_ext.bsn, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(dl_block.data.mac_hdr.hdr_ext.tfi, ack_nack_desc), 0, sched_fn); + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); } /* Test scenario where MS wants to send some data on PDCH against SGSN and it is @@ -1294,8 +1367,8 @@ f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0, exp_cs_mcs); /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block.data.mac_hdr.hdr_ext.bsn, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(dl_block.data.mac_hdr.hdr_ext.tfi, ack_nack_desc), 0, sched_fn); + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); } /* Test scenario where MS wants to send some data on PDCH against SGSN and it is @@ -1358,8 +1431,8 @@ f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0, exp_cs_mcs); /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block.data.mac_hdr.hdr_ext.bsn, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(dl_block.data.mac_hdr.hdr_ext.tfi, ack_nack_desc), 0, sched_fn); + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); /* Now MS wants to answer the DL data, Establish an Uplink TBF */ ok := f_establish_tbf(rr_imm_ass); @@ -1450,8 +1523,8 @@ f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block.data.mac_hdr.hdr_ext.bsn, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(dl_block.data.mac_hdr.hdr_ext.tfi, ack_nack_desc), 0, sched_fn); + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); } private function f_pkt_paging_match_imsi(in PacketPagingReq req, hexstring imsi) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17970 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: I570fb7346519b2a161515e0ec40bd1870a89d673 Gerrit-Change-Number: 17970 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 Apr 28 16:23:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 16:23:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: refactor f_pcuif_rx_imm_ass(): also handle PCH SAPI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17967 ) Change subject: PCU: refactor f_pcuif_rx_imm_ass(): also handle PCH SAPI ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17967 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: Ia5d162c1d8bbee43a6e9fab784d8675187f15be1 Gerrit-Change-Number: 17967 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 16:23: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 Apr 28 16:24:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 16:24:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce and use helper f_pcuif_tx_data_cnf() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17968 ) Change subject: PCU: introduce and use helper f_pcuif_tx_data_cnf() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17968 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: Icc23f4d0cd56f553aad81679d9d62243554402aa Gerrit-Change-Number: 17968 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 16:24: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 Apr 28 16:24:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 16:24:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: refactor f_pcuif_rx_imm_ass(): also handle PCH SAPI In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17967 ) Change subject: PCU: refactor f_pcuif_rx_imm_ass(): also handle PCH SAPI ...................................................................... PCU: refactor f_pcuif_rx_imm_ass(): also handle PCH SAPI Change-Id: Ia5d162c1d8bbee43a6e9fab784d8675187f15be1 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 21 insertions(+), 11 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index d491f48..190da1d 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -246,27 +246,35 @@ } private function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, + template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, template GsmRrMessage t_imm_ass := ?, uint8_t bts_nr := 0) runs on RAW_PCU_Test_CT return boolean { var PCUIF_Message pcu_msg; + var octetstring data; timer T; T.start(2.0); alt { [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, - sapi := PCU_IF_SAPI_AGCH, data := ?)) - -> value pcu_msg { - rr_imm_ass := dec_GsmRrMessage(pcu_msg.u.data_req.data); - log("Rx Immediate Assignment: ", rr_imm_ass); - - if (match(rr_imm_ass, t_imm_ass)) { - setverdict(pass); - return true; + sapi := sapi, data := ?)) -> value pcu_msg { + /* On PCH the payload is prefixed with paging group (3 octets): skip it. + * TODO: add an additional template parameter, so we can match it. */ + if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { + data := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); + } else { + data := pcu_msg.u.data_req.data; } - /* Not for us? Wait for more. */ - repeat; + rr_imm_ass := dec_GsmRrMessage(data); + if (not match(rr_imm_ass, t_imm_ass)) { + /* Not for us? Wait for more. */ + repeat; + } + + log("Rx Immediate Assignment: ", rr_imm_ass); + setverdict(pass); + return true; } [] BTS.receive { repeat; } [] T.timeout { @@ -302,7 +310,9 @@ if (is_11bit != 0) { ra := 127; } /* Expect Immediate (TBF) Assignment on TS0/AGCH */ - return f_pcuif_rx_imm_ass(rr_imm_ass, tr_IMM_TBF_ASS(?, ra, fn), bts_nr); + return f_pcuif_rx_imm_ass(rr_imm_ass, PCU_IF_SAPI_AGCH, + tr_IMM_TBF_ASS(?, ra, fn), + bts_nr := bts_nr); } private function f_imm_ass_verify_ul_tbf_ass(GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17967 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: Ia5d162c1d8bbee43a6e9fab784d8675187f15be1 Gerrit-Change-Number: 17967 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria 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 Apr 28 16:24:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 16:24:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce and use helper f_pcuif_tx_data_cnf() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17968 ) Change subject: PCU: introduce and use helper f_pcuif_tx_data_cnf() ...................................................................... PCU: introduce and use helper f_pcuif_tx_data_cnf() Change-Id: Icc23f4d0cd56f553aad81679d9d62243554402aa --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 14 insertions(+), 5 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 190da1d..09ff4e3 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -245,6 +245,18 @@ desc.final_ack := final_ack; } +/* This function can be used to send DATA.cnf in response to the IUT originated DATA.req. + * NOTE: it's the responsibility of caller to make sure that pcu_msg contains u.data_req. */ +private function f_pcuif_tx_data_cnf(in PCUIF_Message pcu_msg) +runs on RAW_PCU_Test_CT { + BTS.send(PCUIF_Message:{ + msg_type := PCU_IF_MSG_DATA_CNF, + bts_nr := pcu_msg.bts_nr, + spare := pcu_msg.spare, + u := { data_cnf := pcu_msg.u.data_req } + }); +} + private function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, template GsmRrMessage t_imm_ass := ?, @@ -390,8 +402,7 @@ setverdict(fail, "Failed to match Immediate Assignment: ", rr_imm_ass); mtc.stop; } - BTS.send(ts_PCUIF_DATA_CNF(bts_nr := 0, trx_nr := 0, ts_nr := 0, block_nr := 0, - fn := pcu_msg.u.data_req.fn, arfcn := 871, sapi := PCU_IF_SAPI_PCH, data := macblock)); + f_pcuif_tx_data_cnf(pcu_msg); } /* Expect a Paging Request Type 1 from PCU on PCUIF on specified sapi. */ @@ -427,9 +438,7 @@ mtc.stop; } - BTS.send(ts_PCUIF_DATA_CNF(bts_nr := 0, trx_nr := 0, ts_nr := 0, block_nr := 0, - fn := pcu_msg.u.data_req.fn, arfcn := 871, sapi := PCU_IF_SAPI_PCH, data := macblock)); - + f_pcuif_tx_data_cnf(pcu_msg); return rr_pag_req1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17968 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: Icc23f4d0cd56f553aad81679d9d62243554402aa Gerrit-Change-Number: 17968 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria 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 Apr 28 16:40:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 28 Apr 2020 16:40:59 +0000 Subject: Change in osmo-msc[master]: manual: link to new common cs7-config.adoc, remove some dup of that In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17580 ) Change subject: manual: link to new common cs7-config.adoc, remove some dup of that ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/17580/2/doc/manuals/chapters/running.adoc File doc/manuals/chapters/running.adoc: https://gerrit.osmocom.org/c/osmo-msc/+/17580/2/doc/manuals/chapters/running.adoc at 104 PS2, Line 104: sctp-role client > my aim was to show a quick working example to set both PC and IP [?] Please explicitly state the AS and ASP. Anyone with a SIGTRAN background will be surprised to only see one but not the other, IMHO. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie88dd2c7f7318a31ae04fbd6930346d92141fde5 Gerrit-Change-Number: 17580 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 16:40:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: neels 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 Apr 28 16:43:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 28 Apr 2020 16:43:17 +0000 Subject: Change in osmo-hlr[master]: 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16205 ) Change subject: 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name ...................................................................... Patch Set 29: (1 comment) https://gerrit.osmocom.org/c/osmo-hlr/+/16205/26/src/gsupclient/gsup_req.c File src/gsupclient/gsup_req.c: https://gerrit.osmocom.org/c/osmo-hlr/+/16205/26/src/gsupclient/gsup_req.c at 142 PS26, Line 142: osmo_gsup_req_free > Taking another look... [?] I don't have a strong opinion, but a slight preference to keep the patch as-is now. -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3a8dff3d4a1cbe10d6ab08257a0138d6b2a082d9 Gerrit-Change-Number: 16205 Gerrit-PatchSet: 29 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 16:43:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Apr 28 16:43:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 28 Apr 2020 16:43:17 +0000 Subject: Change in osmo-hlr[master]: 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name In-Reply-To: References: Message-ID: laforge has removed Jenkins Builder from this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16205 ) Change subject: 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name ...................................................................... Removed reviewer Jenkins Builder with the following votes: * Verified+1 by Jenkins Builder (1000002) -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3a8dff3d4a1cbe10d6ab08257a0138d6b2a082d9 Gerrit-Change-Number: 16205 Gerrit-PatchSet: 29 Gerrit-Owner: neels Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: deleteReviewer -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Apr 28 16:44:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 28 Apr 2020 16:44:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: cosmetic: RLCMAC_Types.ttcn: Make different PTCCH types section more ... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17969 ) Change subject: cosmetic: RLCMAC_Types.ttcn: Make different PTCCH types section more visible ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17969 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: I87d4694031ea6874b233626818824cdc4f3505c6 Gerrit-Change-Number: 17969 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 28 Apr 2020 16:44: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 Apr 28 16:47:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 28 Apr 2020 16:47:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC: Add partial support for EGPRS data block encoding/dec... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965 ) Change subject: library/RLCMAC: Add partial support for EGPRS data block encoding/decoding ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965/3/library/RLCMAC_EncDec.cc File library/RLCMAC_EncDec.cc: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965/3/library/RLCMAC_EncDec.cc at 297 PS3, Line 297: fprintf(stderr, "RLMAC: clone: hdr_bytes=%u extra_bits=%u (length_bytes=%u)\n", hdr_bytes, extra_bits, length_bytes); do we really want unconditional prints to stderr in non-error paths? same applies to more messages down below. If they're not errors, they should go to stdout. And if they are just for debugging the code, they should be default-off and enabled by some kind of environment variable or function to call for enablign it dynamically. And in general, it might be the best choice to use the TITAN logging framework to integrate with the other logging in titan native code. This way it can be enabled/disabled via normal titan config files. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965 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: I2bc4f877a5e17c57ffa8cf05565dc8593b45aae8 Gerrit-Change-Number: 17965 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 28 Apr 2020 16:47:54 +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 Apr 28 16:51:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 28 Apr 2020 16:51:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_mt_ping_pong_with_dl_racap_egprs_only In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16687 ) Change subject: pcu: Introduce test TC_mt_ping_pong_with_dl_racap_egprs_only ...................................................................... Patch Set 6: Code-Review+1 (2 comments) This change is ready for review. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16687/6/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16687/6/pcu/PCU_Tests_RAW.ttcn at 237 PS6, Line 237: if (ischosen(dl_block.data)) { : bsn := dl_block.data.mac_hdr.hdr_ext.bsn; : } else { : bsn := dl_block.data_egprs.mac_hdr.bsn1; : } not sure if we likely need that more often. If yes, a function might be introduced to hide those details and simply return the bsn for any thpe of dl_block https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16687/6/pcu/PCU_Tests_RAW.ttcn at 633 PS6, Line 633: if (not match(dl_block, dl_template)) { : dl_template := tr_RLCMAC_DATA_EGPRS; : dl_template.data_egprs.blocks := ?; : if (not match(dl_block, dl_template)) { : setverdict(fail, "Failed to match Packet data: ", dl_block, " vs ", dl_template); : mtc.stop; : } : is_egprs := true; this also seems like something we may need more often? In that case, a function "rlcmac_block_is_egprs()" returning bool might be an idea? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16687 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: I96e0d28bed749ef657f0b68d0beee3f8471ab3e0 Gerrit-Change-Number: 16687 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 16:51:09 +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 Apr 28 17:04:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 17:04:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC: Add partial support for EGPRS data block encoding/dec... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965 ) Change subject: library/RLCMAC: Add partial support for EGPRS data block encoding/decoding ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965/3/library/RLCMAC_EncDec.cc File library/RLCMAC_EncDec.cc: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965/3/library/RLCMAC_EncDec.cc at 297 PS3, Line 297: fprintf(stderr, "RLMAC: clone: hdr_bytes=%u extra_bits=%u (length_bytes=%u)\n", hdr_bytes, extra_bits, length_bytes); > do we really want unconditional prints to stderr in non-error paths? same applies to more messages d [?] They are not errors, as in not supported. Regarding using TTCN3 log facilitites: indeed, they should be used, but while debugging some crash I wasn't able to find the logging generated by it (maybe it doesn't print synchronously?), so I ended up using fprintf(stderr). Since god knows what will happen after hitting one of those fprintf() (as in crash), let's use fprintf(stderr) to make sure we log something before potentially crashing. Anyway that will be stripped at some point later. For now I'd go for merging this so we have the entire placeholders working even if only it encodes Ul Headter type and decode Dl Header type3, but that's enough to get all the tests in shape for later additions. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965 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: I2bc4f877a5e17c57ffa8cf05565dc8593b45aae8 Gerrit-Change-Number: 17965 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 28 Apr 2020 17:04:06 +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 Apr 28 17:07:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 17:07:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC: Add partial support for EGPRS data block encoding/dec... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965 ) Change subject: library/RLCMAC: Add partial support for EGPRS data block encoding/decoding ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965/3/library/RLCMAC_EncDec.cc File library/RLCMAC_EncDec.cc: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965/3/library/RLCMAC_EncDec.cc at 297 PS3, Line 297: fprintf(stderr, "RLMAC: clone: hdr_bytes=%u extra_bits=%u (length_bytes=%u)\n", hdr_bytes, extra_bits, length_bytes); > They are not errors, as in not supported. [?] sorry I meant "They are errors,..." -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965 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: I2bc4f877a5e17c57ffa8cf05565dc8593b45aae8 Gerrit-Change-Number: 17965 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 28 Apr 2020 17:07:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin 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 Apr 28 17:07:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 28 Apr 2020 17:07:20 +0000 Subject: Change in osmo-hlr[master]: db v6: determine 3G AUC IND from VLR name In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16764 ) Change subject: db v6: determine 3G AUC IND from VLR name ...................................................................... Patch Set 11: (1 comment) https://gerrit.osmocom.org/c/osmo-hlr/+/16764/11/src/db_hlr.c File src/db_hlr.c: https://gerrit.osmocom.org/c/osmo-hlr/+/16764/11/src/db_hlr.c at 936 PS11, Line 936: sqlite3_column_int64 should we somehow check for the IND value not being larger tha n the number of IND bits? -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6f0a6bbef3a27507605c3b4a0e1a89bdfd468374 Gerrit-Change-Number: 16764 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 17:07: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 Tue Apr 28 17:31:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 17:31:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: use 'CSN.1 L/H' attribute where needed In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17957 ) Change subject: library/GSM_RR_Types.ttcn: use 'CSN.1 L/H' attribute where needed ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17957 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: I279901aeffd09de071d274944cd0f1a93d711f85 Gerrit-Change-Number: 17957 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 17:31: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 Apr 28 17:51:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 28 Apr 2020 17:51:55 +0000 Subject: Change in osmo-hlr[master]: 2/2: fixup: add osmo_gsup_peer_id with type enum and union In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16459 ) Change subject: 2/2: fixup: add osmo_gsup_peer_id with type enum and union ...................................................................... Patch Set 9: Regarding your last recap, I'd say I only have 2 main requirements: * Whatever new peer_id struct you add in libgsupclient, since it's going to be expanded / made more complex in the future (due to adding more id types like global title), make it opaque to the public API and provide public APIs to retrieve content from it, so we don't have to break ABI compatibility later on. I'm fine with whatever you decide for now to use internally as long as looks reasonable clean (with low standards even as long as it's internal). * Clean it up with regard to the previous patch (squash them and split them again if needed) -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ide9dcdca283ab989240cfc6e53e9211862a199c5 Gerrit-Change-Number: 16459 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 28 Apr 2020 17:51:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Apr 29 01:47:18 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 29 Apr 2020 01:47:18 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea8dca9aef9e_660a2ad4c86ce5f423334@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 907s] | ## Running config.status. ## [ 907s] | ## ---------------------- ## [ 907s] | [ 907s] | This file was extended by libosmocore config.status 1.3.0.71-1f48b, which was [ 907s] | generated by GNU Autoconf 2.69. Invocation command line was [ 907s] | [ 907s] | CONFIG_FILES = [ 907s] | CONFIG_HEADERS = [ 907s] | CONFIG_LINKS = [ 907s] | CONFIG_COMMANDS = [ 907s] | $ ./config.status Doxyfile.core [ 907s] | [ 907s] | on obs-arm-6 [ 907s] | [ 907s] | config.status:1341: creating Doxyfile.core [ 907s] [ 907s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 907s] make[1]: *** [override_dh_auto_test] Error 1 [ 907s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 907s] debian/rules:15: recipe for target 'build' failed [ 907s] make: *** [build] Error 2 [ 907s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 907s] ### VM INTERACTION START ### [ 910s] [ 891.104348] sysrq: SysRq : Power Off [ 910s] [ 891.143267] reboot: Power down [ 911s] ### VM INTERACTION END ### [ 911s] [ 911s] obs-arm-6 failed "build libosmocore_1.3.0.71.1f48b.dsc" at Wed Apr 29 01:47:02 UTC 2020. [ 911s] -- 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 Apr 29 05:39:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 29 Apr 2020 05:39:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_pcuif_tx_data_cnf(): do not include paging group References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17971 ) Change subject: PCU: fix f_pcuif_tx_data_cnf(): do not include paging group ...................................................................... PCU: fix f_pcuif_tx_data_cnf(): do not include paging group As it turns out, DATA.cnf shall not contain paging group. Change-Id: I7e0d1bb03fd42fc742f1f3d13a48e9781975dc17 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/17971/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 09ff4e3..b79b365 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -249,12 +249,21 @@ * NOTE: it's the responsibility of caller to make sure that pcu_msg contains u.data_req. */ private function f_pcuif_tx_data_cnf(in PCUIF_Message pcu_msg) runs on RAW_PCU_Test_CT { - BTS.send(PCUIF_Message:{ + var PCUIF_Message pcu_msg_cnf := { msg_type := PCU_IF_MSG_DATA_CNF, bts_nr := pcu_msg.bts_nr, spare := pcu_msg.spare, u := { data_cnf := pcu_msg.u.data_req } - }); + }; + + /* PCU wants DATA.cnf containing basically everything that was in DATA.req, + * but PCU_IF_SAPI_PCH is a special case - paging group shall be excluded. */ + if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { + pcu_msg_cnf.u.data_cnf.data := substr(pcu_msg.u.data_req.data, 3, + pcu_msg.u.data_req.len - 3); + } + + BTS.send(pcu_msg_cnf); } private function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17971 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: I7e0d1bb03fd42fc742f1f3d13a48e9781975dc17 Gerrit-Change-Number: 17971 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 Apr 29 05:40:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 29 Apr 2020 05:40:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_pcuif_tx_data_cnf(): do not include paging group In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17971 ) Change subject: PCU: fix f_pcuif_tx_data_cnf(): do not include paging group ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17971 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: I7e0d1bb03fd42fc742f1f3d13a48e9781975dc17 Gerrit-Change-Number: 17971 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 29 Apr 2020 05:40: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 Apr 29 05:41:09 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 29 Apr 2020 05:41:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_pcuif_tx_data_cnf(): do not include paging group In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17971 ) Change subject: PCU: fix f_pcuif_tx_data_cnf(): do not include paging group ...................................................................... Patch Set 1: This is an urgent fix, I would like to merge it ASAP. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17971 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: I7e0d1bb03fd42fc742f1f3d13a48e9781975dc17 Gerrit-Change-Number: 17971 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 29 Apr 2020 05:41:09 +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 Apr 29 05:41:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 29 Apr 2020 05:41:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_pcuif_tx_data_cnf(): do not include paging group In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17971 ) Change subject: PCU: fix f_pcuif_tx_data_cnf(): do not include paging group ...................................................................... PCU: fix f_pcuif_tx_data_cnf(): do not include paging group As it turns out, DATA.cnf shall not contain paging group. Change-Id: I7e0d1bb03fd42fc742f1f3d13a48e9781975dc17 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 11 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 09ff4e3..b79b365 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -249,12 +249,21 @@ * NOTE: it's the responsibility of caller to make sure that pcu_msg contains u.data_req. */ private function f_pcuif_tx_data_cnf(in PCUIF_Message pcu_msg) runs on RAW_PCU_Test_CT { - BTS.send(PCUIF_Message:{ + var PCUIF_Message pcu_msg_cnf := { msg_type := PCU_IF_MSG_DATA_CNF, bts_nr := pcu_msg.bts_nr, spare := pcu_msg.spare, u := { data_cnf := pcu_msg.u.data_req } - }); + }; + + /* PCU wants DATA.cnf containing basically everything that was in DATA.req, + * but PCU_IF_SAPI_PCH is a special case - paging group shall be excluded. */ + if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { + pcu_msg_cnf.u.data_cnf.data := substr(pcu_msg.u.data_req.data, 3, + pcu_msg.u.data_req.len - 3); + } + + BTS.send(pcu_msg_cnf); } private function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17971 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: I7e0d1bb03fd42fc742f1f3d13a48e9781975dc17 Gerrit-Change-Number: 17971 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 Wed Apr 29 07:18:36 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 29 Apr 2020 07:18:36 +0000 Subject: Change in libosmo-abis[master]: src/input/ipaccess.c: set TCP_NODELAY References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17972 ) Change subject: src/input/ipaccess.c: set TCP_NODELAY ...................................................................... src/input/ipaccess.c: set TCP_NODELAY Set TCP_NODELAY for all RSL/OML sockets. Related: SYS#4906 Change-Id: Ia3d4c41bf0659e682f0b7ae5f3d58ed0f28edb58 --- M src/input/ipaccess.c 1 file changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/72/17972/1 diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c index e1936af..4d21416 100644 --- a/src/input/ipaccess.c +++ b/src/input/ipaccess.c @@ -271,6 +271,7 @@ struct e1inp_ts *ts; struct osmo_fd *newbfd; struct e1inp_line *new_line; + int on = 1; sign_link = line->ops->sign_link_up(&unit_data, line, @@ -309,6 +310,13 @@ "could not register FD\n"); goto err; } + + /* set TCP_NODELAY (FIXME: just call update_fd_settings() here instead?) */ + ret = setsockopt(newbfd->fd, IPPROTO_TCP, TCP_NODELAY, &on, sizeof(on)); + if (ret < 0) + LOGP(DLINP, LOGL_ERROR, "Failed to set TCP_NODELAY: %s\n", strerror(errno)); + + /* now we can release the dummy RSL line. */ e1inp_line_put(line); @@ -587,6 +595,11 @@ #endif #endif } + + val = 1; + ret = setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &val, sizeof(val)); + if (ret < 0) + LOGP(DLINP, LOGL_ERROR, "Failed to set TCP_NODELAY: %s\n", strerror(errno)); } /* callback of the OML listening filedescriptor */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17972 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia3d4c41bf0659e682f0b7ae5f3d58ed0f28edb58 Gerrit-Change-Number: 17972 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 Wed Apr 29 07:20:10 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 29 Apr 2020 07:20:10 +0000 Subject: Change in libosmo-abis[master]: src/input/ipaccess.c: set TCP_NODELAY In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17972 ) Change subject: src/input/ipaccess.c: set TCP_NODELAY ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmo-abis/+/17972/1/src/input/ipaccess.c File src/input/ipaccess.c: https://gerrit.osmocom.org/c/libosmo-abis/+/17972/1/src/input/ipaccess.c at 314 PS1, Line 314: FIXME: just call update_fd_settings() here instead? Can somebody more familiar with libosmo-abis advise me, if it would be better to call update_fd_settings here, or leave as-is and remove the FIXME? -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17972 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia3d4c41bf0659e682f0b7ae5f3d58ed0f28edb58 Gerrit-Change-Number: 17972 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 29 Apr 2020 07:20:10 +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 Apr 29 07:26:06 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 29 Apr 2020 07:26:06 +0000 Subject: Change in osmo-bsc[master]: VTY: make configurable: T23002, T23005, T23006 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17973 ) Change subject: VTY: make configurable: T23002, T23005, T23006 ...................................................................... VTY: make configurable: T23002, T23005, T23006 Default value is the current default of 5s for all timers that are not specified. Related: SYS#4897 Change-Id: I637fcdde93c11158de46157d494c060bb36bdcfb --- M src/osmo-bsc/net_init.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/73/17973/1 diff --git a/src/osmo-bsc/net_init.c b/src/osmo-bsc/net_init.c index 34403fa..5cdf467 100644 --- a/src/osmo-bsc/net_init.c +++ b/src/osmo-bsc/net_init.c @@ -45,6 +45,9 @@ { .T=3141, .default_val=10, .desc="(unused)" }, { .T=3212, .default_val=5, .unit=OSMO_TDEF_CUSTOM, .desc="Periodic Location Update timer, sent to MS (1 = 6 minutes)" }, + { .T=23002, .default_val=5, .desc="LCHAN_ST_WAIT_ACTIV_ACK" }, + { .T=23005, .default_val=5, .desc="LCHAN_RTP_ST_WAIT_IPACC_CRCX_ACK" }, + { .T=23006, .default_val=5, .desc="LCHAN_RTP_ST_WAIT_IPACC_MDCX_ACK" }, { .T=993210, .default_val=20, .desc="After L3 Complete, wait for MSC to confirm" }, { .T=999, .default_val=60, .desc="After Clear Request, wait for MSC to Clear Command (sanity)" }, { .T=992427, .default_val=4, .desc="MGCP timeout (2427 is the default MGCP port number)" }, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I637fcdde93c11158de46157d494c060bb36bdcfb Gerrit-Change-Number: 17973 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 Wed Apr 29 08:39:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 29 Apr 2020 08:39:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix BYTEORDER of MCC/MNC in RAI References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17974 ) Change subject: library/GSM_RR_Types.ttcn: fix BYTEORDER of MCC/MNC in RAI ...................................................................... library/GSM_RR_Types.ttcn: fix BYTEORDER of MCC/MNC in RAI Change [1] introduced a regression: PCU_Tests_RAW.TC_pcuif_suspend fails since build #443. I have no idea why the BYTEORDER should be set to 'first' (and not 'last'), but this is the only way I could make TITAN's RAW encoder generate a valid MCC/MNC pair again. [1] I481a40daef3eed4a3daa687ad87c4128a13181b4 Change-Id: I70a5b2eed3788be10d62fa421e3ba7444d66c655 --- M library/GSM_RR_Types.ttcn 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/74/17974/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index d8bf595..4dc0894 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -194,7 +194,10 @@ type record LocationAreaIdentification { BcdMccMnc mcc_mnc, uint16_t lac - } with { variant "" }; + } with { + /* Otherwise '262F45'H is encoded as '24F262'H */ + variant (mcc_mnc) "BYTEORDER(first)" + }; /* TS 24.008 10.5.1.4 */ type enumerated MobileIdentityType { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17974 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: I70a5b2eed3788be10d62fa421e3ba7444d66c655 Gerrit-Change-Number: 17974 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 Apr 29 09:01:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:01:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix BYTEORDER of MCC/MNC in RAI In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17974 ) Change subject: library/GSM_RR_Types.ttcn: fix BYTEORDER of MCC/MNC in RAI ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17974 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: I70a5b2eed3788be10d62fa421e3ba7444d66c655 Gerrit-Change-Number: 17974 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 29 Apr 2020 09: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 Wed Apr 29 09:01:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:01:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix BYTEORDER of MCC/MNC in RAI In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17974 ) Change subject: library/GSM_RR_Types.ttcn: fix BYTEORDER of MCC/MNC in RAI ...................................................................... library/GSM_RR_Types.ttcn: fix BYTEORDER of MCC/MNC in RAI Change [1] introduced a regression: PCU_Tests_RAW.TC_pcuif_suspend fails since build #443. I have no idea why the BYTEORDER should be set to 'first' (and not 'last'), but this is the only way I could make TITAN's RAW encoder generate a valid MCC/MNC pair again. [1] I481a40daef3eed4a3daa687ad87c4128a13181b4 Change-Id: I70a5b2eed3788be10d62fa421e3ba7444d66c655 --- M library/GSM_RR_Types.ttcn 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index d8bf595..4dc0894 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -194,7 +194,10 @@ type record LocationAreaIdentification { BcdMccMnc mcc_mnc, uint16_t lac - } with { variant "" }; + } with { + /* Otherwise '262F45'H is encoded as '24F262'H */ + variant (mcc_mnc) "BYTEORDER(first)" + }; /* TS 24.008 10.5.1.4 */ type enumerated MobileIdentityType { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17974 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: I70a5b2eed3788be10d62fa421e3ba7444d66c655 Gerrit-Change-Number: 17974 Gerrit-PatchSet: 1 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 Wed Apr 29 09:03:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:03:34 +0000 Subject: Change in osmo-bsc[master]: VTY: make configurable: T23002, T23005, T23006 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17973 ) Change subject: VTY: make configurable: T23002, T23005, T23006 ...................................................................... Patch Set 1: (1 comment) This change is ready for review. https://gerrit.osmocom.org/c/osmo-bsc/+/17973/1/src/osmo-bsc/net_init.c File src/osmo-bsc/net_init.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17973/1/src/osmo-bsc/net_init.c at 48 PS1, Line 48: { .T=23002, .default_val=5, .desc="LCHAN_ST_WAIT_ACTIV_ACK" }, : { .T=23005, .default_val=5, .desc="LCHAN_RTP_ST_WAIT_IPACC_CRCX_ACK" }, : { .T=23006, .default_val=5, .desc="LCHAN_RTP_ST_WAIT_IPACC_MDCX_ACK" }, the other timers have descriptions are more human-readable strings. I suggest something like "Time to wait for RSL Channel Activate ACK after sending RSL Channel Activate" o r"Tme to wait for RSL IPA CRCX ACK after sending RSL IPA CRCX", ... -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I637fcdde93c11158de46157d494c060bb36bdcfb Gerrit-Change-Number: 17973 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 29 Apr 2020 09:03: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 Wed Apr 29 09:04:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:04:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: use 'CSN.1 L/H' attribute where needed In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17957 ) Change subject: library/GSM_RR_Types.ttcn: use 'CSN.1 L/H' attribute where needed ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17957 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: I279901aeffd09de071d274944cd0f1a93d711f85 Gerrit-Change-Number: 17957 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 29 Apr 2020 09:04: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 Apr 29 09:04:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:04:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: use 'CSN.1 L/H' attribute where needed In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17957 ) Change subject: library/GSM_RR_Types.ttcn: use 'CSN.1 L/H' attribute where needed ...................................................................... library/GSM_RR_Types.ttcn: use 'CSN.1 L/H' attribute where needed Thanks to Harald, TITAN's RAW codec now supports the L/H syntax. Change-Id: I279901aeffd09de071d274944cd0f1a93d711f85 --- M library/GSM_RR_Types.ttcn 1 file changed, 7 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 4dc0894..6e359ab 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -405,11 +405,11 @@ */ }; type record SecondPartAssign { - BIT1 r99, /* H / L */ + BIT1 r99, /* L / H */ BIT1 presence optional, BIT5 ext_ra optional } with { - /* TODO: use 'CSN.1 L/H' attribute here */ + variant (r99) "CSN.1 L/H" variant (presence) "PRESENCE(r99 = '1'B)" /* H */ variant (ext_ra) "PRESENCE(presence = '1'B)" }; @@ -510,7 +510,9 @@ }; type record IaRestOctLL { BIT1 compressed_irat_ho_info_ind - } with { variant "" }; + } with { + variant (compressed_irat_ho_info_ind) "CSN.1 L/H" + }; type record of AccessTechnologiesRequest @@ -650,6 +652,7 @@ IaRestOctHL hl optional, IaRestOctHH hh optional } with { + variant (presence) "CSN.1 L/H" variant (ll) "PRESENCE(presence = '00'B)" variant (lh) "PRESENCE(presence = '01'B)" variant (hl) "PRESENCE(presence = '10'B)" @@ -962,9 +965,7 @@ rest_octets := { presence := '00'B, /* LL */ ll := { - /* Compressed INTER RAT HO INFO: shall not be used (L) - * TODO: use variant "CSN.1 L/H" to avoid confusion. */ - compressed_irat_ho_info_ind := '1'B + compressed_irat_ho_info_ind := '0'B /* L */ }, lh := omit, hl := omit, hh := omit } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17957 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: I279901aeffd09de071d274944cd0f1a93d711f85 Gerrit-Change-Number: 17957 Gerrit-PatchSet: 3 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 Wed Apr 29 09:05:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:05:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC: Add partial support for EGPRS data block encoding/dec... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965 ) Change subject: library/RLCMAC: Add partial support for EGPRS data block encoding/decoding ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965 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: I2bc4f877a5e17c57ffa8cf05565dc8593b45aae8 Gerrit-Change-Number: 17965 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 29 Apr 2020 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 Wed Apr 29 09:06:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:06:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Support retrieving BSN and TFI in tests from data_egprs blocks In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17970 ) Change subject: pcu: Support retrieving BSN and TFI in tests from data_egprs blocks ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17970 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: I570fb7346519b2a161515e0ec40bd1870a89d673 Gerrit-Change-Number: 17970 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 29 Apr 2020 09: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 Wed Apr 29 09:06:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:06:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Support retrieving BSN and TFI in tests from data_egprs blocks In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17970 ) Change subject: pcu: Support retrieving BSN and TFI in tests from data_egprs blocks ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17970 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: I570fb7346519b2a161515e0ec40bd1870a89d673 Gerrit-Change-Number: 17970 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 29 Apr 2020 09:06: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 Apr 29 09:06:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:06:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: cosmetic: RLCMAC_Types.ttcn: Make different PTCCH types section more ... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17969 ) Change subject: cosmetic: RLCMAC_Types.ttcn: Make different PTCCH types section more visible ...................................................................... cosmetic: RLCMAC_Types.ttcn: Make different PTCCH types section more visible On top there's a lot of types related to data blocks. Having more stylish section header helps orientating one self while looking through the data blocks. Change-Id: I87d4694031ea6874b233626818824cdc4f3505c6 --- M library/RLCMAC_Types.ttcn 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/RLCMAC_Types.ttcn b/library/RLCMAC_Types.ttcn index 97b89da..8688d36 100644 --- a/library/RLCMAC_Types.ttcn +++ b/library/RLCMAC_Types.ttcn @@ -576,8 +576,10 @@ payload := data } - /* PTCCH/D (Packet Timing Advance Control Channel) message. - * TODO: add a spec. reference to the message format definition. */ +/************************ + * PTCCH/D (Packet Timing Advance Control Channel) message. + * TODO: add a spec. reference to the message format definition. + *************************/ type record PTCCHTimingAdvanceIE { BIT1 spare ('0'B), uint7_t ta_val -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17969 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: I87d4694031ea6874b233626818824cdc4f3505c6 Gerrit-Change-Number: 17969 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 Wed Apr 29 09:06:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:06:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC: Add partial support for EGPRS data block encoding/dec... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965 ) Change subject: library/RLCMAC: Add partial support for EGPRS data block encoding/decoding ...................................................................... library/RLCMAC: Add partial support for EGPRS data block encoding/decoding * RlcmacUlBlock and RlcmacDlBlock gain a new union field "egprs_data", which is chosen when msg contains an egprs data block. Hence one can use same structure for both gprs/egprs data and simply check "ischosen(block.data_egprs)" to know whether it contains egprs or gprs data block. * C++ code in RLCMAC_EncDec.cc takes care of encoding and decoding of each data header type and exposes a generic ttcn3 struct "UlMacDataHeader" and "DlMacDataHeader". Decoded header type can be found in mac_hdr.header_type. This can be used t5ogether with CPS to get the MCS of the message received. Similarly, the encoder will use the same field to know how to encode the ttcn3 structure. * In RLCMAC_EncDec.cc order of functions has been ordered to split between encoding and decoding, and inside these split between Ul and Dl messages. * Only encoding of UL HeaderType3 and decoding of Dl HeaderType3 is implemented so far in RLCMAC_EncDec.cc. However, all code is already arranged and functions prepared (with FIXME fprintf) to easily add the missing header types once needed. * Actually only the decoding of DL HeaderType3 has been tested to work so far. Encoding may still be missing to octet-align the data block after the header. All these wil lbe fixed once a test using them exists. Change-Id: I2bc4f877a5e17c57ffa8cf05565dc8593b45aae8 --- M library/RLCMAC_EncDec.cc M library/RLCMAC_Types.ttcn 2 files changed, 1,078 insertions(+), 156 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc index 4ae65b1..777815f 100644 --- a/library/RLCMAC_EncDec.cc +++ b/library/RLCMAC_EncDec.cc @@ -1,3 +1,6 @@ +#include +#include + #include "RLCMAC_Types.hh" #include "GSM_Types.hh" /* Decoding of TS 44.060 GPRS RLC/MAC blocks, portions requiring manual functions @@ -14,48 +17,341 @@ namespace RLCMAC__Types { -OCTETSTRING enc__RlcmacDlDataBlock(const RlcmacDlDataBlock& si) -{ - RlcmacDlDataBlock in = si; - OCTETSTRING ret_val; - TTCN_Buffer ttcn_buffer; - int i; +///////////////////// +// INTENRAL HELPERS +///////////////////// - /* Fix 'e' bit of initial header based on following blocks */ - if (!in.blocks().is_bound() || - (in.blocks().size_of() == 1 && !in.blocks()[0].hdr().is_bound())) - in.mac__hdr().hdr__ext().e() = true; - else - in.mac__hdr().hdr__ext().e() = false; +/* TS 04.60 10.3a.4.1.1 */ +struct gprs_rlc_ul_header_egprs_1 { +#if __BYTE_ORDER == __LITTLE_ENDIAN + uint8_t r:1, + si:1, + cv:4, + tfi_hi:2; + uint8_t tfi_lo:3, + bsn1_hi:5; + uint8_t bsn1_lo:6, + bsn2_hi:2; + uint8_t bsn2_lo:8; + uint8_t cps:5, + rsb:1, + pi:1, + spare_hi:1; + uint8_t spare_lo:6, + dummy:2; +#else +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t tfi_hi:2, cv:4, si:1, r:1; + uint8_t bsn1_hi:5, tfi_lo:3; + uint8_t bsn2_hi:2, bsn1_lo:6; + uint8_t bsn2_lo:8; + uint8_t spare_hi:1, pi:1, rsb:1, cps:5; + uint8_t dummy:2, spare_lo:6; +#endif +} __attribute__ ((packed)); - /* use automatic/generated decoder for header */ - in.mac__hdr().encode(DlMacDataHeader_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); +/* TS 04.60 10.3a.4.2.1 */ +struct gprs_rlc_ul_header_egprs_2 { +#if __BYTE_ORDER == __LITTLE_ENDIAN + uint8_t r:1, + si:1, + cv:4, + tfi_hi:2; + uint8_t tfi_lo:3, + bsn1_hi:5; + uint8_t bsn1_lo:6, + cps_hi:2; + uint8_t cps_lo:1, + rsb:1, + pi:1, + spare_hi:5; + uint8_t spare_lo:5, + dummy:3; +#else +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t tfi_hi:2, cv:4, si:1, r:1; + uint8_t bsn1_hi:5, tfi_lo:3; + uint8_t cps_hi:2, bsn1_lo:6; + uint8_t spare_hi:5, pi:1, rsb:1, cps_lo:1; + uint8_t dummy:3, spare_lo:5; +#endif +} __attribute__ ((packed)); - /* Add LI octets, if any */ - if (in.blocks().is_bound() && - (in.blocks().size_of() != 1 || in.blocks()[0].hdr().is_bound())) { - /* first write LI octets */ - for (i = 0; i < in.blocks().size_of(); i++) { - /* fix the 'E' bit in case it is not clear */ - if (i < in.blocks().size_of()-1) - in.blocks()[i].hdr()().e() = false; - else - in.blocks()[i].hdr()().e() = true; - in.blocks()[i].hdr()().encode(LlcBlockHdr_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); - } +/* TS 04.60 10.3a.4.3.1 */ +struct gprs_rlc_ul_header_egprs_3 { +#if __BYTE_ORDER == __LITTLE_ENDIAN + uint8_t r:1, + si:1, + cv:4, + tfi_hi:2; + uint8_t tfi_lo:3, + bsn1_hi:5; + uint8_t bsn1_lo:6, + cps_hi:2; + uint8_t cps_lo:2, + spb:2, + rsb:1, + pi:1, + spare:1, + dummy:1; +#else +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t tfi_hi:2, cv:4, si:1, r:1; + uint8_t bsn1_hi:5, tfi_lo:3; + uint8_t cps_hi:2, bsn1_lo:6; + uint8_t dummy:1, spare:1, pi:1, rsb:1, spb:2, cps_lo:2; +#endif +} __attribute__ ((packed)); + +struct gprs_rlc_dl_header_egprs_1 { +#if __BYTE_ORDER == __LITTLE_ENDIAN + uint8_t usf:3, + es_p:2, + rrbp:2, + tfi_hi:1; + uint8_t tfi_lo:4, + pr:2, + bsn1_hi:2; + uint8_t bsn1_mid:8; + uint8_t bsn1_lo:1, + bsn2_hi:7; + uint8_t bsn2_lo:3, + cps:5; +#else +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t tfi_hi:1, rrbp:2, es_p:2, usf:3; + uint8_t bsn1_hi:2, pr:2, tfi_lo:4; + uint8_t bsn1_mid:8; + uint8_t bsn2_hi:7, bsn1_lo:1; + uint8_t cps:5, bsn2_lo:3; +#endif +} __attribute__ ((packed)); + +struct gprs_rlc_dl_header_egprs_2 { +#if __BYTE_ORDER == __LITTLE_ENDIAN + uint8_t usf:3, + es_p:2, + rrbp:2, + tfi_hi:1; + uint8_t tfi_lo:4, + pr:2, + bsn1_hi:2; + uint8_t bsn1_mid:8; + uint8_t bsn1_lo:1, + cps:3, + dummy:4; +#else +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t tfi_hi:1, rrbp:2, es_p:2, usf:3; + uint8_t bsn1_hi:2, pr:2, tfi_lo:4; + uint8_t bsn1_mid:8; + uint8_t dummy:4, cps:3, bsn1_lo:1; +#endif +} __attribute__ ((packed)); + +struct gprs_rlc_dl_header_egprs_3 { +#if __BYTE_ORDER == __LITTLE_ENDIAN + uint8_t usf:3, + es_p:2, + rrbp:2, + tfi_hi:1; + uint8_t tfi_lo:4, + pr:2, + bsn1_hi:2; + uint8_t bsn1_mid:8; + uint8_t bsn1_lo:1, + cps:4, + spb:2, + dummy:1; +#else +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t tfi_hi:1, rrbp:2, es_p:2, usf:3; + uint8_t bsn1_hi:2, pr:2, tfi_lo:4; + uint8_t bsn1_mid:8; + uint8_t dummy:1, spb:2, cps:4, bsn1_lo:1; +#endif +} __attribute__ ((packed)); + +static CodingScheme::enum_type payload_len_2_coding_scheme(size_t payload_len) { + switch (payload_len) { + case 23: + return CodingScheme::CS__1; + case 34: + return CodingScheme::CS__2; + case 40: + return CodingScheme::CS__3; + case 54: + return CodingScheme::CS__4; + case 27: + return CodingScheme::MCS__1; + case 33: + return CodingScheme::MCS__2; + case 42: + return CodingScheme::MCS__3; + case 49: + return CodingScheme::MCS__4; + case 61: + return CodingScheme::MCS__5; + case 79: + return CodingScheme::MCS__6; + case 119: + return CodingScheme::MCS__7; + case 142: + return CodingScheme::MCS__8; + case 155: + return CodingScheme::MCS__9; + default: + return CodingScheme::CS__1; } - if (in.blocks().is_bound()) { - for (i = 0; i < in.blocks().size_of(); i++) { - if (!in.blocks()[i].is_bound()) - continue; - ttcn_buffer.put_string(in.blocks()[i].payload()); - } - } - - ttcn_buffer.get_string(ret_val); - return ret_val; } +static unsigned int coding_scheme_2_data_block_len(CodingScheme::enum_type mcs) { + switch (mcs) { + case CodingScheme::MCS__0: + return 0; + case CodingScheme::MCS__1: + return 22; + case CodingScheme::MCS__2: + return 28; + case CodingScheme::MCS__3: + return 37; + case CodingScheme::MCS__4: + return 44; + case CodingScheme::MCS__5: + return 56; + case CodingScheme::MCS__6: + return 74; + case CodingScheme::MCS__7: + return 56; + case CodingScheme::MCS__8: + return 68; + case CodingScheme::MCS__9: + return 74; + default: + return 22; /* MCS1*/ + } +} + +static uint8_t bs2uint8(const BITSTRING& bs) +{ + int len = bs.lengthof(); + int i; + uint8_t res = 0; + for (i = 0; i < len; i++) { + res = res << 1; + res |= (bs[i].get_bit() ? 1 : 0); + } + return res; +} + +/* determine the number of rlc data blocks and their size / offsets */ +static void +setup_rlc_mac_priv(CodingScheme::enum_type mcs, EgprsHeaderType::enum_type hdrtype, boolean is_uplink, + unsigned int *n_calls, unsigned int *data_block_bits, unsigned int *data_block_offsets) +{ + unsigned int nc, dbl = 0, dbo[2] = {0,0}; + + dbl = coding_scheme_2_data_block_len(mcs); + + switch (hdrtype) { + case EgprsHeaderType::RLCMAC__HDR__TYPE__1: + nc = 3; + dbo[0] = is_uplink ? 5*8 + 6 : 5*8 + 0; + dbo[1] = dbo[0] + dbl * 8 + 2; + break; + case EgprsHeaderType::RLCMAC__HDR__TYPE__2: + nc = 2; + dbo[0] = is_uplink ? 4*8 + 5 : 3*8 + 4; + break; + case EgprsHeaderType::RLCMAC__HDR__TYPE__3: + nc = 2; + dbo[0] = 3*8 + 7; + break; + default: + nc = 1; + break; + } + + *n_calls = nc; + *data_block_bits = dbl * 8 + 2; + data_block_offsets[0] = dbo[0]; + data_block_offsets[1] = dbo[1]; +} + +/* bit-shift the entire 'src' of length 'length_bytes' by 'offset_bits' + * and store the reuslt to caller-allocated 'buffer'. The shifting is + * done lsb-first. */ +static void clone_aligned_buffer_lsbf(unsigned int offset_bits, unsigned int length_bytes, + const uint8_t *src, uint8_t *buffer) +{ + unsigned int hdr_bytes; + unsigned int extra_bits; + unsigned int i; + + uint8_t c, last_c; + uint8_t *dst; + + hdr_bytes = offset_bits / 8; + extra_bits = offset_bits % 8; + + fprintf(stderr, "RLMAC: clone: hdr_bytes=%u extra_bits=%u (length_bytes=%u)\n", hdr_bytes, extra_bits, length_bytes); + + if (extra_bits == 0) { + /* It is aligned already */ + memcpy(buffer, src + hdr_bytes, length_bytes); + return; + } + + dst = buffer; + src = src + hdr_bytes; + last_c = *(src++); + + for (i = 0; i < length_bytes; i++) { + c = src[i]; + *(dst++) = (last_c >> extra_bits) | (c << (8 - extra_bits)); + last_c = c; + } +} + +/* obtain an (aligned) EGPRS data block with given bit-offset and + * bit-length from the parent buffer */ +static void get_egprs_data_block(const TTCN_Buffer& orig_ttcn_buffer, unsigned int offset_bits, + unsigned int length_bits, TTCN_Buffer& dst_ttcn_buffer) +{ + const unsigned int initial_spare_bits = 6; + unsigned char *aligned_buf = NULL; + size_t min_src_length_bytes = (offset_bits + length_bits + 7) / 8; + size_t length_bytes = (initial_spare_bits + length_bits + 7) / 8; + size_t accepted_len = length_bytes; + + fprintf(stderr, "RLMAC: trying to allocate %u bytes (orig is %zu bytes long with read pos %zu)\n", length_bytes, orig_ttcn_buffer.get_len(), orig_ttcn_buffer.get_pos()); + dst_ttcn_buffer.get_end(aligned_buf, accepted_len); + fprintf(stderr, "RLMAC: For dst ptr=%p with length=%zu\n", aligned_buf, accepted_len); + if (accepted_len < length_bytes) { + fprintf(stderr, "RLMAC: ERROR! asked for %zu bytes but got %zu\n", length_bytes, accepted_len); + } + + /* Copy the data out of the tvb to an aligned buffer */ + clone_aligned_buffer_lsbf( + offset_bits - initial_spare_bits, length_bytes, + orig_ttcn_buffer.get_data(), + aligned_buf); + + fprintf(stderr, "RLMAC: clone_aligned_buffer_lsbf success\n"); + + /* clear spare bits and move block header bits to the right */ + aligned_buf[0] = aligned_buf[0] >> initial_spare_bits; + + dst_ttcn_buffer.increase_length(length_bytes); +} + + +///////////////////// +// DECODE +///////////////////// + +/* DECODE DOWNLINK */ + RlcmacDlDataBlock dec__RlcmacDlDataBlock(const OCTETSTRING& stream) { RlcmacDlDataBlock ret_val; @@ -105,6 +401,534 @@ return ret_val; } +static +EgprsDlMacDataHeader dec__EgprsDlMacDataHeader_type1(const OCTETSTRING& stream) +{ + EgprsDlMacDataHeader ret_val; + + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); + + return ret_val; +} + +static +EgprsDlMacDataHeader dec__EgprsDlMacDataHeader_type2(const OCTETSTRING& stream) +{ + EgprsDlMacDataHeader ret_val; + + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); + + return ret_val; +} + +static +EgprsDlMacDataHeader dec__EgprsDlMacDataHeader_type3(const OCTETSTRING& stream) +{ + TTCN_Buffer ttcn_buffer(stream); + EgprsDlMacDataHeader ret_val; + const struct gprs_rlc_dl_header_egprs_3 *egprs3; + uint8_t tmp; + + egprs3 = static_cast + ((const void *)ttcn_buffer.get_data()); + + ret_val.header__type() = EgprsHeaderType::RLCMAC__HDR__TYPE__3; + ret_val.tfi() = egprs3->tfi_lo << 1 | egprs3->tfi_hi << 0; + ret_val.rrbp() = egprs3->rrbp; + tmp = egprs3->es_p; + ret_val.esp() = BITSTRING(2, &tmp); + ret_val.usf() = egprs3->usf; + ret_val.bsn1() = egprs3->bsn1_lo << 10 | egprs3->bsn1_mid << 2 | egprs3->bsn1_hi; + ret_val.bsn2__offset() = 0; /*TODO: mark optional and not set ? */ + ret_val.pr() = egprs3->pr; + ret_val.spb() = egprs3->spb; + ret_val.cps() = egprs3->cps; + + ttcn_buffer.increase_pos(sizeof(*egprs3)); + return ret_val; +} + +static +RlcmacDlEgprsDataBlock dec__RlcmacDlEgprsDataBlock(const OCTETSTRING& stream, CodingScheme::enum_type mcs) +{ + RlcmacDlEgprsDataBlock ret_val; + TTCN_Buffer ttcn_buffer(stream); + TTCN_Buffer aligned_buffer; + int num_llc_blocks = 0; + unsigned int data_block_bits, data_block_offsets[2]; + unsigned int num_calls; + const uint8_t *ti_e; + + switch (mcs) { + case CodingScheme::MCS__0: + case CodingScheme::MCS__1: + case CodingScheme::MCS__2: + case CodingScheme::MCS__3: + case CodingScheme::MCS__4: + ret_val.mac__hdr() = dec__EgprsDlMacDataHeader_type3(stream); + break; + case CodingScheme::MCS__5: + case CodingScheme::MCS__6: + ret_val.mac__hdr() = dec__EgprsDlMacDataHeader_type2(stream); + break; + case CodingScheme::MCS__7: + case CodingScheme::MCS__8: + case CodingScheme::MCS__9: + ret_val.mac__hdr() = dec__EgprsDlMacDataHeader_type1(stream); + break; + } + setup_rlc_mac_priv(mcs, ret_val.mac__hdr().header__type(), false, + &num_calls, &data_block_bits, data_block_offsets); + get_egprs_data_block(ttcn_buffer, data_block_offsets[0], data_block_bits, aligned_buffer); + + ti_e = aligned_buffer.get_read_data(); + ret_val.fbi() = *ti_e & 0x02 ? true : false; + ret_val.e() = *ti_e & 0x01 ? true : false; + aligned_buffer.increase_pos(1); + + /* optional extension octets, containing LI+E of Llc blocks */ + if (ret_val.e() == false) { + /* extension octet follows, i.e. optional Llc length octets */ + while (1) { + /* decode one more extension octet with LlcBlocHdr inside */ + EgprsLlcBlock lb; + lb.hdr()().decode(EgprsLlcBlockHdr_descr_, aligned_buffer, TTCN_EncDec::CT_RAW); + ret_val.blocks()[num_llc_blocks++] = lb; + + /* if E == '1'B, we can proceed further */ + if (lb.hdr()().e() == true) + break; + } + } + + /* RLC blocks at end */ + if (ret_val.blocks().is_bound()) { + for (int i = 0; i < ret_val.blocks().size_of(); i++) { + unsigned int length = ret_val.blocks()[i].hdr()().length__ind(); + if (length > aligned_buffer.get_read_len()) + length = aligned_buffer.get_read_len(); + ret_val.blocks()[i].payload() = OCTETSTRING(length, aligned_buffer.get_read_data()); + aligned_buffer.increase_pos(length); + } + } + + return ret_val; +} + +RlcmacDlBlock dec__RlcmacDlBlock(const OCTETSTRING& stream) +{ + RlcmacDlBlock ret_val; + size_t stream_len = stream.lengthof(); + CodingScheme::enum_type mcs = payload_len_2_coding_scheme(stream_len); + unsigned char pt; + + switch (mcs) { + case CodingScheme::CS__1: + case CodingScheme::CS__2: + case CodingScheme::CS__3: + case CodingScheme::CS__4: + pt = stream[0].get_octet() >> 6; + if (pt == MacPayloadType::MAC__PT__RLC__DATA) + ret_val.data() = dec__RlcmacDlDataBlock(stream); + else + ret_val.ctrl() = dec__RlcmacDlCtrlBlock(stream); + break; + case CodingScheme::MCS__0: + case CodingScheme::MCS__1: + case CodingScheme::MCS__2: + case CodingScheme::MCS__3: + case CodingScheme::MCS__4: + case CodingScheme::MCS__5: + case CodingScheme::MCS__6: + case CodingScheme::MCS__7: + case CodingScheme::MCS__8: + case CodingScheme::MCS__9: + ret_val.data__egprs() = dec__RlcmacDlEgprsDataBlock(stream, mcs); + break; + } + return ret_val; +} + +/* DECODE UPLINK */ + +RlcmacUlDataBlock dec__RlcmacUlDataBlock(const OCTETSTRING& stream) +{ + RlcmacUlDataBlock ret_val; + TTCN_Buffer ttcn_buffer(stream); + int num_llc_blocks = 0; + + TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); + TTCN_Logger::log_event_str("==================================\n" + "dec_RlcmacUlDataBlock(): Stream before decoding: "); + stream.log(); + TTCN_Logger::end_event(); + + /* use automatic/generated decoder for header */ + ret_val.mac__hdr().decode(UlMacDataHeader_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + + TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); + TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): Stream after decoding hdr: "); + ttcn_buffer.log(); + TTCN_Logger::end_event(); + TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); + TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): ret_val after decoding hdr: "); + ret_val.log(); + TTCN_Logger::end_event(); + + /* Manually decoder remainder of ttcn_buffer, containing optional header octets, + * optional tlli, optional pfi and LLC Blocks */ + + /* optional extension octets, containing LI+M+E of Llc blocks */ + if (ret_val.mac__hdr().e() == false) { + /* extension octet follows, i.e. optional Llc length octets */ + while (1) { + /* decode one more extension octet with LlcBlocHdr inside */ + LlcBlock lb; + lb.hdr()().decode(LlcBlockHdr_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + ret_val.blocks()[num_llc_blocks++] = lb; + + TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); + TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): Stream after decoding ExtOct: "); + ttcn_buffer.log(); + TTCN_Logger::end_event(); + TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); + TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): ret_val after decoding ExtOct: "); + ret_val.log(); + TTCN_Logger::end_event(); + + /* if E == '1'B, we can proceed further */ + if (lb.hdr()().e() == true) + break; + } + } + + /* parse optional TLLI */ + if (ret_val.mac__hdr().tlli__ind()) { + ret_val.tlli() = OCTETSTRING(4, ttcn_buffer.get_read_data()); + ttcn_buffer.increase_pos(4); + } + /* parse optional PFI */ + if (ret_val.mac__hdr().pfi__ind()) { + ret_val.pfi().decode(RlcmacUlDataBlock_pfi_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + } + + /* RLC blocks at end */ + if (ret_val.mac__hdr().e() == true) { + LlcBlock lb; + unsigned int length = ttcn_buffer.get_read_len(); + /* LI not present: The Upper Layer PDU that starts with the current RLC data block either + * fills the current RLC data block precisely or continues in the following in-sequence RLC + * data block */ + lb.payload() = OCTETSTRING(length, ttcn_buffer.get_read_data()); + ttcn_buffer.increase_pos(length); + ret_val.blocks()[0] = lb; + } else { + if (ret_val.blocks().is_bound()) { + for (int i = 0; i < ret_val.blocks().size_of(); i++) { + unsigned int length = ret_val.blocks()[i].hdr()().length__ind(); + if (length > ttcn_buffer.get_read_len()) + length = ttcn_buffer.get_read_len(); + ret_val.blocks()[i].payload() = OCTETSTRING(length, ttcn_buffer.get_read_data()); + ttcn_buffer.increase_pos(length); + } + } + } + + TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); + TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): Stream before return: "); + ttcn_buffer.log(); + TTCN_Logger::end_event(); + TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); + TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): ret_val before return: "); + ret_val.log(); + TTCN_Logger::end_event(); + + return ret_val; +} + +static +EgprsUlMacDataHeader dec__EgprsUlMacDataHeader_type1(const OCTETSTRING& stream) +{ + EgprsUlMacDataHeader ret_val; + + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); + + return ret_val; +} + +static +EgprsUlMacDataHeader dec__EgprsUlMacDataHeader_type2(const OCTETSTRING& stream) +{ + EgprsUlMacDataHeader ret_val; + + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); + + return ret_val; +} + +static +EgprsUlMacDataHeader dec__EgprsUlMacDataHeader_type3(const OCTETSTRING& stream) +{ + EgprsUlMacDataHeader ret_val; + + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); + + return ret_val; +} + +RlcmacUlEgprsDataBlock dec__RlcmacUlEgprsDataBlock(const OCTETSTRING& stream, CodingScheme::enum_type mcs) +{ + RlcmacUlEgprsDataBlock ret_val; + TTCN_Buffer ttcn_buffer(stream); + TTCN_Buffer aligned_buffer; + int num_llc_blocks = 0; + unsigned int data_block_bits, data_block_offsets[2]; + unsigned int num_calls; + const uint8_t *ti_e; + + switch (mcs) { + case CodingScheme::MCS__1: + case CodingScheme::MCS__2: + case CodingScheme::MCS__3: + case CodingScheme::MCS__4: + ret_val.mac__hdr() = dec__EgprsUlMacDataHeader_type3(stream); + break; + case CodingScheme::MCS__5: + case CodingScheme::MCS__6: + ret_val.mac__hdr() = dec__EgprsUlMacDataHeader_type2(stream); + break; + case CodingScheme::MCS__7: + case CodingScheme::MCS__8: + case CodingScheme::MCS__9: + ret_val.mac__hdr() = dec__EgprsUlMacDataHeader_type1(stream); + break; + } + setup_rlc_mac_priv(mcs, ret_val.mac__hdr().header__type(), true, + &num_calls, &data_block_bits, data_block_offsets); + get_egprs_data_block(ttcn_buffer, data_block_offsets[0], data_block_bits, aligned_buffer); + + ti_e = aligned_buffer.get_read_data(); + ret_val.tlli__ind() = *ti_e & 0x02 ? true : false; + ret_val.e() = *ti_e & 0x01 ? true : false; + aligned_buffer.increase_pos(1); + + /* Manually decoder remainder of aligned_buffer, containing optional header octets, + * optional tlli, optional pfi and LLC Blocks */ + + /* optional extension octets, containing LI+M+E of Llc blocks */ + if (ret_val.e() == false) { + /* extension octet follows, i.e. optional Llc length octets */ + while (1) { + /* decode one more extension octet with LlcBlocHdr inside */ + EgprsLlcBlock lb; + lb.hdr()().decode(EgprsLlcBlockHdr_descr_, aligned_buffer, TTCN_EncDec::CT_RAW); + ret_val.blocks()[num_llc_blocks++] = lb; + + /* if E == '1'B, we can proceed further */ + if (lb.hdr()().e() == true) + break; + } + } + + /* parse optional TLLI */ + if (ret_val.tlli__ind()) { + ret_val.tlli() = OCTETSTRING(4, aligned_buffer.get_read_data()); + aligned_buffer.increase_pos(4); + } + /* parse optional PFI */ + if (ret_val.mac__hdr().pfi__ind()) { + ret_val.pfi().decode(RlcmacUlDataBlock_pfi_descr_, aligned_buffer, TTCN_EncDec::CT_RAW); + } + + /* RLC blocks at end */ + if (ret_val.e() == true) { + EgprsLlcBlock lb; + unsigned int length = aligned_buffer.get_read_len(); + /* LI not present: The Upper Layer PDU that starts with the current RLC data block either + * fills the current RLC data block precisely or continues in the following in-sequence RLC + * data block */ + lb.payload() = OCTETSTRING(length, aligned_buffer.get_read_data()); + aligned_buffer.increase_pos(length); + ret_val.blocks()[0] = lb; + } else { + if (ret_val.blocks().is_bound()) { + for (int i = 0; i < ret_val.blocks().size_of(); i++) { + unsigned int length = ret_val.blocks()[i].hdr()().length__ind(); + if (length > aligned_buffer.get_read_len()) + length = aligned_buffer.get_read_len(); + ret_val.blocks()[i].payload() = OCTETSTRING(length, aligned_buffer.get_read_data()); + aligned_buffer.increase_pos(length); + } + } + } + + return ret_val; +} + +RlcmacUlBlock dec__RlcmacUlBlock(const OCTETSTRING& stream) +{ + RlcmacUlBlock ret_val; + size_t stream_len = stream.lengthof(); + CodingScheme::enum_type mcs = payload_len_2_coding_scheme(stream_len); + unsigned char pt; + + switch (mcs) { + case CodingScheme::CS__1: + case CodingScheme::CS__2: + case CodingScheme::CS__3: + case CodingScheme::CS__4: + pt = stream[0].get_octet() >> 6; + if (pt == MacPayloadType::MAC__PT__RLC__DATA) + ret_val.data() = dec__RlcmacUlDataBlock(stream); + else + ret_val.ctrl() = dec__RlcmacUlCtrlBlock(stream); + break; + case CodingScheme::MCS__1: + case CodingScheme::MCS__2: + case CodingScheme::MCS__3: + case CodingScheme::MCS__4: + case CodingScheme::MCS__5: + case CodingScheme::MCS__6: + case CodingScheme::MCS__7: + case CodingScheme::MCS__8: + case CodingScheme::MCS__9: + ret_val.data__egprs() = dec__RlcmacUlEgprsDataBlock(stream, mcs); + break; + } + + return ret_val; +} + + +///////////////////// +// ENCODE +///////////////////// + +/* ENCODE DOWNLINK */ + +OCTETSTRING enc__RlcmacDlDataBlock(const RlcmacDlDataBlock& si) +{ + RlcmacDlDataBlock in = si; + OCTETSTRING ret_val; + TTCN_Buffer ttcn_buffer; + int i; + + /* Fix 'e' bit of initial header based on following blocks */ + if (!in.blocks().is_bound() || + (in.blocks().size_of() == 1 && !in.blocks()[0].hdr().is_bound())) + in.mac__hdr().hdr__ext().e() = true; + else + in.mac__hdr().hdr__ext().e() = false; + + /* use automatic/generated decoder for header */ + in.mac__hdr().encode(DlMacDataHeader_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + + /* Add LI octets, if any */ + if (in.blocks().is_bound() && + (in.blocks().size_of() != 1 || in.blocks()[0].hdr().is_bound())) { + /* first write LI octets */ + for (i = 0; i < in.blocks().size_of(); i++) { + /* fix the 'E' bit in case it is not clear */ + if (i < in.blocks().size_of()-1) + in.blocks()[i].hdr()().e() = false; + else + in.blocks()[i].hdr()().e() = true; + in.blocks()[i].hdr()().encode(LlcBlockHdr_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + } + } + if (in.blocks().is_bound()) { + for (i = 0; i < in.blocks().size_of(); i++) { + if (!in.blocks()[i].is_bound()) + continue; + ttcn_buffer.put_string(in.blocks()[i].payload()); + } + } + + ttcn_buffer.get_string(ret_val); + return ret_val; +} + +static +void enc__RlcmacDlEgprsDataHeader_type1(const EgprsDlMacDataHeader& si, TTCN_Buffer& ttcn_buffer) +{ + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); +} + +static +void enc__RlcmacDlEgprsDataHeader_type2(const EgprsDlMacDataHeader& si, TTCN_Buffer& ttcn_buffer) +{ + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); +} + +static +void enc__RlcmacDlEgprsDataHeader_type3(const EgprsDlMacDataHeader& si, TTCN_Buffer& ttcn_buffer) +{ + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); +} + +OCTETSTRING enc__RlcmacDlEgprsDataBlock(const RlcmacDlEgprsDataBlock& si) +{ + RlcmacDlEgprsDataBlock in = si; + OCTETSTRING ret_val; + TTCN_Buffer ttcn_buffer; + int i; + + /* Fix 'e' bit of initial header based on following blocks */ + if (!in.blocks().is_bound() || + (in.blocks().size_of() == 1 && !in.blocks()[0].hdr().is_bound())) + in.e() = true; + else + in.e() = false; + + switch (in.mac__hdr().header__type()) { + case EgprsHeaderType::RLCMAC__HDR__TYPE__1: + enc__RlcmacDlEgprsDataHeader_type1(si.mac__hdr(), ttcn_buffer); + break; + case EgprsHeaderType::RLCMAC__HDR__TYPE__2: + enc__RlcmacDlEgprsDataHeader_type2(si.mac__hdr(), ttcn_buffer); + break; + case EgprsHeaderType::RLCMAC__HDR__TYPE__3: + enc__RlcmacDlEgprsDataHeader_type3(si.mac__hdr(), ttcn_buffer); + default: + break; /* TODO: error */ + } + + /* Add LI octets, if any */ + if (in.blocks().is_bound() && + (in.blocks().size_of() != 1 || in.blocks()[0].hdr().is_bound())) { + /* first write LI octets */ + for (i = 0; i < in.blocks().size_of(); i++) { + /* fix the 'E' bit in case it is not clear */ + if (i < in.blocks().size_of()-1) + in.blocks()[i].hdr()().e() = false; + else + in.blocks()[i].hdr()().e() = true; + in.blocks()[i].hdr()().encode(EgprsLlcBlockHdr_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + } + } + if (in.blocks().is_bound()) { + for (i = 0; i < in.blocks().size_of(); i++) { + if (!in.blocks()[i].is_bound()) + continue; + ttcn_buffer.put_string(in.blocks()[i].payload()); + } + } + + ttcn_buffer.get_string(ret_val); + return ret_val; +} + +OCTETSTRING enc__RlcmacDlBlock(const RlcmacDlBlock& si) +{ + if (si.ischosen(RlcmacDlBlock::ALT_data__egprs)) + return enc__RlcmacDlEgprsDataBlock(si.data__egprs()); + else if (si.ischosen(RlcmacDlBlock::ALT_data)) + return enc__RlcmacDlDataBlock(si.data()); + else + return enc__RlcmacDlCtrlBlock(si.ctrl()); +} + +/* ENCODE UPLINK */ OCTETSTRING enc__RlcmacUlDataBlock(const RlcmacUlDataBlock& si) { @@ -187,143 +1011,140 @@ return ret_val; } -RlcmacUlDataBlock dec__RlcmacUlDataBlock(const OCTETSTRING& stream) +static +void enc__RlcmacUlEgprsDataHeader_type1(const EgprsUlMacDataHeader& si, TTCN_Buffer& ttcn_buffer) { - RlcmacUlDataBlock ret_val; - TTCN_Buffer ttcn_buffer(stream); - int num_llc_blocks = 0; + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); +} - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("==================================\n" - "dec_RlcmacUlDataBlock(): Stream before decoding: "); - stream.log(); - TTCN_Logger::end_event(); +static +void enc__RlcmacUlEgprsDataHeader_type2(const EgprsUlMacDataHeader& si, TTCN_Buffer& ttcn_buffer) +{ + fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); +} - /* use automatic/generated decoder for header */ - ret_val.mac__hdr().decode(UlMacDataHeader_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); +static +void enc__RlcmacUlEgprsDataHeader_type3(const EgprsUlMacDataHeader& si, TTCN_Buffer& ttcn_buffer) +{ + struct gprs_rlc_ul_header_egprs_3 egprs3; - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): Stream after decoding hdr: "); - ttcn_buffer.log(); - TTCN_Logger::end_event(); - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): ret_val after decoding hdr: "); - ret_val.log(); - TTCN_Logger::end_event(); + egprs3.r = bs2uint8(si.r__ri()); + egprs3.si = bs2uint8(si.foi__si()); + egprs3.cv = si.countdown(); + egprs3.tfi_hi = si.tfi() >> 0; + egprs3.tfi_lo = si.tfi() >> 1; + egprs3.bsn1_hi = si.bsn1() >> 0; + egprs3.bsn1_lo = si.bsn1() >> 5; + egprs3.cps_hi = si.cps() >> 0; + egprs3.cps_lo = si.cps() >> 2; + egprs3.spb = bs2uint8(si.spb()); + egprs3.rsb = bs2uint8(si.spb()); + egprs3.pi = si.pfi__ind(); + egprs3.spare = 0; + egprs3.dummy = 0; - /* Manually decoder remainder of ttcn_buffer, containing optional header octets, - * optional tlli, optional pfi and LLC Blocks */ + ttcn_buffer.put_s(sizeof(egprs3), (const unsigned char *)&egprs3); +} - /* optional extension octets, containing LI+M+E of Llc blocks */ - if (ret_val.mac__hdr().e() == false) { - /* extension octet follows, i.e. optional Llc length octets */ - while (1) { - /* decode one more extension octet with LlcBlocHdr inside */ - LlcBlock lb; - lb.hdr()().decode(LlcBlockHdr_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); - ret_val.blocks()[num_llc_blocks++] = lb; +OCTETSTRING enc__RlcmacUlEgprsDataBlock(const RlcmacUlEgprsDataBlock& si) +{ + RlcmacUlEgprsDataBlock in = si; + OCTETSTRING ret_val; + TTCN_Buffer ttcn_buffer; + int i; - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): Stream after decoding ExtOct: "); - ttcn_buffer.log(); - TTCN_Logger::end_event(); - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): ret_val after decoding ExtOct: "); - ret_val.log(); - TTCN_Logger::end_event(); - - /* if E == '1'B, we can proceed further */ - if (lb.hdr()().e() == true) - break; - } - } - - /* parse optional TLLI */ - if (ret_val.mac__hdr().tlli__ind()) { - ret_val.tlli() = OCTETSTRING(4, ttcn_buffer.get_read_data()); - ttcn_buffer.increase_pos(4); - } - /* parse optional PFI */ - if (ret_val.mac__hdr().pfi__ind()) { - ret_val.pfi().decode(RlcmacUlDataBlock_pfi_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); - } - - /* RLC blocks at end */ - if (ret_val.mac__hdr().e() == true) { - LlcBlock lb; - unsigned int length = ttcn_buffer.get_read_len(); - /* LI not present: The Upper Layer PDU that starts with the current RLC data block either - * fills the current RLC data block precisely or continues in the following in-sequence RLC - * data block */ - lb.payload() = OCTETSTRING(length, ttcn_buffer.get_read_data()); - ttcn_buffer.increase_pos(length); - ret_val.blocks()[0] = lb; + if (!in.blocks().is_bound()) { + /* we don't have nay blocks: Add length value (zero) */ + in.e() = false; /* E=0: extension octet follows */ + } else if (in.blocks().size_of() == 1 && in.blocks()[0].hdr() == OMIT_VALUE) { + /* If there's only a single block, and that block has no HDR value defined, */ + in.e() = true; /* E=0: extension octet follows */ } else { - if (ret_val.blocks().is_bound()) { - for (int i = 0; i < ret_val.blocks().size_of(); i++) { - unsigned int length = ret_val.blocks()[i].hdr()().length__ind(); - if (length > ttcn_buffer.get_read_len()) - length = ttcn_buffer.get_read_len(); - ret_val.blocks()[i].payload() = OCTETSTRING(length, ttcn_buffer.get_read_data()); - ttcn_buffer.increase_pos(length); + /* Length value */ + in.e() = false; + } + + /* Fix other presence indications */ + in.tlli__ind() = in.tlli().is_bound() && in.tlli() != OMIT_VALUE; + in.mac__hdr().pfi__ind() = in.pfi().is_bound() && in.pfi() != OMIT_VALUE; + + switch (in.mac__hdr().header__type()) { + case EgprsHeaderType::RLCMAC__HDR__TYPE__1: + enc__RlcmacUlEgprsDataHeader_type1(si.mac__hdr(), ttcn_buffer); + break; + case EgprsHeaderType::RLCMAC__HDR__TYPE__2: + enc__RlcmacUlEgprsDataHeader_type2(si.mac__hdr(), ttcn_buffer); + break; + case EgprsHeaderType::RLCMAC__HDR__TYPE__3: + enc__RlcmacUlEgprsDataHeader_type3(si.mac__hdr(), ttcn_buffer); + default: + break; /* TODO: error */ + } + + if (in.e() == false) { + /* Add LI octets, if any */ + if (!in.blocks().is_bound()) { + ttcn_buffer.put_c(0x01); /* M=0, E=1 LEN=0 */ + } else { + for (i = 0; i < in.blocks().size_of(); i++) { +#if 0 + /* check for penultimate block */ + if (i == in.blocks().size_of()-2) { + /* if last block has no header, no more LI */ + if (in.blocks()[i+1].hdr() == OMIT_VALUE) { + in.blocks()[i].hdr()().more() = true; + } else { + /* header present, we have to encode LI */ + in.blocks()[i].hdr()().more() = false; + in.blocks()[i].hdr()().length__ind() = + in.blocks()[i+1].payload().lengthof(); + } + } else if (i < in.blocks().size_of()-2) { + /* one of the first blocks, before the penultimate or last */ + in.blocks()[i].hdr()().e() = false; /* LI present */ + /* re-compute length */ + in.blocks()[i].hdr()().length__ind() = + in.blocks()[i+1].payload().lengthof(); + } + /* Encode LI octet if E=0 */ + } +#endif + if (in.blocks()[i].hdr() != OMIT_VALUE) { + in.blocks()[i].hdr()().encode(EgprsLlcBlockHdr_descr_, ttcn_buffer, + TTCN_EncDec::CT_RAW); + } } } } - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): Stream before return: "); - ttcn_buffer.log(); - TTCN_Logger::end_event(); - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_RlcmacUlDataBlock(): ret_val before return: "); - ret_val.log(); - TTCN_Logger::end_event(); + if (in.tlli__ind()) { + ttcn_buffer.put_string(in.tlli()); + } + if (in.mac__hdr().pfi__ind()) { + in.pfi().encode(RlcmacUlDataBlock_pfi_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + } + + if (in.blocks().is_bound()) { + for (i = 0; i < in.blocks().size_of(); i++) { + if (!in.blocks()[i].is_bound()) + continue; + ttcn_buffer.put_string(in.blocks()[i].payload()); + } + } + + ttcn_buffer.get_string(ret_val); return ret_val; } OCTETSTRING enc__RlcmacUlBlock(const RlcmacUlBlock& si) { - if (si.ischosen(RlcmacUlBlock::ALT_data)) + if (si.ischosen(RlcmacUlBlock::ALT_data__egprs)) + return enc__RlcmacUlEgprsDataBlock(si.data__egprs()); + else if (si.ischosen(RlcmacUlBlock::ALT_data)) return enc__RlcmacUlDataBlock(si.data()); else return enc__RlcmacUlCtrlBlock(si.ctrl()); } -OCTETSTRING enc__RlcmacDlBlock(const RlcmacDlBlock& si) -{ - if (si.ischosen(RlcmacDlBlock::ALT_data)) - return enc__RlcmacDlDataBlock(si.data()); - else - return enc__RlcmacDlCtrlBlock(si.ctrl()); -} - - -RlcmacUlBlock dec__RlcmacUlBlock(const OCTETSTRING& stream) -{ - RlcmacUlBlock ret_val; - unsigned char pt = stream[0].get_octet() >> 6; - - if (pt == MacPayloadType::MAC__PT__RLC__DATA) - ret_val.data() = dec__RlcmacUlDataBlock(stream); - else - ret_val.ctrl() = dec__RlcmacUlCtrlBlock(stream); - - return ret_val; -} - -RlcmacDlBlock dec__RlcmacDlBlock(const OCTETSTRING& stream) -{ - RlcmacDlBlock ret_val; - unsigned char pt = stream[0].get_octet() >> 6; - - if (pt == MacPayloadType::MAC__PT__RLC__DATA) - ret_val.data() = dec__RlcmacDlDataBlock(stream); - else - ret_val.ctrl() = dec__RlcmacDlCtrlBlock(stream); - - return ret_val; -} - - } // namespace diff --git a/library/RLCMAC_Types.ttcn b/library/RLCMAC_Types.ttcn index 8688d36..e5c2464 100644 --- a/library/RLCMAC_Types.ttcn +++ b/library/RLCMAC_Types.ttcn @@ -41,11 +41,18 @@ return 0; } + type enumerated EgprsHeaderType { + RLCMAC_HDR_TYPE_1, + RLCMAC_HDR_TYPE_2, + RLCMAC_HDR_TYPE_3 + }; + type enumerated CodingScheme { CS_1, CS_2, CS_3, CS_4, + MCS_0, MCS_1, MCS_2, MCS_3, @@ -238,6 +245,52 @@ external function dec_RlcmacDlDataBlock(in octetstring stream) return RlcmacDlDataBlock; + /* a single RLC block / LLC-segment */ + type record EgprsLlcBlockHdr { + uint7_t length_ind, + /* 0 = another extension octet after LLC PDU, 1 = no more extension octets */ + boolean e + } with { + variant (e) "FIELDLENGTH(1)" + encode "RAW" + }; + + external function enc_EgprsLlcBlockHdr(in EgprsLlcBlockHdr si) return octetstring + with { extension "prototype(convert) encode(RAW)" }; + external function dec_EgprsLlcBlockHdr(in octetstring stream) return EgprsLlcBlockHdr + with { extension "prototype(convert) decode(RAW)" }; + + type record EgprsLlcBlock { + /* Header is only present if LI field was present */ + EgprsLlcBlockHdr hdr optional, + octetstring payload + } with { variant "" }; + type record of EgprsLlcBlock EgprsLlcBlocks; + + /* TS 44.060 10.3a.1.1 EGPRS downlink RLC data block, manual c++ encoder/decoder */ + type record EgprsDlMacDataHeader { + EgprsHeaderType header_type, /* Set internally by decoder */ + uint5_t tfi, + MacRrbp rrbp, + BIT2 esp, + uint3_t usf, + uint14_t bsn1, + uint8_t bsn2_offset, + uint2_t pr, /* power reduction */ + uint2_t spb, + uint4_t cps + } with { variant "" }; + /* Manual C++ Decoder: */ + type record RlcmacDlEgprsDataBlock { + EgprsDlMacDataHeader mac_hdr, + boolean fbi, + boolean e, + EgprsLlcBlocks blocks + } with { + variant (fbi) "FIELDLENGTH(1)" + variant (e) "FIELDLENGTH(1)" + }; + /* TS 44.060 10.2.2 */ type record UlMacDataHeader { /* Octet 0 */ @@ -268,6 +321,35 @@ variant (m) "FIELDLENGTH(1)" }; + /* TS 44.060 10.3a.1.1 10.3a.4 EGPRS Uplink RLC/MAC header, manual c++ encoder/decoder */ + type record EgprsUlMacDataHeader { + EgprsHeaderType header_type, /* Set internally by decoder */ + uint5_t tfi, + uint4_t countdown, + BIT1 foi_si, + BIT1 r_ri, + uint11_t bsn1, + uint4_t cps, + boolean pfi_ind, + BIT1 rsb, + BIT2 spb + } with { + variant (pfi_ind) "FIELDLENGTH(1)" + }; + /* Manual C++ Decoder: 10.3a.2.1 EGPRS Uplink RLC data block */ + type record RlcmacUlEgprsDataBlock { + EgprsUlMacDataHeader mac_hdr, + boolean tlli_ind, + boolean e, + /* Octet 3 ... M (optional): manual C++ Decoder */ + GprsTlli tlli optional, + RlcMacUlPfi pfi optional, + EgprsLlcBlocks blocks + } with { + variant (tlli_ind) "FIELDLENGTH(1)" + variant (e) "FIELDLENGTH(1)" + }; + /* TS 44.060 10.2.2 */ type record RlcmacUlDataBlock { /* MAC header */ @@ -286,11 +368,16 @@ type union RlcmacUlBlock { RlcmacUlDataBlock data, + RlcmacUlEgprsDataBlock data_egprs, RlcmacUlCtrlBlock ctrl } with { variant "TAG(data, mac_hdr.payload_type = MAC_PT_RLC_DATA; - ctrl, mac_hdr.payload_type = MAC_PT_RLCMAC_NO_OPT; - ctrl, mac_hdr.payload_type = MAC_PT_RLCMAC_OPT)" + ctrl, {mac_hdr.payload_type = MAC_PT_RLCMAC_NO_OPT, + mac_hdr.payload_type = MAC_PT_RLCMAC_OPT}; + data_egprs, {mac_hdr.header_type = RLCMAC_HDR_TYPE_1, + mac_hdr.header_type = RLCMAC_HDR_TYPE_2, + mac_hdr.header_type = RLCMAC_HDR_TYPE_3} + )" }; /* as the sub-types (RlcmacDl*Block) are not using the RAW coder, we cannot @@ -301,11 +388,16 @@ type union RlcmacDlBlock { RlcmacDlDataBlock data, + RlcmacDlEgprsDataBlock data_egprs, RlcmacDlCtrlBlock ctrl } with { variant "TAG(data, mac_hdr.mac_hdr.payload_type = MAC_PT_RLC_DATA; - ctrl, mac_hdr.payload_type = MAC_PT_RLCMAC_NO_OPT; - ctrl, mac_hdr.payload_type = MAC_PT_RLCMAC_OPT)" + ctrl, {mac_hdr.payload_type = MAC_PT_RLCMAC_NO_OPT, + mac_hdr.payload_type = MAC_PT_RLCMAC_OPT}; + data_egprs, {mac_hdr.header_type = RLCMAC_HDR_TYPE_1, + mac_hdr.header_type = RLCMAC_HDR_TYPE_2, + mac_hdr.header_type = RLCMAC_HDR_TYPE_3} + )" }; /* as the sub-types (RlcmacDl*Block) are not using the RAW coder, we cannot @@ -546,6 +638,15 @@ } } + template RlcmacDlBlock tr_RLCMAC_DATA_EGPRS := { + data_egprs := { + mac_hdr := ?, + fbi := ?, + e := ?, + blocks := ? + } + } + /* Template for Uplink MAC Control Header */ template UlMacCtrlHeader t_RLCMAC_UlMacCtrlH(template MacPayloadType pt, template boolean retry := false) := { payload_type := pt, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17965 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: I2bc4f877a5e17c57ffa8cf05565dc8593b45aae8 Gerrit-Change-Number: 17965 Gerrit-PatchSet: 4 Gerrit-Owner: pespin 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 Wed Apr 29 09:06:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:06:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Support retrieving BSN and TFI in tests from data_egprs blocks In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17970 ) Change subject: pcu: Support retrieving BSN and TFI in tests from data_egprs blocks ...................................................................... pcu: Support retrieving BSN and TFI in tests from data_egprs blocks function helpers are slightly modified or added to accomodate for fields in egprs data blocks being in different places. Change-Id: I570fb7346519b2a161515e0ec40bd1870a89d673 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 97 insertions(+), 24 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index b79b365..524dfb7 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -219,11 +219,28 @@ receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B } +private function f_rlcmac_dl_block_get_tfi(RlcmacDlBlock dl_block) return uint5_t { + if (ischosen(dl_block.data)) { + return dl_block.data.mac_hdr.hdr_ext.tfi; + } else { + return dl_block.data_egprs.mac_hdr.tfi; + } +} + /* TS 44.060 sec 12.3 Ack/Nack Description */ -private function f_acknackdesc_ack_block(inout AckNackDescription desc, uint7_t bsn, BIT1 final_ack := '0'B) +private function f_acknackdesc_ack_block(inout AckNackDescription desc, RlcmacDlBlock dl_block, BIT1 final_ack := '0'B) { + var uint7_t bsn; var integer i; - var integer inc := bsn - desc.starting_seq_nr + 1; + var integer inc; + + if (ischosen(dl_block.data)) { + bsn := dl_block.data.mac_hdr.hdr_ext.bsn; + } else { + bsn := dl_block.data_egprs.mac_hdr.bsn1; + } + + inc := bsn - desc.starting_seq_nr + 1; /* Filling hole? */ if (bsn < desc.starting_seq_nr) { desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - (desc.starting_seq_nr - bsn)] := int2bit(1, 1); @@ -558,18 +575,9 @@ } } -private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t ack_fn, octetstring data, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) -runs on RAW_PCU_Test_CT { - var PCUIF_Message pcu_msg; - var uint32_t dl_fn; - var template RlcmacDlBlock dl_template := tr_RLCMAC_DATA_RRBP; - dl_template.data.blocks := ?; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, dl_template)) { - setverdict(fail, "Failed to match Packet data: ", dl_block, " vs ", dl_template); - mtc.stop; - } +private function f_rlcmac_dl_block_verify_data_gprs(RlcmacDlBlock dl_block, uint32_t dl_fn, out uint32_t ack_fn, octetstring data, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) +{ + log("verifying dl data block (gprs): ", dl_block); ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data.mac_hdr.mac_hdr.rrbp); @@ -599,6 +607,71 @@ setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); mtc.stop; } + + /* TODO: check exp_cs */ +} + +private function f_rlcmac_dl_block_verify_data_egprs(RlcmacDlBlock dl_block, uint32_t dl_fn, out uint32_t ack_fn, octetstring data, template (present) uint14_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) +{ + log("verifying dl data block (egprs): ", dl_block); + + ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data_egprs.mac_hdr.rrbp); + + if (not match(dl_block.data_egprs.mac_hdr.bsn1, exp_bsn)) { + setverdict(fail, "DL block BSN doesn't match: ", + dl_block.data_egprs.blocks[0].hdr.length_ind, " vs exp ", exp_bsn); + } + + if (lengthof(dl_block.data_egprs.blocks) < 1) { + setverdict(fail, "DL block has no LLC payload: ", dl_block); + mtc.stop; + } + + if (ispresent(dl_block.data_egprs.blocks[0].hdr) and dl_block.data_egprs.blocks[0].hdr.length_ind != lengthof(data)) { + setverdict(fail, "DL block has LLC header with wrong expected size: ", + dl_block.data_egprs.blocks[0].hdr.length_ind, " vs ", lengthof(data)); + mtc.stop; + } + + if (dl_block.data_egprs.blocks[0].payload != data) { + setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); + mtc.stop; + } + + /* Check next data blocks contain dummy frames */ + if (lengthof(dl_block.data_egprs.blocks) > 1 and substr(dl_block.data_egprs.blocks[1].payload, 0, 3) != '43C001'O) { + setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); + mtc.stop; + } + + /* TODO: Check exp_cs. In the case of EGPRS, first check mac_hdr.header_type and then decode CPS = exp_cs based on mac_hdr.header_type. + See wireshark's egprs_Header_type1_coding_puncturing_scheme_to_mcs. */ +} + +private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t ack_fn, octetstring data, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) +runs on RAW_PCU_Test_CT { + var PCUIF_Message pcu_msg; + var uint32_t dl_fn; + var boolean is_egprs := false; + var template RlcmacDlBlock dl_template := tr_RLCMAC_DATA_RRBP; + dl_template.data.blocks := ?; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, dl_template)) { + dl_template := tr_RLCMAC_DATA_EGPRS; + dl_template.data_egprs.blocks := ?; + if (not match(dl_block, dl_template)) { + setverdict(fail, "Failed to match Packet data: ", dl_block, " vs ", dl_template); + mtc.stop; + } + is_egprs := true; + } + + if (is_egprs) { + f_rlcmac_dl_block_verify_data_egprs(dl_block, dl_fn, ack_fn, data, exp_bsn, exp_cs); + } else { + f_rlcmac_dl_block_verify_data_gprs(dl_block, dl_fn, ack_fn, data, exp_bsn, exp_cs); + } } testcase TC_pcuif_suspend() runs on RAW_PCU_Test_CT { @@ -1231,8 +1304,8 @@ f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block.data.mac_hdr.hdr_ext.bsn, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(dl_block.data.mac_hdr.hdr_ext.tfi, ack_nack_desc), 0, sched_fn); + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); /* we are done with the DL-TBF here so far, let's clean up our local state: */ ack_nack_desc := valueof(t_AckNackDescription_init) @@ -1245,8 +1318,8 @@ /* Now that we confirmed the new assignment in the dl-tbf, lets receive the data and ack it */ f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); - f_acknackdesc_ack_block(ack_nack_desc, dl_block.data.mac_hdr.hdr_ext.bsn, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(dl_block.data.mac_hdr.hdr_ext.tfi, ack_nack_desc), 0, sched_fn); + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); } /* Test scenario where MS wants to send some data on PDCH against SGSN and it is @@ -1322,8 +1395,8 @@ f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0, exp_cs_mcs); /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block.data.mac_hdr.hdr_ext.bsn, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(dl_block.data.mac_hdr.hdr_ext.tfi, ack_nack_desc), 0, sched_fn); + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); } /* Test scenario where MS wants to send some data on PDCH against SGSN and it is @@ -1386,8 +1459,8 @@ f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0, exp_cs_mcs); /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block.data.mac_hdr.hdr_ext.bsn, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(dl_block.data.mac_hdr.hdr_ext.tfi, ack_nack_desc), 0, sched_fn); + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); /* Now MS wants to answer the DL data, Establish an Uplink TBF */ ok := f_establish_tbf(rr_imm_ass); @@ -1478,8 +1551,8 @@ f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block.data.mac_hdr.hdr_ext.bsn, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(dl_block.data.mac_hdr.hdr_ext.tfi, ack_nack_desc), 0, sched_fn); + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); } private function f_pkt_paging_match_imsi(in PacketPagingReq req, hexstring imsi) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17970 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: I570fb7346519b2a161515e0ec40bd1870a89d673 Gerrit-Change-Number: 17970 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 Wed Apr 29 09:07:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:07:19 +0000 Subject: Change in libosmocore[master]: gsm_04_06.h: Remove repeated egprs header struct definitions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17964 ) Change subject: gsm_04_06.h: Remove repeated egprs header struct definitions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17964 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibd002e52979950e09013767fa643b2a3c52dfea9 Gerrit-Change-Number: 17964 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 29 Apr 2020 09:07: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 Apr 29 09:07:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:07:22 +0000 Subject: Change in libosmocore[master]: gsm_04_06.h: Remove repeated egprs header struct definitions In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17964 ) Change subject: gsm_04_06.h: Remove repeated egprs header struct definitions ...................................................................... gsm_04_06.h: Remove repeated egprs header struct definitions Each struct already contains different definition based on endianess, so there's no reason to re-define all of them again based on endianess. Probably at some point somebody run the script ./contrib/struct_endianess.py on those structures but forgot to remove the old way of supporting differnet endianess. Change-Id: Ibd002e52979950e09013767fa643b2a3c52dfea9 --- M include/osmocom/gprs/protocol/gsm_04_60.h 1 file changed, 0 insertions(+), 153 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/gprs/protocol/gsm_04_60.h b/include/osmocom/gprs/protocol/gsm_04_60.h index f592b14..05728f4 100644 --- a/include/osmocom/gprs/protocol/gsm_04_60.h +++ b/include/osmocom/gprs/protocol/gsm_04_60.h @@ -9,7 +9,6 @@ #include #include -#if OSMO_IS_LITTLE_ENDIAN == 1 /* TS 04.60 10.3a.4.1.1 */ struct gprs_rlc_ul_header_egprs_1 { #if OSMO_IS_LITTLE_ENDIAN @@ -160,158 +159,6 @@ uint8_t dummy:1, spb:2, cps:4, bsn1_lo:1; #endif } __attribute__ ((packed)); -#else -/* TS 04.60 10.3a.4.1.1 */ -struct gprs_rlc_ul_header_egprs_1 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t tfi_hi:2, - cv:4, - si:1, - r:1; - uint8_t bsn1_hi:5, - tfi_lo:3; - uint8_t bsn2_hi:2, - bsn1_lo:6; - uint8_t bsn2_lo:8; - uint8_t spare_hi:1, - pi:1, - rsb:1, - cps:5; - uint8_t dummy:2, - spare_lo:6; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t r:1, si:1, cv:4, tfi_hi:2; - uint8_t tfi_lo:3, bsn1_hi:5; - uint8_t bsn1_lo:6, bsn2_hi:2; - uint8_t bsn2_lo:8; - uint8_t cps:5, rsb:1, pi:1, spare_hi:1; - uint8_t spare_lo:6, dummy:2; -#endif -} __attribute__ ((packed)); - -/* TS 04.60 10.3a.4.2.1 */ -struct gprs_rlc_ul_header_egprs_2 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t tfi_hi:2, - cv:4, - si:1, - r:1; - uint8_t bsn1_hi:5, - tfi_lo:3; - uint8_t cps_hi:2, - bsn1_lo:6; - uint8_t spare_hi:5, - pi:1, - rsb:1, - cps_lo:1; - uint8_t dummy:3, - spare_lo:5; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t r:1, si:1, cv:4, tfi_hi:2; - uint8_t tfi_lo:3, bsn1_hi:5; - uint8_t bsn1_lo:6, cps_hi:2; - uint8_t cps_lo:1, rsb:1, pi:1, spare_hi:5; - uint8_t spare_lo:5, dummy:3; -#endif -} __attribute__ ((packed)); - -/* TS 04.60 10.3a.4.3.1 */ -struct gprs_rlc_ul_header_egprs_3 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t tfi_hi:2, - cv:4, - si:1, - r:1; - uint8_t bsn1_hi:5, - tfi_lo:3; - uint8_t cps_hi:2, - bsn1_lo:6; - uint8_t dummy:1, - spare:1, - pi:1, - rsb:1, - spb:2, - cps_lo:2; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t r:1, si:1, cv:4, tfi_hi:2; - uint8_t tfi_lo:3, bsn1_hi:5; - uint8_t bsn1_lo:6, cps_hi:2; - uint8_t cps_lo:2, spb:2, rsb:1, pi:1, spare:1, dummy:1; -#endif -} __attribute__ ((packed)); - -struct gprs_rlc_dl_header_egprs_1 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t tfi_hi:1, - rrbp:2, - es_p:2, - usf:3; - uint8_t bsn1_hi:2, - pr:2, - tfi_lo:4; - uint8_t bsn1_mid:8; - uint8_t bsn2_hi:7, - bsn1_lo:1; - uint8_t cps:5, - bsn2_lo:3; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t usf:3, es_p:2, rrbp:2, tfi_hi:1; - uint8_t tfi_lo:4, pr:2, bsn1_hi:2; - uint8_t bsn1_mid:8; - uint8_t bsn1_lo:1, bsn2_hi:7; - uint8_t bsn2_lo:3, cps:5; -#endif -} __attribute__ ((packed)); - -struct gprs_rlc_dl_header_egprs_2 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t tfi_hi:1, - rrbp:2, - es_p:2, - usf:3; - uint8_t bsn1_hi:2, - pr:2, - tfi_lo:4; - uint8_t bsn1_mid:8; - uint8_t dummy:4, - cps:3, - bsn1_lo:1; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t usf:3, es_p:2, rrbp:2, tfi_hi:1; - uint8_t tfi_lo:4, pr:2, bsn1_hi:2; - uint8_t bsn1_mid:8; - uint8_t bsn1_lo:1, cps:3, dummy:4; -#endif -} __attribute__ ((packed)); - -struct gprs_rlc_dl_header_egprs_3 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t tfi_hi:1, - rrbp:2, - es_p:2, - usf:3; - uint8_t bsn1_hi:2, - pr:2, - tfi_lo:4; - uint8_t bsn1_mid:8; - uint8_t dummy:1, - spb:2, - cps:4, - bsn1_lo:1; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t usf:3, es_p:2, rrbp:2, tfi_hi:1; - uint8_t tfi_lo:4, pr:2, bsn1_hi:2; - uint8_t bsn1_mid:8; - uint8_t bsn1_lo:1, cps:4, spb:2, dummy:1; -#endif -} __attribute__ ((packed)); -#endif /* TS 03.60 Chapter 6.3.3.1: Network Mode of Operation */ enum osmo_gprs_nmo { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17964 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibd002e52979950e09013767fa643b2a3c52dfea9 Gerrit-Change-Number: 17964 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 Wed Apr 29 09:07:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:07:54 +0000 Subject: Change in pysim[master]: Use helper method to print available service in EF.SST In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17897 ) Change subject: Use helper method to print available service in EF.SST ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17897 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I375475e9f7210dae4e8da7258d6824dc2d54cf4c Gerrit-Change-Number: 17897 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 29 Apr 2020 09:07: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 Apr 29 09:09:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:09:01 +0000 Subject: Change in pysim[master]: Enable parsing of USIM Service table (UST) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17879 ) Change subject: Enable parsing of USIM Service table (UST) ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 Gerrit-Change-Number: 17879 Gerrit-PatchSet: 8 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 29 Apr 2020 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 Wed Apr 29 09:09:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:09:06 +0000 Subject: Change in pysim[master]: Define mapping between ISIM Service Number and its description In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17881 ) Change subject: Define mapping between ISIM Service Number and its description ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iad51d0804259df47729308b461062f794b135e66 Gerrit-Change-Number: 17881 Gerrit-PatchSet: 4 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 29 Apr 2020 09:09: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 Apr 29 09:10:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:10:51 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse ePDG Identifier from hex string In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17883 ) Change subject: utils.py: Add helper method to parse ePDG Identifier from hex string ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py at 365 PS1, Line 365: if o > this is addressed in future commits which I will be submitting - https://github. [?] In that commit you linked you still hand-coded the TLV parsing instead of using an existing parser. I'm sure there must be existing python libraries for smart cards that deal with this. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 Gerrit-Change-Number: 17883 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 29 Apr 2020 09:10:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: herlesupreeth Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 29 09:10:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:10:55 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse and print Service Table In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17896 ) Change subject: utils.py: Add helper method to parse and print Service Table ...................................................................... utils.py: Add helper method to parse and print Service Table This method helps in printing Service Tables in EF.SST, EF.UST, EF.IST. Takes hex string of Service table, parses it and prints available service along with its description. Change-Id: Ie1e82e07ead2e28314a5794661e6b2ced0acd72a --- M pySim/utils.py 1 file changed, 31 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/utils.py b/pySim/utils.py index 51f2954..be670e9 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -347,3 +347,34 @@ avail_srvc.append((8*i) + j) byte = byte >> 1 return avail_srvc + +def dec_st(st, table="sim"): + """ + Parses the EF S/U/IST and prints the list of available services in EF S/U/IST + """ + + if table == "usim": + from pySim.ts_31_102 import EF_UST_map + lookup_map = EF_UST_map + else: + from pySim.ts_51_011 import EF_SST_map + lookup_map = EF_SST_map + + st_bytes = [st[i:i+2] for i in range(0, len(st), 2) ] + + avail_st = "" + # Get each byte and check for available services + for i in range(0, len(st_bytes)): + # Byte i contains info about Services num (8i+1) to num (8i+8) + byte = int(st_bytes[i], 16) + # Services in each byte are in order MSB to LSB + # MSB - Service (8i+8) + # LSB - Service (8i+1) + for j in range(1, 9): + if byte&0x01 == 0x01 and ((8*i) + j in lookup_map): + # Byte X contains info about Services num (8X-7) to num (8X) + # bit = 1: service available + # bit = 0: service not available + avail_st += '\tService %d - %s\n' % ((8*i) + j, lookup_map[(8*i) + j]) + byte = byte >> 1 + return avail_st -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17896 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie1e82e07ead2e28314a5794661e6b2ced0acd72a Gerrit-Change-Number: 17896 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth 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 Apr 29 09:10:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:10:55 +0000 Subject: Change in pysim[master]: Use helper method to print available service in EF.SST In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17897 ) Change subject: Use helper method to print available service in EF.SST ...................................................................... Use helper method to print available service in EF.SST Change-Id: I375475e9f7210dae4e8da7258d6824dc2d54cf4c --- 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, 244 insertions(+), 243 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index 8f81443..7557201 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -32,7 +32,7 @@ from pySim.commands import SimCardCommands from pySim.cards import card_detect, Card -from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn, format_xplmn_w_act, dec_spn +from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn, format_xplmn_w_act, dec_spn, dec_st def parse_options(): @@ -234,16 +234,11 @@ print("AD: Can't read, response code = %s" % (sw,)) # EF.SST - (res, sw) = card.read_sst() + (res, sw) = card.read_binary('SST') if sw == '9000': - # (st_hex, avail_src_list) = res - # st_hex - Service Table in hex format - # avail_src_list - List of services available - print("SIM Service Table: %s" % res[0]) + print("SIM Service Table: %s" % res) # Print those which are available - for s in res[1]: - if s in EF_SST_map: - print('\tService %d - %s: %s' % (s, EF_SST_map[s], s in res[1])) + print("%s" % dec_st(res)) else: print("SIM Service Table: Can't read, response code = %s" % (sw,)) diff --git a/pysim-testdata/Fairwaves-SIM.ok b/pysim-testdata/Fairwaves-SIM.ok index 1dbaab6..9df44fd 100644 --- a/pysim-testdata/Fairwaves-SIM.ok +++ b/pysim-testdata/Fairwaves-SIM.ok @@ -44,46 +44,47 @@ MSISDN: Not available AD: 00000002 SIM Service Table: ff3cc3ff030fff0f000fff03f0c0 - Service 1 - CHV1 disable function: True - Service 2 - Abbreviated Dialling Numbers (ADN): True - Service 3 - Fixed Dialling Numbers (FDN): True - Service 4 - Short Message Storage (SMS): True - Service 5 - Advice of Charge (AoC): True - Service 6 - Capability Configuration Parameters (CCP): True - Service 7 - PLMN selector: True - Service 8 - RFU: True - Service 11 - Extension2: True - Service 12 - SMS Parameters: True - Service 13 - Last Number Dialled (LND): True - Service 14 - Cell Broadcast Message Identifier: True - Service 17 - Service Provider Name: True - Service 18 - Service Dialling Numbers (SDN): True - Service 23 - enhanced Multi-Level Precedence and Pre-emption Service: True - Service 24 - Automatic Answer for eMLPP: True - Service 25 - Data download via SMS-CB: True - Service 26 - Data download via SMS-PP: True - Service 27 - Menu selection: True - Service 28 - Call control: True - Service 29 - Proactive SIM: True - Service 30 - Cell Broadcast Message Identifier Ranges: True - Service 31 - Barred Dialling Numbers (BDN): True - Service 32 - Extension4: True - Service 33 - De-personalization Control Keys: True - Service 34 - Co-operative Network List: True - Service 41 - USSD string data object supported in Call Control: True - Service 42 - RUN AT COMMAND command: True - Service 43 - User controlled PLMN Selector with Access Technology: True - Service 44 - Operator controlled PLMN Selector with Access Technology: True - Service 49 - MExE: True - Service 50 - Reserved and shall be ignored: True - Service 51 - PLMN Network Name: True - Service 52 - Operator PLMN List: True - Service 53 - Mailbox Dialling Numbers: True - Service 54 - Message Waiting Indication Status: True - Service 55 - Call Forwarding Indication Status: True - Service 56 - Service Provider Display Information: True - Service 57 - Multimedia Messaging Service (MMS): True - Service 58 - Extension 8: True - Service 59 - MMS User Connectivity Parameters: True + Service 1 - CHV1 disable function + Service 2 - Abbreviated Dialling Numbers (ADN) + Service 3 - Fixed Dialling Numbers (FDN) + Service 4 - Short Message Storage (SMS) + Service 5 - Advice of Charge (AoC) + Service 6 - Capability Configuration Parameters (CCP) + Service 7 - PLMN selector + Service 8 - RFU + Service 11 - Extension2 + Service 12 - SMS Parameters + Service 13 - Last Number Dialled (LND) + Service 14 - Cell Broadcast Message Identifier + Service 17 - Service Provider Name + Service 18 - Service Dialling Numbers (SDN) + Service 23 - enhanced Multi-Level Precedence and Pre-emption Service + Service 24 - Automatic Answer for eMLPP + Service 25 - Data download via SMS-CB + Service 26 - Data download via SMS-PP + Service 27 - Menu selection + Service 28 - Call control + Service 29 - Proactive SIM + Service 30 - Cell Broadcast Message Identifier Ranges + Service 31 - Barred Dialling Numbers (BDN) + Service 32 - Extension4 + Service 33 - De-personalization Control Keys + Service 34 - Co-operative Network List + Service 41 - USSD string data object supported in Call Control + Service 42 - RUN AT COMMAND command + Service 43 - User controlled PLMN Selector with Access Technology + Service 44 - Operator controlled PLMN Selector with Access Technology + Service 49 - MExE + Service 50 - Reserved and shall be ignored + Service 51 - PLMN Network Name + Service 52 - Operator PLMN List + Service 53 - Mailbox Dialling Numbers + Service 54 - Message Waiting Indication Status + Service 55 - Call Forwarding Indication Status + Service 56 - Service Provider Display Information + Service 57 - Multimedia Messaging Service (MMS) + Service 58 - Extension 8 + Service 59 - MMS User Connectivity Parameters + Done ! diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok index e72599f..01ba6b7 100644 --- a/pysim-testdata/Wavemobile-SIM.ok +++ b/pysim-testdata/Wavemobile-SIM.ok @@ -51,44 +51,45 @@ MSISDN: Not available AD: 00ffff02 SIM Service Table: ff33ff0f3c00ff0f000cf0c0f0030000 - Service 1 - CHV1 disable function: True - Service 2 - Abbreviated Dialling Numbers (ADN): True - Service 3 - Fixed Dialling Numbers (FDN): True - Service 4 - Short Message Storage (SMS): True - Service 5 - Advice of Charge (AoC): True - Service 6 - Capability Configuration Parameters (CCP): True - Service 7 - PLMN selector: True - Service 8 - RFU: True - Service 9 - MSISDN: True - Service 10 - Extension1: True - Service 13 - Last Number Dialled (LND): True - Service 14 - Cell Broadcast Message Identifier: True - Service 17 - Service Provider Name: True - Service 18 - Service Dialling Numbers (SDN): True - Service 19 - Extension3: True - Service 20 - RFU: True - Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS): True - Service 22 - VBS Group Identifier List (EFVBS and EFVBSS): True - Service 23 - enhanced Multi-Level Precedence and Pre-emption Service: True - Service 24 - Automatic Answer for eMLPP: True - Service 25 - Data download via SMS-CB: True - Service 26 - Data download via SMS-PP: True - Service 27 - Menu selection: True - Service 28 - Call control: True - Service 35 - Short Message Status Reports: True - Service 36 - Network's indication of alerting in the MS: True - Service 37 - Mobile Originated Short Message control by SIM: True - Service 38 - GPRS: True - Service 49 - MExE: True - Service 50 - Reserved and shall be ignored: True - Service 51 - PLMN Network Name: True - Service 52 - Operator PLMN List: True - Service 53 - Mailbox Dialling Numbers: True - Service 54 - Message Waiting Indication Status: True - Service 55 - Call Forwarding Indication Status: True - Service 56 - Service Provider Display Information: True - Service 57 - Multimedia Messaging Service (MMS): True - Service 58 - Extension 8: True - Service 59 - MMS User Connectivity Parameters: True + Service 1 - CHV1 disable function + Service 2 - Abbreviated Dialling Numbers (ADN) + Service 3 - Fixed Dialling Numbers (FDN) + Service 4 - Short Message Storage (SMS) + Service 5 - Advice of Charge (AoC) + Service 6 - Capability Configuration Parameters (CCP) + Service 7 - PLMN selector + Service 8 - RFU + Service 9 - MSISDN + Service 10 - Extension1 + Service 13 - Last Number Dialled (LND) + Service 14 - Cell Broadcast Message Identifier + Service 17 - Service Provider Name + Service 18 - Service Dialling Numbers (SDN) + Service 19 - Extension3 + Service 20 - RFU + Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS) + Service 22 - VBS Group Identifier List (EFVBS and EFVBSS) + Service 23 - enhanced Multi-Level Precedence and Pre-emption Service + Service 24 - Automatic Answer for eMLPP + Service 25 - Data download via SMS-CB + Service 26 - Data download via SMS-PP + Service 27 - Menu selection + Service 28 - Call control + Service 35 - Short Message Status Reports + Service 36 - Network's indication of alerting in the MS + Service 37 - Mobile Originated Short Message control by SIM + Service 38 - GPRS + Service 49 - MExE + Service 50 - Reserved and shall be ignored + Service 51 - PLMN Network Name + Service 52 - Operator PLMN List + Service 53 - Mailbox Dialling Numbers + Service 54 - Message Waiting Indication Status + Service 55 - Call Forwarding Indication Status + Service 56 - Service Provider Display Information + Service 57 - Multimedia Messaging Service (MMS) + Service 58 - Extension 8 + Service 59 - MMS User Connectivity Parameters + Done ! diff --git a/pysim-testdata/fakemagicsim.ok b/pysim-testdata/fakemagicsim.ok index 944dbfc..80cf3d9 100644 --- a/pysim-testdata/fakemagicsim.ok +++ b/pysim-testdata/fakemagicsim.ok @@ -18,39 +18,40 @@ MSISDN: Not available AD: 000000 SIM Service Table: ff3fff0f0300f003000c - Service 1 - CHV1 disable function: True - Service 2 - Abbreviated Dialling Numbers (ADN): True - Service 3 - Fixed Dialling Numbers (FDN): True - Service 4 - Short Message Storage (SMS): True - Service 5 - Advice of Charge (AoC): True - Service 6 - Capability Configuration Parameters (CCP): True - Service 7 - PLMN selector: True - Service 8 - RFU: True - Service 9 - MSISDN: True - Service 10 - Extension1: True - Service 11 - Extension2: True - Service 12 - SMS Parameters: True - Service 13 - Last Number Dialled (LND): True - Service 14 - Cell Broadcast Message Identifier: True - Service 17 - Service Provider Name: True - Service 18 - Service Dialling Numbers (SDN): True - Service 19 - Extension3: True - Service 20 - RFU: True - Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS): True - Service 22 - VBS Group Identifier List (EFVBS and EFVBSS): True - Service 23 - enhanced Multi-Level Precedence and Pre-emption Service: True - Service 24 - Automatic Answer for eMLPP: True - Service 25 - Data download via SMS-CB: True - Service 26 - Data download via SMS-PP: True - Service 27 - Menu selection: True - Service 28 - Call control: True - Service 33 - De-personalization Control Keys: True - Service 34 - Co-operative Network List: True - Service 53 - Mailbox Dialling Numbers: True - Service 54 - Message Waiting Indication Status: True - Service 55 - Call Forwarding Indication Status: True - Service 56 - Service Provider Display Information: True - Service 57 - Multimedia Messaging Service (MMS): True - Service 58 - Extension 8: True + Service 1 - CHV1 disable function + Service 2 - Abbreviated Dialling Numbers (ADN) + Service 3 - Fixed Dialling Numbers (FDN) + Service 4 - Short Message Storage (SMS) + Service 5 - Advice of Charge (AoC) + Service 6 - Capability Configuration Parameters (CCP) + Service 7 - PLMN selector + Service 8 - RFU + Service 9 - MSISDN + Service 10 - Extension1 + Service 11 - Extension2 + Service 12 - SMS Parameters + Service 13 - Last Number Dialled (LND) + Service 14 - Cell Broadcast Message Identifier + Service 17 - Service Provider Name + Service 18 - Service Dialling Numbers (SDN) + Service 19 - Extension3 + Service 20 - RFU + Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS) + Service 22 - VBS Group Identifier List (EFVBS and EFVBSS) + Service 23 - enhanced Multi-Level Precedence and Pre-emption Service + Service 24 - Automatic Answer for eMLPP + Service 25 - Data download via SMS-CB + Service 26 - Data download via SMS-PP + Service 27 - Menu selection + Service 28 - Call control + Service 33 - De-personalization Control Keys + Service 34 - Co-operative Network List + Service 53 - Mailbox Dialling Numbers + Service 54 - Message Waiting Indication Status + Service 55 - Call Forwarding Indication Status + Service 56 - Service Provider Display Information + Service 57 - Multimedia Messaging Service (MMS) + Service 58 - Extension 8 + Done ! diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index 205cddf..f1acc16 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -56,48 +56,49 @@ MSISDN (NPI=1 ToN=1): +1234 AD: 00000002 SIM Service Table: ff33ffff3f003f0f300cf0c3f00000 - Service 1 - CHV1 disable function: True - Service 2 - Abbreviated Dialling Numbers (ADN): True - Service 3 - Fixed Dialling Numbers (FDN): True - Service 4 - Short Message Storage (SMS): True - Service 5 - Advice of Charge (AoC): True - Service 6 - Capability Configuration Parameters (CCP): True - Service 7 - PLMN selector: True - Service 8 - RFU: True - Service 9 - MSISDN: True - Service 10 - Extension1: True - Service 13 - Last Number Dialled (LND): True - Service 14 - Cell Broadcast Message Identifier: True - Service 17 - Service Provider Name: True - Service 18 - Service Dialling Numbers (SDN): True - Service 19 - Extension3: True - Service 20 - RFU: True - Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS): True - Service 22 - VBS Group Identifier List (EFVBS and EFVBSS): True - Service 23 - enhanced Multi-Level Precedence and Pre-emption Service: True - Service 24 - Automatic Answer for eMLPP: True - Service 25 - Data download via SMS-CB: True - Service 26 - Data download via SMS-PP: True - Service 27 - Menu selection: True - Service 28 - Call control: True - Service 29 - Proactive SIM: True - Service 30 - Cell Broadcast Message Identifier Ranges: True - Service 31 - Barred Dialling Numbers (BDN): True - Service 32 - Extension4: True - Service 33 - De-personalization Control Keys: True - Service 34 - Co-operative Network List: True - Service 35 - Short Message Status Reports: True - Service 36 - Network's indication of alerting in the MS: True - Service 37 - Mobile Originated Short Message control by SIM: True - Service 38 - GPRS: True - Service 49 - MExE: True - Service 50 - Reserved and shall be ignored: True - Service 51 - PLMN Network Name: True - Service 52 - Operator PLMN List: True - Service 53 - Mailbox Dialling Numbers: True - Service 54 - Message Waiting Indication Status: True - Service 57 - Multimedia Messaging Service (MMS): True - Service 58 - Extension 8: True - Service 59 - MMS User Connectivity Parameters: True + Service 1 - CHV1 disable function + Service 2 - Abbreviated Dialling Numbers (ADN) + Service 3 - Fixed Dialling Numbers (FDN) + Service 4 - Short Message Storage (SMS) + Service 5 - Advice of Charge (AoC) + Service 6 - Capability Configuration Parameters (CCP) + Service 7 - PLMN selector + Service 8 - RFU + Service 9 - MSISDN + Service 10 - Extension1 + Service 13 - Last Number Dialled (LND) + Service 14 - Cell Broadcast Message Identifier + Service 17 - Service Provider Name + Service 18 - Service Dialling Numbers (SDN) + Service 19 - Extension3 + Service 20 - RFU + Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS) + Service 22 - VBS Group Identifier List (EFVBS and EFVBSS) + Service 23 - enhanced Multi-Level Precedence and Pre-emption Service + Service 24 - Automatic Answer for eMLPP + Service 25 - Data download via SMS-CB + Service 26 - Data download via SMS-PP + Service 27 - Menu selection + Service 28 - Call control + Service 29 - Proactive SIM + Service 30 - Cell Broadcast Message Identifier Ranges + Service 31 - Barred Dialling Numbers (BDN) + Service 32 - Extension4 + Service 33 - De-personalization Control Keys + Service 34 - Co-operative Network List + Service 35 - Short Message Status Reports + Service 36 - Network's indication of alerting in the MS + Service 37 - Mobile Originated Short Message control by SIM + Service 38 - GPRS + Service 49 - MExE + Service 50 - Reserved and shall be ignored + Service 51 - PLMN Network Name + Service 52 - Operator PLMN List + Service 53 - Mailbox Dialling Numbers + Service 54 - Message Waiting Indication Status + Service 57 - Multimedia Messaging Service (MMS) + Service 58 - Extension 8 + Service 59 - MMS User Connectivity Parameters + Done ! diff --git a/pysim-testdata/sysmoUSIM-SJS1.ok b/pysim-testdata/sysmoUSIM-SJS1.ok index 89123a0..2244716 100644 --- a/pysim-testdata/sysmoUSIM-SJS1.ok +++ b/pysim-testdata/sysmoUSIM-SJS1.ok @@ -56,50 +56,51 @@ MSISDN (NPI=1 ToN=1): +77776336143 AD: 00000002 SIM Service Table: ff3fffff3f003f1ff00c00c0f00000 - Service 1 - CHV1 disable function: True - Service 2 - Abbreviated Dialling Numbers (ADN): True - Service 3 - Fixed Dialling Numbers (FDN): True - Service 4 - Short Message Storage (SMS): True - Service 5 - Advice of Charge (AoC): True - Service 6 - Capability Configuration Parameters (CCP): True - Service 7 - PLMN selector: True - Service 8 - RFU: True - Service 9 - MSISDN: True - Service 10 - Extension1: True - Service 11 - Extension2: True - Service 12 - SMS Parameters: True - Service 13 - Last Number Dialled (LND): True - Service 14 - Cell Broadcast Message Identifier: True - Service 17 - Service Provider Name: True - Service 18 - Service Dialling Numbers (SDN): True - Service 19 - Extension3: True - Service 20 - RFU: True - Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS): True - Service 22 - VBS Group Identifier List (EFVBS and EFVBSS): True - Service 23 - enhanced Multi-Level Precedence and Pre-emption Service: True - Service 24 - Automatic Answer for eMLPP: True - Service 25 - Data download via SMS-CB: True - Service 26 - Data download via SMS-PP: True - Service 27 - Menu selection: True - Service 28 - Call control: True - Service 29 - Proactive SIM: True - Service 30 - Cell Broadcast Message Identifier Ranges: True - Service 31 - Barred Dialling Numbers (BDN): True - Service 32 - Extension4: True - Service 33 - De-personalization Control Keys: True - Service 34 - Co-operative Network List: True - Service 35 - Short Message Status Reports: True - Service 36 - Network's indication of alerting in the MS: True - Service 37 - Mobile Originated Short Message control by SIM: True - Service 38 - GPRS: True - Service 49 - MExE: True - Service 50 - Reserved and shall be ignored: True - Service 51 - PLMN Network Name: True - Service 52 - Operator PLMN List: True - Service 53 - Mailbox Dialling Numbers: True - Service 54 - Message Waiting Indication Status: True - Service 57 - Multimedia Messaging Service (MMS): True - Service 58 - Extension 8: True - Service 59 - MMS User Connectivity Parameters: True + Service 1 - CHV1 disable function + Service 2 - Abbreviated Dialling Numbers (ADN) + Service 3 - Fixed Dialling Numbers (FDN) + Service 4 - Short Message Storage (SMS) + Service 5 - Advice of Charge (AoC) + Service 6 - Capability Configuration Parameters (CCP) + Service 7 - PLMN selector + Service 8 - RFU + Service 9 - MSISDN + Service 10 - Extension1 + Service 11 - Extension2 + Service 12 - SMS Parameters + Service 13 - Last Number Dialled (LND) + Service 14 - Cell Broadcast Message Identifier + Service 17 - Service Provider Name + Service 18 - Service Dialling Numbers (SDN) + Service 19 - Extension3 + Service 20 - RFU + Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS) + Service 22 - VBS Group Identifier List (EFVBS and EFVBSS) + Service 23 - enhanced Multi-Level Precedence and Pre-emption Service + Service 24 - Automatic Answer for eMLPP + Service 25 - Data download via SMS-CB + Service 26 - Data download via SMS-PP + Service 27 - Menu selection + Service 28 - Call control + Service 29 - Proactive SIM + Service 30 - Cell Broadcast Message Identifier Ranges + Service 31 - Barred Dialling Numbers (BDN) + Service 32 - Extension4 + Service 33 - De-personalization Control Keys + Service 34 - Co-operative Network List + Service 35 - Short Message Status Reports + Service 36 - Network's indication of alerting in the MS + Service 37 - Mobile Originated Short Message control by SIM + Service 38 - GPRS + Service 49 - MExE + Service 50 - Reserved and shall be ignored + Service 51 - PLMN Network Name + Service 52 - Operator PLMN List + Service 53 - Mailbox Dialling Numbers + Service 54 - Message Waiting Indication Status + Service 57 - Multimedia Messaging Service (MMS) + Service 58 - Extension 8 + Service 59 - MMS User Connectivity Parameters + Done ! diff --git a/pysim-testdata/sysmosim-gr1.ok b/pysim-testdata/sysmosim-gr1.ok index 39f5ff6..833ba83 100644 --- a/pysim-testdata/sysmosim-gr1.ok +++ b/pysim-testdata/sysmosim-gr1.ok @@ -18,37 +18,38 @@ MSISDN: Not available AD: 000000 SIM Service Table: ff3fff0f0f0000030000 - Service 1 - CHV1 disable function: True - Service 2 - Abbreviated Dialling Numbers (ADN): True - Service 3 - Fixed Dialling Numbers (FDN): True - Service 4 - Short Message Storage (SMS): True - Service 5 - Advice of Charge (AoC): True - Service 6 - Capability Configuration Parameters (CCP): True - Service 7 - PLMN selector: True - Service 8 - RFU: True - Service 9 - MSISDN: True - Service 10 - Extension1: True - Service 11 - Extension2: True - Service 12 - SMS Parameters: True - Service 13 - Last Number Dialled (LND): True - Service 14 - Cell Broadcast Message Identifier: True - Service 17 - Service Provider Name: True - Service 18 - Service Dialling Numbers (SDN): True - Service 19 - Extension3: True - Service 20 - RFU: True - Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS): True - Service 22 - VBS Group Identifier List (EFVBS and EFVBSS): True - Service 23 - enhanced Multi-Level Precedence and Pre-emption Service: True - Service 24 - Automatic Answer for eMLPP: True - Service 25 - Data download via SMS-CB: True - Service 26 - Data download via SMS-PP: True - Service 27 - Menu selection: True - Service 28 - Call control: True - Service 33 - De-personalization Control Keys: True - Service 34 - Co-operative Network List: True - Service 35 - Short Message Status Reports: True - Service 36 - Network's indication of alerting in the MS: True - Service 57 - Multimedia Messaging Service (MMS): True - Service 58 - Extension 8: True + Service 1 - CHV1 disable function + Service 2 - Abbreviated Dialling Numbers (ADN) + Service 3 - Fixed Dialling Numbers (FDN) + Service 4 - Short Message Storage (SMS) + Service 5 - Advice of Charge (AoC) + Service 6 - Capability Configuration Parameters (CCP) + Service 7 - PLMN selector + Service 8 - RFU + Service 9 - MSISDN + Service 10 - Extension1 + Service 11 - Extension2 + Service 12 - SMS Parameters + Service 13 - Last Number Dialled (LND) + Service 14 - Cell Broadcast Message Identifier + Service 17 - Service Provider Name + Service 18 - Service Dialling Numbers (SDN) + Service 19 - Extension3 + Service 20 - RFU + Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS) + Service 22 - VBS Group Identifier List (EFVBS and EFVBSS) + Service 23 - enhanced Multi-Level Precedence and Pre-emption Service + Service 24 - Automatic Answer for eMLPP + Service 25 - Data download via SMS-CB + Service 26 - Data download via SMS-PP + Service 27 - Menu selection + Service 28 - Call control + Service 33 - De-personalization Control Keys + Service 34 - Co-operative Network List + Service 35 - Short Message Status Reports + Service 36 - Network's indication of alerting in the MS + Service 57 - Multimedia Messaging Service (MMS) + Service 58 - Extension 8 + Done ! -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17897 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I375475e9f7210dae4e8da7258d6824dc2d54cf4c Gerrit-Change-Number: 17897 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth 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 Apr 29 09:10:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:10:56 +0000 Subject: Change in pysim[master]: Remove redundant functions In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17898 ) Change subject: Remove redundant functions ...................................................................... Remove redundant functions Change-Id: I2dfb5b662b8a4f351e4a629040b405c182e58e8d --- M pySim/cards.py M pySim/utils.py 2 files changed, 0 insertions(+), 30 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/cards.py b/pySim/cards.py index c0462fb..d2f1057 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -188,14 +188,6 @@ else: return (None, sw) - # Read SIM Service table - def read_sst(self): - (res, sw) = self._scc.read_binary(EF['SST']) - if sw == '9000': - return ((res, parse_st(res)), sw) - else: - return (None, sw) - # Read the (full) AID for either ISIM or USIM or ISIM application def read_aid(self, isim = False): diff --git a/pySim/utils.py b/pySim/utils.py index be670e9..56f9706 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -326,28 +326,6 @@ return ('%02x' % bcd_len) + ('%02x' % npi_ton) + bcd -def parse_st(st): - """ - Parses the EF S/U/IST and returns available/supported services - """ - st_bytes = [st[i:i+2] for i in range(0, len(st), 2) ] - avail_srvc = [] - # Get each byte and check for available services - for i in range(0, len(st_bytes)): - # Byte i contains info about Services num (8i+1) to num (8i+8) - byte = int(st_bytes[i], 16) - # Services in each byte are in order MSB to LSB - # MSB - Service (8i+8) - # LSB - Service (8i+1) - for j in range(1, 9): - if byte&0x01 == 0x01: - # Byte X contains info about Services num (8X-7) to num (8X) - # bit = 1: service available - # bit = 0: service not available - avail_srvc.append((8*i) + j) - byte = byte >> 1 - return avail_srvc - def dec_st(st, table="sim"): """ Parses the EF S/U/IST and prints the list of available services in EF S/U/IST -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2dfb5b662b8a4f351e4a629040b405c182e58e8d Gerrit-Change-Number: 17898 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth 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 Apr 29 09:10:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:10:57 +0000 Subject: Change in pysim[master]: Enable parsing of USIM Service table (UST) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17879 ) Change subject: Enable parsing of USIM Service table (UST) ...................................................................... Enable parsing of USIM Service table (UST) As per TS.31.102, This EF indicates which USIM services are available. If a service is not indicated as available in the USIM, the ME shall not select this service. Parsing of UST is achieved by first selecting the USIM application using its AID. This is followed by selecting EF.UST with File ID - 6f38 in ADF.USIM Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 --- M pySim-read.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 5 files changed, 166 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index 7557201..4551e82 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -29,6 +29,7 @@ import re import sys from pySim.ts_51_011 import EF, DF, EF_SST_map +from pySim.ts_31_102 import EF_UST_map from pySim.commands import SimCardCommands from pySim.cards import card_detect, Card @@ -242,5 +243,17 @@ else: print("SIM Service Table: Can't read, response code = %s" % (sw,)) + # Check whether we have th AID of USIM, if so select it by its AID + # EF.UST - File Id in ADF USIM : 6f38 + if '9000' == card.select_adf_by_aid(): + # EF.UST + (res, sw) = card.read_binary('6f38') + if sw == '9000': + print("USIM Service Table: %s" % res) + # Print those which are available + print("%s" % dec_st(res, table="usim")) + else: + print("USIM Service Table: Can't read, response code = %s" % (sw,)) + # Done for this card and maybe for everything ? print("Done !\n") diff --git a/pysim-testdata/Fairwaves-SIM.ok b/pysim-testdata/Fairwaves-SIM.ok index 9df44fd..0dbd89f 100644 --- a/pysim-testdata/Fairwaves-SIM.ok +++ b/pysim-testdata/Fairwaves-SIM.ok @@ -86,5 +86,33 @@ Service 58 - Extension 8 Service 59 - MMS User Connectivity Parameters +USIM Service Table: 01ea1ffc21360480010000 + Service 1 - Local Phone Book + Service 10 - Short Message Storage (SMS) + Service 12 - Short Message Service Parameters (SMSP) + Service 14 - Capability Configuration Parameters 2 (CCP2) + Service 15 - Cell Broadcast Message Identifier + Service 16 - Cell Broadcast Message Identifier Ranges + Service 17 - Group Identifier Level 1 + Service 18 - Group Identifier Level 2 + Service 19 - Service Provider Name + Service 20 - User controlled PLMN selector with Access Technology + Service 21 - MSISDN + Service 27 - GSM Access + Service 28 - Data download via SMS-PP + Service 29 - Data download via SMS-CB + Service 30 - Call Control by USIM + Service 31 - MO-SMS Control by USIM + Service 32 - RUN AT COMMAND command + Service 33 - shall be set to 1 + Service 38 - GSM security context + Service 42 - Operator controlled PLMN selector with Access Technology + Service 43 - HPLMN selector with Access Technology + Service 45 - PLMN Network Name + Service 46 - Operator PLMN List + Service 51 - Service Provider Display Information + Service 64 - VGCS security + Service 65 - VBS security + Done ! diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok index 01ba6b7..2de0892 100644 --- a/pysim-testdata/Wavemobile-SIM.ok +++ b/pysim-testdata/Wavemobile-SIM.ok @@ -91,5 +91,44 @@ Service 58 - Extension 8 Service 59 - MMS User Connectivity Parameters +USIM Service Table: 9eff1b3c37fe5900000000 + Service 2 - Fixed Dialling Numbers (FDN) + Service 3 - Extension 2 + Service 4 - Service Dialling Numbers (SDN) + Service 5 - Extension3 + Service 8 - Outgoing Call Information (OCI and OCT) + Service 9 - Incoming Call Information (ICI and ICT) + Service 10 - Short Message Storage (SMS) + Service 11 - Short Message Status Reports (SMSR) + Service 12 - Short Message Service Parameters (SMSP) + Service 13 - Advice of Charge (AoC) + Service 14 - Capability Configuration Parameters 2 (CCP2) + Service 15 - Cell Broadcast Message Identifier + Service 16 - Cell Broadcast Message Identifier Ranges + Service 17 - Group Identifier Level 1 + Service 18 - Group Identifier Level 2 + Service 20 - User controlled PLMN selector with Access Technology + Service 21 - MSISDN + Service 27 - GSM Access + Service 28 - Data download via SMS-PP + Service 29 - Data download via SMS-CB + Service 30 - Call Control by USIM + Service 33 - shall be set to 1 + Service 34 - Enabled Services Table + Service 35 - APN Control List (ACL) + Service 37 - Co-operative Network List + Service 38 - GSM security context + Service 42 - Operator controlled PLMN selector with Access Technology + Service 43 - HPLMN selector with Access Technology + Service 44 - Extension 5 + Service 45 - PLMN Network Name + Service 46 - Operator PLMN List + Service 47 - Mailbox Dialling Numbers + Service 48 - Message Waiting Indication Status + Service 49 - Call Forwarding Indication Status + Service 52 - Multimedia Messaging Service (MMS) + Service 53 - Extension 8 + Service 55 - MMS User Connectivity Parameters + Done ! diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index f1acc16..80045cf 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -100,5 +100,55 @@ Service 58 - Extension 8 Service 59 - MMS User Connectivity Parameters +USIM Service Table: beff9f9de73e0408400170730000002e00000000 + Service 2 - Fixed Dialling Numbers (FDN) + Service 3 - Extension 2 + Service 4 - Service Dialling Numbers (SDN) + Service 5 - Extension3 + Service 6 - Barred Dialling Numbers (BDN) + Service 8 - Outgoing Call Information (OCI and OCT) + Service 9 - Incoming Call Information (ICI and ICT) + Service 10 - Short Message Storage (SMS) + Service 11 - Short Message Status Reports (SMSR) + Service 12 - Short Message Service Parameters (SMSP) + Service 13 - Advice of Charge (AoC) + Service 14 - Capability Configuration Parameters 2 (CCP2) + Service 15 - Cell Broadcast Message Identifier + Service 16 - Cell Broadcast Message Identifier Ranges + Service 17 - Group Identifier Level 1 + Service 18 - Group Identifier Level 2 + Service 19 - Service Provider Name + Service 20 - User controlled PLMN selector with Access Technology + Service 21 - MSISDN + Service 24 - Enhanced Multi-Level Precedence and Pre-emption Service + Service 25 - Automatic Answer for eMLPP + Service 27 - GSM Access + Service 28 - Data download via SMS-PP + Service 29 - Data download via SMS-CB + Service 32 - RUN AT COMMAND command + Service 33 - shall be set to 1 + Service 34 - Enabled Services Table + Service 35 - APN Control List (ACL) + Service 38 - GSM security context + Service 39 - CPBCCH Information + Service 40 - Investigation Scan + Service 42 - Operator controlled PLMN selector with Access Technology + Service 43 - HPLMN selector with Access Technology + Service 44 - Extension 5 + Service 45 - PLMN Network Name + Service 46 - Operator PLMN List + Service 51 - Service Provider Display Information + Service 60 - User Controlled PLMN selector for I-WLAN access + Service 71 - Equivalent HPLMN + Service 73 - Equivalent HPLMN Presentation Indication + Service 85 - EPS Mobility Management Information + Service 86 - Allowed CSG Lists and corresponding indications + Service 87 - Call control on EPS PDN connection by USIM + Service 89 - eCall Data + Service 90 - Operator CSG Lists and corresponding indications + Service 93 - Communication Control for IMS by USIM + Service 94 - Extended Terminal Applications + Service 95 - Support of UICC access to IMS + Done ! diff --git a/pysim-testdata/sysmoUSIM-SJS1.ok b/pysim-testdata/sysmoUSIM-SJS1.ok index 2244716..408f211 100644 --- a/pysim-testdata/sysmoUSIM-SJS1.ok +++ b/pysim-testdata/sysmoUSIM-SJS1.ok @@ -102,5 +102,41 @@ Service 58 - Extension 8 Service 59 - MMS User Connectivity Parameters +USIM Service Table: 9e6b1dfc67f6580000 + Service 2 - Fixed Dialling Numbers (FDN) + Service 3 - Extension 2 + Service 4 - Service Dialling Numbers (SDN) + Service 5 - Extension3 + Service 8 - Outgoing Call Information (OCI and OCT) + Service 9 - Incoming Call Information (ICI and ICT) + Service 10 - Short Message Storage (SMS) + Service 12 - Short Message Service Parameters (SMSP) + Service 14 - Capability Configuration Parameters 2 (CCP2) + Service 15 - Cell Broadcast Message Identifier + Service 17 - Group Identifier Level 1 + Service 19 - Service Provider Name + Service 20 - User controlled PLMN selector with Access Technology + Service 21 - MSISDN + Service 27 - GSM Access + Service 28 - Data download via SMS-PP + Service 29 - Data download via SMS-CB + Service 30 - Call Control by USIM + Service 31 - MO-SMS Control by USIM + Service 32 - RUN AT COMMAND command + Service 33 - shall be set to 1 + Service 34 - Enabled Services Table + Service 35 - APN Control List (ACL) + Service 38 - GSM security context + Service 39 - CPBCCH Information + Service 42 - Operator controlled PLMN selector with Access Technology + Service 43 - HPLMN selector with Access Technology + Service 45 - PLMN Network Name + Service 46 - Operator PLMN List + Service 47 - Mailbox Dialling Numbers + Service 48 - Message Waiting Indication Status + Service 52 - Multimedia Messaging Service (MMS) + Service 53 - Extension 8 + Service 55 - MMS User Connectivity Parameters + Done ! -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 Gerrit-Change-Number: 17879 Gerrit-PatchSet: 8 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth 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 Wed Apr 29 09:10:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:10:58 +0000 Subject: Change in pysim[master]: Define mapping between ISIM Service Number and its description In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17881 ) Change subject: Define mapping between ISIM Service Number and its description ...................................................................... Define mapping between ISIM Service Number and its description This commit introduces a lookup table which maps ISIM Service Number to its description. The mapping is defined in 3GPP TS 31.103 version 14.2.0 Release 14, 4.2.7 EF.IST (ISIM Service Table) Change-Id: Iad51d0804259df47729308b461062f794b135e66 --- A pySim/ts_31_103.py 1 file changed, 46 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/ts_31_103.py b/pySim/ts_31_103.py new file mode 100644 index 0000000..7fb984d --- /dev/null +++ b/pySim/ts_31_103.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +Various constants from ETSI TS 131 103 V14.2.0 +""" + +# +# Copyright (C) 2020 Supreeth Herle +# +# 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 . +# + +# Mapping between ISIM Service Number and its description +EF_IST_map = { + 1: 'P-CSCF address', + 2: 'Generic Bootstrapping Architecture (GBA)', + 3: 'HTTP Digest', + 4: 'GBA-based Local Key Establishment Mechanism', + 5: 'Support of P-CSCF discovery for IMS Local Break Out', + 6: 'Short Message Storage (SMS)', + 7: 'Short Message Status Reports (SMSR)', + 8: 'Support for SM-over-IP including data download via SMS-PP as defined in TS 31.111 [31]', + 9: 'Communication Control for IMS by ISIM', + 10: 'Support of UICC access to IMS', + 11: 'URI support by UICC', + 12: 'Media Type support', + 13: 'IMS call disconnection cause', + 14: 'URI support for MO SHORT MESSAGE CONTROL', + 15: 'MCPTT', + 16: 'URI support for SMS-PP DOWNLOAD as defined in 3GPP TS 31.111 [31]', + 17: 'From Preferred', + 18: 'IMS configuration data', + 19: 'XCAP Configuration Data' +} -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iad51d0804259df47729308b461062f794b135e66 Gerrit-Change-Number: 17881 Gerrit-PatchSet: 4 Gerrit-Owner: herlesupreeth 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 Wed Apr 29 09:10:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:10:59 +0000 Subject: Change in pysim[master]: Extend parsing and printing of Service table to ISIM In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17899 ) Change subject: Extend parsing and printing of Service table to ISIM ...................................................................... Extend parsing and printing of Service table to ISIM Change-Id: I7657432df76e9de5e4e5fdecfd717d8363de8270 --- M pySim/utils.py 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/utils.py b/pySim/utils.py index 56f9706..1980685 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -331,7 +331,10 @@ Parses the EF S/U/IST and prints the list of available services in EF S/U/IST """ - if table == "usim": + if table == "isim": + from pySim.ts_31_103 import EF_IST_map + lookup_map = EF_IST_map + elif table == "usim": from pySim.ts_31_102 import EF_UST_map lookup_map = EF_UST_map else: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7657432df76e9de5e4e5fdecfd717d8363de8270 Gerrit-Change-Number: 17899 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth 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 Apr 29 09:10:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:10:59 +0000 Subject: Change in pysim[master]: Enable parsing of ISIM Service table (IST) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17882 ) Change subject: Enable parsing of ISIM Service table (IST) ...................................................................... Enable parsing of ISIM Service table (IST) As per TS 31.103, This EF indicates which ISIM services are available. If a service is not indicated as available in the ISIM, the ME shall not select this service. Parsing of IST is achieved by first selecting the ISIM application using its AID. This is followed by selecting EF.IST with File ID - 6f07 in ADF.ISIM Change-Id: I3f0a7227360b72a707dc1bcc4cc9c8a4ec7ad2b2 --- M pySim-read.py M pysim-testdata/sysmoISIM-SJA2.ok 2 files changed, 19 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index 4551e82..33e93a7 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -30,6 +30,7 @@ import sys from pySim.ts_51_011 import EF, DF, EF_SST_map from pySim.ts_31_102 import EF_UST_map +from pySim.ts_31_103 import EF_IST_map from pySim.commands import SimCardCommands from pySim.cards import card_detect, Card @@ -255,5 +256,17 @@ else: print("USIM Service Table: Can't read, response code = %s" % (sw,)) + # Check whether we have th AID of ISIM, if so select it by its AID + # EF.IST - File Id in ADF ISIM : 6f07 + if '9000' == card.select_adf_by_aid(adf="isim"): + # EF.IST + (res, sw) = card.read_binary('6f07') + if sw == '9000': + print("ISIM Service Table: %s" % res) + # Print those which are available + print("%s" % dec_st(res, table="isim")) + else: + print("ISIM Service Table: Can't read, response code = %s" % (sw,)) + # Done for this card and maybe for everything ? print("Done !\n") diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index 80045cf..afc4491 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -150,5 +150,11 @@ Service 94 - Extended Terminal Applications Service 95 - Support of UICC access to IMS +ISIM Service Table: 190200 + Service 1 - P-CSCF address + Service 4 - GBA-based Local Key Establishment Mechanism + Service 5 - Support of P-CSCF discovery for IMS Local Break Out + Service 10 - Support of UICC access to IMS + Done ! -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3f0a7227360b72a707dc1bcc4cc9c8a4ec7ad2b2 Gerrit-Change-Number: 17882 Gerrit-PatchSet: 5 Gerrit-Owner: herlesupreeth 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 Wed Apr 29 09:11:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:11:20 +0000 Subject: Change in docker-playground[master]: open5gs: Add pgw.sh In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17955 ) Change subject: open5gs: Add pgw.sh ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17955 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I4527b5e328fb248552e69961b80b9f791ec74293 Gerrit-Change-Number: 17955 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 29 Apr 2020 09:11: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 Apr 29 09:11:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 09:11:23 +0000 Subject: Change in docker-playground[master]: open5gs: Add pgw.sh In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17955 ) Change subject: open5gs: Add pgw.sh ...................................................................... open5gs: Add pgw.sh This can serve as an entrypoint for running open5gs-pgw inside the open5gs-master container. It will run setup.sh to create the ogstun device, followed by running open5gs-pgwd as 'osmocom' user. Change-Id: I4527b5e328fb248552e69961b80b9f791ec74293 --- M open5gs-master/Dockerfile A open5gs-master/pgw.sh M open5gs-master/setup.sh 3 files changed, 6 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/open5gs-master/Dockerfile b/open5gs-master/Dockerfile index 1bfc7cb..37344cf 100644 --- a/open5gs-master/Dockerfile +++ b/open5gs-master/Dockerfile @@ -44,6 +44,7 @@ apt-get clean COPY setup.sh /root +COPY pgw.sh /root # crate user ARG username=osmocom diff --git a/open5gs-master/pgw.sh b/open5gs-master/pgw.sh new file mode 100755 index 0000000..3286256 --- /dev/null +++ b/open5gs-master/pgw.sh @@ -0,0 +1,5 @@ +#!/bin/sh +set -e +set -x +/root/setup.sh +su - osmocom -c "open5gs-pgwd $*" diff --git a/open5gs-master/setup.sh b/open5gs-master/setup.sh old mode 100644 new mode 100755 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17955 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I4527b5e328fb248552e69961b80b9f791ec74293 Gerrit-Change-Number: 17955 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 Wed Apr 29 09:17:08 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 29 Apr 2020 09:17:08 +0000 Subject: Change in osmo-bsc[master]: VTY: make configurable: T23002, T23005, T23006 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17973 ) Change subject: VTY: make configurable: T23002, T23005, T23006 ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I637fcdde93c11158de46157d494c060bb36bdcfb Gerrit-Change-Number: 17973 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 29 Apr 2020 09:17: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 Wed Apr 29 10:09:19 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 29 Apr 2020 10:09:19 +0000 Subject: Change in mncc-python[master]: GsmCallFsm: permit MNCC_REL_CNF in any state In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17410 ) Change subject: GsmCallFsm: permit MNCC_REL_CNF in any state ...................................................................... Patch Set 3: (1 comment) This change is ready for review. https://gerrit.osmocom.org/c/mncc-python/+/17410/2/gsm_call_fsm.py File gsm_call_fsm.py: https://gerrit.osmocom.org/c/mncc-python/+/17410/2/gsm_call_fsm.py at 183 PS2, Line 183: ('mncc_rel_cnf', ['RELEASE_REQUEST','ACTIVE'], 'NULL'), > actually, it seesm depending on the type of failure in the MSC, MGW or BSC, we may expect MNCC_REL_C [?] Done -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I0d65da82fbcc48c8967a65b917ea14121bd941f3 Gerrit-Change-Number: 17410 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 29 Apr 2020 10:09:19 +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 Wed Apr 29 10:10:23 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 29 Apr 2020 10:10:23 +0000 Subject: Change in mncc-python[master]: GsmCallFsm: permit MNCC_REL_CNF in any state In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17410 ) Change subject: GsmCallFsm: permit MNCC_REL_CNF in any state ...................................................................... Patch Set 3: I just realized... there is also '*'. I'll update the patch to use that instead. -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I0d65da82fbcc48c8967a65b917ea14121bd941f3 Gerrit-Change-Number: 17410 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 29 Apr 2020 10:10: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 Wed Apr 29 10:13:22 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 29 Apr 2020 10:13:22 +0000 Subject: Change in mncc-python[master]: GsmCallFsm: permit MNCC_REL_CNF in any state In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17410 ) Change subject: GsmCallFsm: permit MNCC_REL_CNF in any state ...................................................................... Patch Set 4: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I0d65da82fbcc48c8967a65b917ea14121bd941f3 Gerrit-Change-Number: 17410 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Assignee: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 29 Apr 2020 10:13: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 Apr 29 11:26:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 29 Apr 2020 11:26:37 +0000 Subject: Change in libosmo-abis[master]: src/input/ipaccess.c: set TCP_NODELAY In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17972 ) Change subject: src/input/ipaccess.c: set TCP_NODELAY ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/libosmo-abis/+/17972/1/src/input/ipaccess.c File src/input/ipaccess.c: https://gerrit.osmocom.org/c/libosmo-abis/+/17972/1/src/input/ipaccess.c at 314 PS1, Line 314: FIXME: just call update_fd_settings() here instead? > Can somebody more familiar with libosmo-abis advise me, if it would be better to call update_fd_sett [?] Why is the setsockopt call needed here anyway? I don't see any new socket being created, only an osmo_fd wrapper for an already existing socket. I think we need to drop this call or move it near to where the socket is created if required. https://gerrit.osmocom.org/c/libosmo-abis/+/17972/1/src/input/ipaccess.c at 600 PS1, Line 600: ret = setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &val, sizeof(val)); update_fd_settings() is called to set line specific params to an already existing socket (I have my doubts current use and places wher eit is used makes sense, but anyway). In this case, we want to set TCP_NODEL on OML and RSL sockets ALWAYS. So simply move the call nexto where the socket fds are created. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17972 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia3d4c41bf0659e682f0b7ae5f3d58ed0f28edb58 Gerrit-Change-Number: 17972 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 29 Apr 2020 11:26:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes 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 Apr 29 11:33:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 29 Apr 2020 11:33:26 +0000 Subject: Change in osmo-bsc[master]: VTY: make configurable: T23002, T23005, T23006 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17973 ) Change subject: VTY: make configurable: T23002, T23005, T23006 ...................................................................... Patch Set 3: Code-Review+1 where is that default value of 5 taken from? (the one for non defined timers). -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I637fcdde93c11158de46157d494c060bb36bdcfb Gerrit-Change-Number: 17973 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 29 Apr 2020 11:33: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 Apr 29 11:34:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 29 Apr 2020 11:34:18 +0000 Subject: Change in mncc-python[master]: GsmCallFsm: permit MNCC_REL_CNF in any state In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17410 ) Change subject: GsmCallFsm: permit MNCC_REL_CNF in any state ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I0d65da82fbcc48c8967a65b917ea14121bd941f3 Gerrit-Change-Number: 17410 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Assignee: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 29 Apr 2020 11:34: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 Apr 29 12:00:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 29 Apr 2020 12:00:15 +0000 Subject: Change in mncc-python[master]: GsmCallFsm: permit MNCC_REL_CNF in any state In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17410 ) Change subject: GsmCallFsm: permit MNCC_REL_CNF in any state ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I0d65da82fbcc48c8967a65b917ea14121bd941f3 Gerrit-Change-Number: 17410 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Assignee: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 29 Apr 2020 12:00: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 Wed Apr 29 12:03:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 29 Apr 2020 12:03:50 +0000 Subject: Change in osmo-bsc[master]: VTY: make configurable: T23002, T23005, T23006 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17973 ) Change subject: VTY: make configurable: T23002, T23005, T23006 ...................................................................... Patch Set 3: Maybe we should make those timer numbers negative before exposing them to the user? So there will be no confusion whether they're Osmocom-specific or defined by 3GPP. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I637fcdde93c11158de46157d494c060bb36bdcfb Gerrit-Change-Number: 17973 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 29 Apr 2020 12:03:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Apr 29 12:20:28 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 29 Apr 2020 12:20:28 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ea97152ede0a_97e2b20445445f416342f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 567s] ^~~~~~~~~~~~~~~~~~~ [ 567s] main.c: In function 'main': [ 567s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 567s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 567s] ^~~~~~~~~~~~~~~~~~~ [ 567s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 567s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 567s] ^ [ 567s] cc1: some warnings being treated as errors [ 567s] Makefile:469: recipe for target 'main.o' failed [ 567s] make[3]: *** [main.o] Error 1 [ 567s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 567s] Makefile:402: recipe for target 'all-recursive' failed [ 567s] make[2]: *** [all-recursive] Error 1 [ 567s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 567s] Makefile:349: recipe for target 'all' failed [ 567s] make[1]: *** [all] Error 2 [ 567s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 567s] dh_auto_build: make -j1 returned exit code 2 [ 567s] debian/rules:45: recipe for target 'build' failed [ 567s] make: *** [build] Error 2 [ 567s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 567s] ### VM INTERACTION START ### [ 570s] [ 515.002558] sysrq: SysRq : Power Off [ 570s] [ 515.005016] reboot: Power down [ 570s] ### VM INTERACTION END ### [ 570s] [ 570s] armbuild14 failed "build osmo-uecups_0.1.3.1.8362.dsc" at Wed Apr 29 12:20:24 UTC 2020. [ 570s] -- 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 Apr 29 12:40:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 29 Apr 2020 12:40:02 +0000 Subject: Change in osmo-bsc[master]: VTY: make configurable: T23002, T23005, T23006 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17973 ) Change subject: VTY: make configurable: T23002, T23005, T23006 ...................................................................... Patch Set 3: > Patch Set 3: > > Maybe we should make those timer numbers negative before exposing them to the user? So there will be no confusion whether they're Osmocom-specific or defined by 3GPP. Indeed if they are not defined in specs then they should be negative. I took that for granted but maybe it's not the case. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I637fcdde93c11158de46157d494c060bb36bdcfb Gerrit-Change-Number: 17973 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 29 Apr 2020 12:40:02 +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 Apr 29 12:58:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 29 Apr 2020 12:58:32 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: Change default for clock_advance to 3 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17766 ) Change subject: osmo-bts-trx: Change default for clock_advance to 3 ...................................................................... Patch Set 1: Code-Review-1 YOu are missing to update the documentation (and probably vty config). doc/manuals/chapters/bts-models.adoc: "The default value for `fn-advance` is 20 (corresponding to 92 milliseconds)." -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7da3d0948f38e12342fb714b29f8edc5e9d0933d Gerrit-Change-Number: 17766 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 29 Apr 2020 12:58: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 Apr 29 13:22:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 29 Apr 2020 13:22:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Rename PCU*RAW* content to PCU References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17975 ) Change subject: pcu: Rename PCU*RAW* content to PCU ...................................................................... pcu: Rename PCU*RAW* content to PCU Basically what's done here: * mv PCU_Tests_RAW${suffix}.ttcn -> PCU_Tests${suffix}.ttcn * mv PCUIF_RAW_Components.ttcn -> PCUIF_Components.ttcn * Change module names according to file names and fix all references in code and configuration. Change-Id: Iacaddb56e41012ba58ef6d1b9e79d2c012259bed --- R pcu/PCUIF_Components.ttcn M pcu/PCU_Tests.cfg M pcu/PCU_Tests.ttcn R pcu/PCU_Tests_NS.ttcn D pcu/PCU_Tests_RAW.ttcn M pcu/PCU_Tests_SNS.cfg R pcu/PCU_Tests_SNS.ttcn M pcu/README.md 8 files changed, 1,913 insertions(+), 1,915 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/75/17975/1 diff --git a/pcu/PCUIF_RAW_Components.ttcn b/pcu/PCUIF_Components.ttcn similarity index 99% rename from pcu/PCUIF_RAW_Components.ttcn rename to pcu/PCUIF_Components.ttcn index 4ed57e5..c0266fb 100644 --- a/pcu/PCUIF_RAW_Components.ttcn +++ b/pcu/PCUIF_Components.ttcn @@ -1,4 +1,4 @@ -module PCUIF_RAW_Components { +module PCUIF_Components { /* * Components for (RAW) PCU test cases. diff --git a/pcu/PCU_Tests.cfg b/pcu/PCU_Tests.cfg index 692ebbd..db6f56e 100644 --- a/pcu/PCU_Tests.cfg +++ b/pcu/PCU_Tests.cfg @@ -21,5 +21,5 @@ [MAIN_CONTROLLER] [EXECUTE] -PCU_Tests_RAW.control -PCU_Tests_RAW_NS.control +PCU_Tests.control +PCU_Tests_NS.control diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 43a6178..24c198e 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1,2 +1,1906 @@ module PCU_Tests { + +/* "RAW" PCU tests: Talk directly to the PCU socket of OsmoPCU on the one hand side (emulating + the BTS/BSC side PCU socket server) and the Gb interface on the other hand side. No NS/BSSGP + Emulation is used; rather, we simply use the NS_CodecPort to implement both standard and non- + standard procedures on the NS and BSSGP level. The goal of these tests is to test exactly + those NS and BSSGP implementations on the BSS (PCU) side. */ + +/* (C) 2018-2019 Harald Welte + * (C) 2019 Vadim Yanitskiy + * 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 + */ + +friend module PCU_Tests_NS; + +import from General_Types all; +import from Osmocom_Types all; +import from GSM_Types all; +import from GSM_RR_Types all; + +import from Osmocom_VTY_Functions all; +import from TELNETasp_PortType all; + +import from MobileL3_GMM_SM_Types all; +import from RLCMAC_CSN1_Types all; +import from RLCMAC_Types all; + +import from MobileL3_CommonIE_Types all; +import from L3_Templates all; + +import from NS_Types all; +import from BSSGP_Types all; +import from Osmocom_Gb_Types all; + +import from BSSGP_Emulation all; /* BssgpConfig */ +import from NS_Emulation all; /* NSConfiguration */ + +import from UD_Types all; +import from PCUIF_Types all; +import from PCUIF_CodecPort all; +import from PCUIF_Components all; +import from IPL4asp_Types all; +import from Native_Functions all; +import from SGSN_Components all; + +modulepar { + charstring mp_pcu_sock_path := PCU_SOCK_DEFAULT; + + float X2002 := 0.2; /* Timer -2002, IMM ASSIGN confirm delay */ +} + + +/* FIXME: make sure to use parameters from mp_gb_cfg.cell_id in the PCU INFO IND */ +private template (value) PCUIF_info_ind ts_PCUIF_INFO_default := { + version := PCU_IF_VERSION, + flags := c_PCUIF_Flags_default, + trx := valueof(ts_PCUIF_InfoTrxs_def), + bsic := 7, + mcc := 262, + mnc := 42, + mnc_3_digits := 0, + lac := 13135, + rac := 0, + nsei := mp_nsconfig.nsei, + nse_timer := { 3, 3, 3, 3, 30, 3, 10 }, + cell_timer := { 3, 3, 3, 3, 3, 10, 3, 10, 3, 10, 3 }, + cell_id := 20960, + repeat_time := 5 * 50, + repeat_count := 3, + bvci := mp_gb_cfg.bvci, + t3142 := 20, + t3169 := 5, + t3191 := 5, + t3193_10ms := 160, + t3195 := 5, + t3101 := 10, + t3103 := 4, + t3105 := 8, + cv_countdown := 15, + dl_tbf_ext := 250 * 10, /* ms */ + ul_tbf_ext := 250 * 10, /* ms */ + initial_cs := 2, + initial_mcs := 6, + nsvci := { mp_nsconfig.nsvci, 0 }, + local_pprt := { mp_nsconfig.remote_udp_port, 0 }, + remote_port := { mp_nsconfig.local_udp_port, 0 }, + remote_ip := { f_inet_haddr(mp_nsconfig.local_ip) , '00000000'O } +} + +type record lqual_range { + /* component reference to the IPA_Client component used for RSL */ + uint8_t low, + uint8_t high +} + +type component RAW_PCU_Test_CT extends bssgp_CT { + /* Connection to the BTS component (one for now) */ + port RAW_PCU_MSG_PT BTS; + /* Connection to the PCUIF component */ + port RAW_PCU_MSG_PT PCUIF; + /* VTY connection to the PCU */ + port TELNETasp_PT PCUVTY; + + /* Uplink CS/MCS thresholds, default from pcu_main.c: */ + var lqual_range g_cs_lqual_ranges[4] := {{low := 0, high := 6}, + {low := 5, high := 8}, + {low := 7, high := 13}, + {low := 12,high := 35}}; + var lqual_range g_mcs_lqual_ranges[9] := {{low := 0, high := 6}, + {low := 5, high := 8}, + {low := 7, high := 13}, + {low := 12,high := 15}, + {low := 14, high := 17}, + {low := 16, high := 18}, + {low := 17,high := 20}, + {low := 19, high := 24}, + {low := 23,high := 35}}; + var uint8_t g_cs_initial_dl := 1; + var uint8_t g_cs_initial_ul := 1; + var uint8_t g_mcs_initial_dl := 1; + var uint8_t g_mcs_initial_ul := 1; + var uint8_t g_cs_max_dl := 4; + var uint8_t g_cs_max_ul := 4; + var uint8_t g_mcs_max_dl := 9; + var uint8_t g_mcs_max_ul := 9; + + var boolean g_egprs_only := false; + + /* Guard timeout */ + timer g_T_guard := 60.0; +}; + +private altstep as_Tguard_RAW() runs on RAW_PCU_Test_CT { + [] g_T_guard.timeout { + setverdict(fail, "Timeout of T_guard"); + mtc.stop; + } +} + +private function f_pcuvty_set_allowed_cs_mcs() runs on RAW_PCU_Test_CT { + f_vty_config2(PCUVTY, {"pcu"}, "cs " & int2str(g_cs_initial_dl) & " " & int2str(g_cs_initial_ul)); + f_vty_config2(PCUVTY, {"pcu"}, "cs max " & int2str(g_cs_max_dl) & " " & int2str(g_cs_max_ul)); + + f_vty_config2(PCUVTY, {"pcu"}, "mcs " & int2str(g_mcs_initial_dl) & " " & int2str(g_mcs_initial_ul)); + f_vty_config2(PCUVTY, {"pcu"}, "mcs max " & int2str(g_mcs_max_dl) & " " & int2str(g_mcs_max_ul)); +} + +private function f_pcuvty_set_link_quality_ranges() runs on RAW_PCU_Test_CT { + var charstring cmd; + + cmd := "cs link-quality-ranges" & + " cs1 " & int2str(g_cs_lqual_ranges[0].high) & + " cs2 " & int2str(g_cs_lqual_ranges[1].low) & " " & int2str(g_cs_lqual_ranges[1].high) & + " cs3 " & int2str(g_cs_lqual_ranges[2].low) & " " & int2str(g_cs_lqual_ranges[2].high) & + " cs4 " & int2str(g_cs_lqual_ranges[3].low); + f_vty_config2(PCUVTY, {"pcu"}, cmd); + + cmd := "mcs link-quality-ranges" & + " mcs1 " & int2str(g_mcs_lqual_ranges[0].high) & + " mcs2 " & int2str(g_mcs_lqual_ranges[1].low) & " " & int2str(g_mcs_lqual_ranges[1].high) & + " mcs3 " & int2str(g_mcs_lqual_ranges[2].low) & " " & int2str(g_mcs_lqual_ranges[2].high) & + " mcs4 " & int2str(g_mcs_lqual_ranges[3].low) & " " & int2str(g_mcs_lqual_ranges[3].high) & + " mcs5 " & int2str(g_mcs_lqual_ranges[4].low) & " " & int2str(g_mcs_lqual_ranges[4].high) & + " mcs6 " & int2str(g_mcs_lqual_ranges[5].low) & " " & int2str(g_mcs_lqual_ranges[5].high) & + " mcs7 " & int2str(g_mcs_lqual_ranges[6].low) & " " & int2str(g_mcs_lqual_ranges[6].high) & + " mcs8 " & int2str(g_mcs_lqual_ranges[7].low) & " " & int2str(g_mcs_lqual_ranges[7].high) & + " mcs9 " & int2str(g_mcs_lqual_ranges[8].low); + f_vty_config2(PCUVTY, {"pcu"}, cmd); +} + +private function f_init_vty(charstring id) runs on RAW_PCU_Test_CT { + map(self:PCUVTY, system:PCUVTY); + f_vty_set_prompts(PCUVTY); + f_vty_transceive(PCUVTY, "enable"); + + if (g_egprs_only) { + f_vty_config2(PCUVTY, {"pcu"}, "egprs only"); + } else { + f_vty_config2(PCUVTY, {"pcu"}, "no egprs"); + } +} + +private function f_init_raw(charstring id, template (value) PCUIF_info_ind info_ind := ts_PCUIF_INFO_default) +runs on RAW_PCU_Test_CT { + var RAW_PCUIF_CT vc_PCUIF; + var RAW_PCU_BTS_CT vc_BTS; + + /* Start the guard timer */ + g_T_guard.start; + activate(as_Tguard_RAW()); + + /* Init PCU interface component */ + vc_PCUIF := RAW_PCUIF_CT.create("PCUIF-" & id); + connect(vc_PCUIF:MTC, self:PCUIF); + map(vc_PCUIF:PCU, system:PCU); + + /* Create one BTS component (we may want more some day) */ + vc_BTS := RAW_PCU_BTS_CT.create("BTS-" & id); + connect(vc_BTS:PCUIF, vc_PCUIF:BTS); + connect(vc_BTS:TC, self:BTS); + + f_init_vty(id); + + vc_PCUIF.start(f_PCUIF_CT_handler(mp_pcu_sock_path)); + vc_BTS.start(f_BTS_CT_handler(0, valueof(info_ind))); + + /* Wait until the BTS is ready (SI13 negotiated) */ + BTS.receive(tr_RAW_PCU_EV(BTS_EV_SI13_NEGO)); +} + +template AckNackDescription t_AckNackDescription_init := { + final_ack := '0'B, + starting_seq_nr := 0, + receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B +} + +private function f_rlcmac_dl_block_get_tfi(RlcmacDlBlock dl_block) return uint5_t { + if (ischosen(dl_block.data)) { + return dl_block.data.mac_hdr.hdr_ext.tfi; + } else { + return dl_block.data_egprs.mac_hdr.tfi; + } +} + +/* TS 44.060 sec 12.3 Ack/Nack Description */ +private function f_acknackdesc_ack_block(inout AckNackDescription desc, RlcmacDlBlock dl_block, BIT1 final_ack := '0'B) +{ + var uint7_t bsn; + var integer i; + var integer inc; + + if (ischosen(dl_block.data)) { + bsn := dl_block.data.mac_hdr.hdr_ext.bsn; + } else { + bsn := dl_block.data_egprs.mac_hdr.bsn1; + } + + inc := bsn - desc.starting_seq_nr + 1; + /* Filling hole? */ + if (bsn < desc.starting_seq_nr) { + desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - (desc.starting_seq_nr - bsn)] := int2bit(1, 1); + return; + } + + /* SSN is increased, and so RBB values need to be moved */ + for (i := 0; i < lengthof(desc.receive_block_bitmap) - inc; i := i+1) { + desc.receive_block_bitmap[i] := desc.receive_block_bitmap[i + inc]; + } + for (i := lengthof(desc.receive_block_bitmap) - inc; i < lengthof(desc.receive_block_bitmap) - 1; i := i+1) { + desc.receive_block_bitmap[i] := int2bit(0, 1); + } + /* Now we can set current bit and update SSN */ + desc.starting_seq_nr := bsn + 1; + desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - 1] := int2bit(1, 1); + + /* Finally update the final_ack bit as requested: */ + desc.final_ack := final_ack; +} + +/* This function can be used to send DATA.cnf in response to the IUT originated DATA.req. + * NOTE: it's the responsibility of caller to make sure that pcu_msg contains u.data_req. */ +private function f_pcuif_tx_data_cnf(in PCUIF_Message pcu_msg) +runs on RAW_PCU_Test_CT { + var PCUIF_Message pcu_msg_cnf := { + msg_type := PCU_IF_MSG_DATA_CNF, + bts_nr := pcu_msg.bts_nr, + spare := pcu_msg.spare, + u := { data_cnf := pcu_msg.u.data_req } + }; + + /* PCU wants DATA.cnf containing basically everything that was in DATA.req, + * but PCU_IF_SAPI_PCH is a special case - paging group shall be excluded. */ + if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { + pcu_msg_cnf.u.data_cnf.data := substr(pcu_msg.u.data_req.data, 3, + pcu_msg.u.data_req.len - 3); + } + + BTS.send(pcu_msg_cnf); +} + +private function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, + template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, + template GsmRrMessage t_imm_ass := ?, + uint8_t bts_nr := 0) +runs on RAW_PCU_Test_CT return boolean { + var PCUIF_Message pcu_msg; + var octetstring data; + timer T; + + T.start(2.0); + alt { + [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, + sapi := sapi, data := ?)) -> value pcu_msg { + /* On PCH the payload is prefixed with paging group (3 octets): skip it. + * TODO: add an additional template parameter, so we can match it. */ + if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { + data := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); + } else { + data := pcu_msg.u.data_req.data; + } + + rr_imm_ass := dec_GsmRrMessage(data); + if (not match(rr_imm_ass, t_imm_ass)) { + /* Not for us? Wait for more. */ + repeat; + } + + log("Rx Immediate Assignment: ", rr_imm_ass); + setverdict(pass); + return true; + } + [] BTS.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for Immediate Assignment"); + } + } + + return false; +} + +/* FIXME: properly encode RA (see TS 24.060, table 11.2.5.2) */ +private function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, + uint16_t ra := oct2int('3A'O), uint8_t is_11bit := 0, + PCUIF_BurstType burst_type := BURST_TYPE_0, + TimingAdvance ta := 0) +runs on RAW_PCU_Test_CT return boolean { + var uint32_t fn; + + /* FIXME: ask the BTS component to give us the current TDMA fn */ + fn := 1337 + ta; + + /* Send RACH.ind */ + log("Sending RACH.ind on fn=", fn, " with RA=", ra, ", TA=", ta); + BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, + ra := ra, is_11bit := is_11bit, + burst_type := burst_type, + fn := fn, arfcn := 871, + qta := ta * 4)); + + /* 3GPP TS 44.018, table 9.1.8.1, note 2b: Request Reference shall be set to 127 + * when Immediate Assignment is triggered by EGPRS Packet Channel Request. Here + * we assume that 11 bit RA always contains EGPRS Packet Channel Request. */ + if (is_11bit != 0) { ra := 127; } + + /* Expect Immediate (TBF) Assignment on TS0/AGCH */ + return f_pcuif_rx_imm_ass(rr_imm_ass, PCU_IF_SAPI_AGCH, + tr_IMM_TBF_ASS(?, ra, fn), + bts_nr := bts_nr); +} + +private function f_imm_ass_verify_ul_tbf_ass(GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) +runs on RAW_PCU_Test_CT return boolean { + + /* Make sure we received an UL TBF Assignment */ + if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { + ul_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; + log("Rx Uplink TBF assignment: ", ul_tbf_ass); + setverdict(pass); + } else { + setverdict(fail, "Failed to match UL TBF Assignment"); + return false; + } + + /* Make sure we have got a TBF with Dynamic Block Allocation */ + if (ul_tbf_ass.dynamic == omit) { + setverdict(fail, "Single Block Allocation is not handled by ", testcasename()); + return false; + } + + return true; +} + +private function f_imm_ass_verify_dl_tbf_ass(GsmRrMessage rr_imm_ass, out PacketDlAssign dl_tbf_ass) +runs on RAW_PCU_Test_CT return boolean { + + /* Make sure we received a DL TBF Assignment */ + if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := true, rest := tr_IaRestOctets_DLAss(?)))) { + dl_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.dl; + log("Rx Downlink TBF assignment: ", dl_tbf_ass); + setverdict(pass); + } else { + setverdict(fail, "Failed to match DL TBF Assignment"); + return false; + } + + return true; +} + +/* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ +private function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0) +runs on RAW_PCU_Test_CT { + var template RAW_PCU_EventParam ev_param := {tdma_fn := ? }; + BTS.send(ts_PCUIF_DATA_IND(bts_nr := 0, trx_nr := 0, ts_nr := 7, block_nr := 0, + sapi := PCU_IF_SAPI_PDTCH, data := data, + fn := fn, arfcn := 871, lqual_cb := lqual_cb)); + if (fn != 0) { + ev_param := {tdma_fn := fn }; + } + BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_SENT, ev_param)); +} + +/* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ +private function f_pcuif_rx_data_req(out PCUIF_Message pcu_msg) +runs on RAW_PCU_Test_CT { + BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := 871, block_nr := 0)); + BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PDTCH)) -> value pcu_msg; +} + +/* Expect an Immediate Assignment (paging) from PCU on PCUIF on specified sapi. */ +private function f_pcuif_rx_pch_imm_tbf_ass(out GsmRrMessage rr_imm_ass) +runs on RAW_PCU_Test_CT { + var PCUIF_Message pcu_msg; + var octetstring macblock; + BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, + sapi := PCU_IF_SAPI_PCH)) -> value pcu_msg; + /* First 3 bytes contain paging group: */ + macblock := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); + rr_imm_ass := dec_GsmRrMessage(macblock); + if (not match(rr_imm_ass, tr_IMM_TBF_ASS())) { + setverdict(fail, "Failed to match Immediate Assignment: ", rr_imm_ass); + mtc.stop; + } + f_pcuif_tx_data_cnf(pcu_msg); +} + +/* Expect a Paging Request Type 1 from PCU on PCUIF on specified sapi. */ +private function f_pcuif_rx_pch_pag_req1(template MobileIdentityV mi1 := ?, + template integer pag_group := ?) +runs on RAW_PCU_Test_CT return GsmRrMessage { + var GsmRrMessage rr_pag_req1; + var PCUIF_Message pcu_msg; + var octetstring imsi_suff_octstr; + var integer pag_group_rx; + var octetstring macblock; + + BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, + sapi := PCU_IF_SAPI_PCH)) -> value pcu_msg; + + /* First 3 bytes contain IMSI suffix to calculate paging group: */ + imsi_suff_octstr := substr(pcu_msg.u.data_req.data, 0, 3); + pag_group_rx := str2int(oct2char(imsi_suff_octstr[0])) * 100 + + str2int(oct2char(imsi_suff_octstr[1])) * 10 + + str2int(oct2char(imsi_suff_octstr[2])); + + /* Make sure we've got RR Paging Request Type 1 for a given MI */ + macblock := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); + rr_pag_req1 := dec_GsmRrMessage(macblock); + if (not match(rr_pag_req1, tr_PAG_REQ1(tr_MI_LV(mi1)))) { + setverdict(fail, "Failed to match Paging Request Type 1: ", rr_pag_req1); + mtc.stop; + } + + /* Make sure that received paging froup matches the expected one */ + if (not match(pag_group_rx, pag_group)) { + setverdict(fail, "Paging group", pag_group_rx, " does not match expected ", pag_group); + mtc.stop; + } + + f_pcuif_tx_data_cnf(pcu_msg); + return rr_pag_req1; +} + +private function f_tx_rlcmac_ul_block(template (value) RlcmacUlBlock ul_data, int16_t lqual_cb := 0, uint32_t fn := 0) +runs on RAW_PCU_Test_CT { + var octetstring data; + /* Encode the payload of DATA.ind */ + data := enc_RlcmacUlBlock(valueof(ul_data)); + data := f_pad_oct(data, 23, '00'O); /* CS-1 */ + + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ + f_pcuif_tx_data_ind(data, lqual_cb, fn); +} + +private function f_tx_rlcmac_ul_n_blocks(PacketUlAssign ul_tbf_ass, integer num_blocks := 1) +runs on RAW_PCU_Test_CT { + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( + tfi := ul_tbf_ass.dynamic.tfi_assignment, + cv := num_blocks - 1, /* num UL blocks to be sent (to be overridden in loop) */ + bsn := 0, /* TODO: what should be here? */ + blocks := { /* To be generated in loop */ }); + + /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ + ul_data.data.tlli := '00000001'O; + + for (var integer i := 0; i < num_blocks; i := i + 1) { + /* Prepare a new UL block (CV, random payload) */ + ul_data.data.mac_hdr.countdown := (num_blocks - i - 1); + ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; + f_tx_rlcmac_ul_block(ul_data); + } +} + +private function f_rx_rlcmac_dl_block(out RlcmacDlBlock dl_block, out uint32_t dl_fn, template (present) CodingScheme exp_cs_mcs := ?) +runs on RAW_PCU_Test_CT { + var PCUIF_Message pcu_msg; + f_pcuif_rx_data_req(pcu_msg); + dl_block := dec_RlcmacDlBlock(pcu_msg.u.data_req.data); + dl_fn := pcu_msg.u.data_req.fn; + + var integer len := lengthof(pcu_msg.u.data_req.data); + var CodingScheme cs_mcs := f_rlcmac_block_len2cs_mcs(len) + if (not match(f_rlcmac_block_len2cs_mcs(len), exp_cs_mcs)) { + setverdict(fail, "Failed to match Coding Scheme exp ", exp_cs_mcs, " vs ", cs_mcs, " (", len, ")"); + mtc.stop; + } +} + +private function f_rx_rlcmac_dl_block_exp_ack_nack(out RlcmacDlBlock dl_block, out uint32_t poll_fn) +runs on RAW_PCU_Test_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK(ul_tfi := ?, tlli := ?))) { + setverdict(fail, "Failed to match Packet Uplink ACK / NACK"); + mtc.stop; + } + + poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); +} + +private function f_rx_rlcmac_dl_block_exp_dummy(out RlcmacDlBlock dl_block) +runs on RAW_PCU_Test_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { + setverdict(fail, "Failed to match Packet DUMMY DL"); + mtc.stop; + } +} + +private function f_rx_rlcmac_dl_block_exp_pkt_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) +runs on RAW_PCU_Test_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { + setverdict(fail, "Failed to match Packet Downlink Assignment"); + mtc.stop; + } + + poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); +} + +private function f_rx_rlcmac_dl_block_exp_pkt_ul_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) +runs on RAW_PCU_Test_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_UL_PACKET_ASS())) { + setverdict(fail, "Failed to match Packet Uplink Assignment"); + mtc.stop; + } + + poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); +} + + +private function f_rx_rlcmac_dl_block_exp_pkt_pag_req(out RlcmacDlBlock dl_block) +runs on RAW_PCU_Test_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_PACKET_PAG_REQ())) { + setverdict(fail, "Failed to match Packet Paging Request: ", dl_block, " vs ", tr_RLCMAC_PACKET_PAG_REQ()); + mtc.stop; + } +} + +private function f_rlcmac_dl_block_verify_data_gprs(RlcmacDlBlock dl_block, uint32_t dl_fn, out uint32_t ack_fn, octetstring data, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) +{ + log("verifying dl data block (gprs): ", dl_block); + + ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data.mac_hdr.mac_hdr.rrbp); + + if (not match(dl_block.data.mac_hdr.hdr_ext.bsn, exp_bsn)) { + setverdict(fail, "DL block BSN doesn't match: ", + dl_block.data.blocks[0].hdr.length_ind, " vs exp ", exp_bsn); + } + + if (lengthof(dl_block.data.blocks) < 1) { + setverdict(fail, "DL block has no LLC payload: ", dl_block); + mtc.stop; + } + + if (ispresent(dl_block.data.blocks[0].hdr) and dl_block.data.blocks[0].hdr.length_ind != lengthof(data)) { + setverdict(fail, "DL block has LLC header with wrong expected size: ", + dl_block.data.blocks[0].hdr.length_ind, " vs ", lengthof(data)); + mtc.stop; + } + + if (dl_block.data.blocks[0].payload != data) { + setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); + mtc.stop; + } + + /* Check next data blocks contain dummy frames */ + if (lengthof(dl_block.data.blocks) > 1 and substr(dl_block.data.blocks[1].payload, 0, 3) != '43C001'O) { + setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); + mtc.stop; + } + + /* TODO: check exp_cs */ +} + +private function f_rlcmac_dl_block_verify_data_egprs(RlcmacDlBlock dl_block, uint32_t dl_fn, out uint32_t ack_fn, octetstring data, template (present) uint14_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) +{ + log("verifying dl data block (egprs): ", dl_block); + + ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data_egprs.mac_hdr.rrbp); + + if (not match(dl_block.data_egprs.mac_hdr.bsn1, exp_bsn)) { + setverdict(fail, "DL block BSN doesn't match: ", + dl_block.data_egprs.blocks[0].hdr.length_ind, " vs exp ", exp_bsn); + } + + if (lengthof(dl_block.data_egprs.blocks) < 1) { + setverdict(fail, "DL block has no LLC payload: ", dl_block); + mtc.stop; + } + + if (ispresent(dl_block.data_egprs.blocks[0].hdr) and dl_block.data_egprs.blocks[0].hdr.length_ind != lengthof(data)) { + setverdict(fail, "DL block has LLC header with wrong expected size: ", + dl_block.data_egprs.blocks[0].hdr.length_ind, " vs ", lengthof(data)); + mtc.stop; + } + + if (dl_block.data_egprs.blocks[0].payload != data) { + setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); + mtc.stop; + } + + /* Check next data blocks contain dummy frames */ + if (lengthof(dl_block.data_egprs.blocks) > 1 and substr(dl_block.data_egprs.blocks[1].payload, 0, 3) != '43C001'O) { + setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); + mtc.stop; + } + + /* TODO: Check exp_cs. In the case of EGPRS, first check mac_hdr.header_type and then decode CPS = exp_cs based on mac_hdr.header_type. + See wireshark's egprs_Header_type1_coding_puncturing_scheme_to_mcs. */ +} + +private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t ack_fn, octetstring data, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) +runs on RAW_PCU_Test_CT { + var PCUIF_Message pcu_msg; + var uint32_t dl_fn; + var boolean is_egprs := false; + var template RlcmacDlBlock dl_template := tr_RLCMAC_DATA_RRBP; + dl_template.data.blocks := ?; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, dl_template)) { + dl_template := tr_RLCMAC_DATA_EGPRS; + dl_template.data_egprs.blocks := ?; + if (not match(dl_block, dl_template)) { + setverdict(fail, "Failed to match Packet data: ", dl_block, " vs ", dl_template); + mtc.stop; + } + is_egprs := true; + } + + if (is_egprs) { + f_rlcmac_dl_block_verify_data_egprs(dl_block, dl_fn, ack_fn, data, exp_bsn, exp_cs); + } else { + f_rlcmac_dl_block_verify_data_gprs(dl_block, dl_fn, ack_fn, data, exp_bsn, exp_cs); + } +} + +testcase TC_pcuif_suspend() runs on RAW_PCU_Test_CT { + var octetstring ra_id := enc_RoutingAreaIdentification(mp_gb_cfg.cell_id.ra_id); + var GprsTlli tlli := 'FFFFFFFF'O; + timer T; + + /* 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(); + + BTS.send(ts_PCUIF_SUSP_REQ(0, tlli, ra_id, 0)); + + T.start(2.0); + alt { + [] BSSGP_SIG[0].receive(tr_BSSGP_SUSPEND(tlli, mp_gb_cfg.cell_id.ra_id)) { + setverdict(pass); + } + [] T.timeout { + setverdict(fail, "Timeout waiting for BSSGP SUSPEND"); + } + } +} + +/* Test of correct Timing Advance at the time of TBF establishment + * (derived from timing offset of the Access Burst). */ +testcase TC_ta_rach_imm_ass() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_msg; + var boolean ok; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* We cannot send too many TBF requests in a short time because + * at some point the PCU will fail to allocate a new TBF. */ + for (var TimingAdvance ta := 0; ta < 64; ta := ta + 16) { + /* Establish an Uplink TBF (send RACH.ind with current TA) */ + ok := f_establish_tbf(rr_msg, bts_nr := 0, ta := ta); + if (not ok) { + setverdict(fail, "Failed to establish an Uplink TBF"); + mtc.stop; + } + + /* Make sure Timing Advance IE matches out expectations */ + if (match(rr_msg, tr_IMM_TBF_ASS(dl := false, ta := ta))) { + setverdict(pass); + } + } +} + +/* 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 + * no active TBF exists at the moment of establishment (idle mode). */ +testcase TC_ta_idle_dl_tbf_ass() runs on RAW_PCU_Test_CT { + var OCT4 tlli := f_rnd_octstring(4); + var GsmRrMessage rr_imm_ass; + + /* 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('FFFFFFFF'O, tlli); + + /* SGSN sends some DL data, PCU will initiate Packet Downlink + * Assignment on CCCH (PCH). We don't care about the payload. */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, f_rnd_octstring(10))); + f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); // TODO: match by TLLI! + + /* Make sure that Timing Advance is 0 (the actual value is not known yet). + * As per 3GPP S 44.018, section 3.5.3.1.2, the network *shall* initiate + * the procedures defined in 3GPP TS 44.060 or use the polling mechanism. */ + if (not match(rr_imm_ass, tr_IMM_TBF_ASS(ta := 0))) { + setverdict(fail, "Timing Advance value doesn't match"); + mtc.stop; + } +} + +/* Verify that the PCU generates valid PTCCH/D messages + * while neither Uplink nor Downlink TBF is established. */ +testcase TC_ta_ptcch_idle() runs on RAW_PCU_Test_CT { + var PTCCHDownlinkMsg ptcch_msg; + var PCUIF_Message pcu_msg; + timer T; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Sent an RTS.req for PTCCH/D */ + BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PTCCH, fn := 0, + arfcn := 871, block_nr := 0)); + T.start(5.0); + alt { + [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PTCCH)) -> value pcu_msg { + log("Rx DATA.req message: ", pcu_msg); + setverdict(pass); + } + [] BTS.receive(PCUIF_Message:?) { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for a PTCCH/D block"); + mtc.stop; + } + } + + ptcch_msg := dec_PTCCHDownlinkMsg(pcu_msg.u.data_req.data); + log("Decoded PTCCH/D message: ", ptcch_msg); + + /* Make sure the message is encoded correctly + * TODO: do we expect all TA values to be equal '1111111'B? */ + if (not match(ptcch_msg, tr_PTCCHDownlinkMsg)) { + setverdict(fail, "Malformed PTCCH/D message"); + mtc.stop; + } +} + +/* Test of correct Timing Advance during an active Uplink TBF. + * + * Unlike the circuit-switched domain, Uplink transmissions on PDCH time-slots + * are not continuous and there can be long time gaps between them. This happens + * due to a bursty nature of packet data. The actual Timing Advance of a MS may + * significantly change between such rare Uplink transmissions, so GPRS introduces + * additional mechanisms to control Timing Advance, and thus reduce interference + * between neighboring TDMA time-slots. + * + * At the moment of Uplink TBF establishment, initial Timing Advance is measured + * from ToA (Timing of Arrival) of an Access Burst. This is covered by another + * test case - TC_ta_rach_imm_ass. In response to that Access Burst the network + * sends Immediate Assignment on AGCH, which _may_ contain Timing Advance Index + * among with the initial Timing Advance value. And here PTCCH comes to play. + * + * PTCCH is a unidirectional channel on which the network can instruct a sub-set + * of 16 MS (whether TBFs are active or not) to adjust their Timing Advance + * continuously. To ensure continuous measurements of the signal propagation + * delay, the MSs shall transmit Access Bursts on Uplink (PTCCH/U) on sub-slots + * defined by an assigned Timing Advance Index (see 3GPP TS 45.002). + * + * The purpose of this test case is to verify the assignment of Timing Advance + * Index, and the process of Timing Advance notification on PTCCH/D. The MTC + * first establishes several Uplink TBFs, but does not transmit any Uplink + * blocks on them. During 4 TDMA multi-frame periods the MTC is sending RACH + * indications to the PCU, checking the correctness of two received PTCCH/D + * messages (period of PTCCH/D is two multi-frames). + */ + +/* List of ToA values for Access Bursts to be sent on PTCCH/U, + * each ToA (Timing of Arrival) value is in units of 1/4 of + * a symbol (i.e. 1 symbol is 4 QTA units). */ +type record length(16) of int16_t PTCCH_TAI_ToA_MAP; +const PTCCH_TAI_ToA_MAP ptcch_toa_map_def := { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0 +}; + +private altstep as_ta_ptcch(uint8_t bts_nr := 0, uint8_t trx_nr := 0, uint8_t ts_nr := 7, + in PTCCH_TAI_ToA_MAP toa_map := ptcch_toa_map_def) +runs on RAW_PCU_Test_CT { + var RAW_PCU_Event event; + var integer ss; + + /* Send Access Bursts on PTCCH/U for every TA Index */ + [] BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PTCCH_UL_BURST)) -> value event { + ss := f_tdma_ptcch_fn2ss(event.data.tdma_fn); + if (ss < 0) { mtc.stop; } /* Shall not happen */ + + log("Sending an Access Burst on PTCCH/U", + ", sub-slot=", ss, " (TAI)", + ", fn=", event.data.tdma_fn, + ", ToA=", toa_map[ss], " (QTA)"); + /* TODO: do we care about RA and burst format? */ + BTS.send(ts_PCUIF_RACH_IND(bts_nr, trx_nr, ts_nr, + ra := oct2int('3A'O), + is_11bit := 0, + burst_type := BURST_TYPE_0, + fn := event.data.tdma_fn, + arfcn := 871, + qta := toa_map[ss], + sapi := PCU_IF_SAPI_PTCCH)); + repeat; + } +} + +private function f_TC_ta_ptcch_ul_multi_tbf(in PTCCH_TAI_ToA_MAP ptcch_toa_map, + template PTCCHDownlinkMsg t_ta_msg) +runs on RAW_PCU_Test_CT { + var PTCCHDownlinkMsg ta_msg; + var PCUIF_Message pcu_msg; + timer T; + + /* First, send an RTS.req for the upcoming PTCCH/D block */ + BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PTCCH, fn := 0, + arfcn := 871, block_nr := 0)); + T.start(2.0); + alt { + /* Keep sending of Access Bursts during two multi-frames (period of PTCCH/D) + * with increasing ToA (Timing of Arrival) values: 0, 7, 14, 28, 35... */ + [] as_ta_ptcch(bts_nr := 0, trx_nr := 0, ts_nr := 7, toa_map := ptcch_toa_map); + /* In the end of 2nd multi-frame we should receive a PTCCH/D block */ + [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PTCCH)) -> value pcu_msg { + ta_msg := dec_PTCCHDownlinkMsg(pcu_msg.u.data_req.data); + log("Rx PTCCH/D message: ", ta_msg); + + /* Make sure Timing Advance values match our expectations */ + if (match(ta_msg, t_ta_msg)) { + setverdict(pass); + } else { + setverdict(fail, "PTCCH/D message does not match: ", t_ta_msg); + } + } + [] BTS.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for a PTCCH/D block"); + mtc.stop; + } + } +} + +testcase TC_ta_ptcch_ul_multi_tbf() runs on RAW_PCU_Test_CT { + var template PacketUlAssign t_ul_tbf_ass; + var PacketUlAssign ul_tbf_ass[7]; + var GsmRrMessage rr_msg[7]; + var boolean ok; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Enable forwarding of PTCCH/U TDMA events to us */ + BTS.send(ts_RAW_PCU_CMD(TDMA_CMD_ENABLE_PTCCH_UL_FWD)); + + /* Establish 7 Uplink TBFs (USF flag is 3 bits long, '111'B is reserved) */ + for (var integer i := 0; i < 7; i := i + 1) { + ok := f_establish_tbf(rr_msg[i], ta := 0); + if (not ok) { + setverdict(fail, "Failed to establish an Uplink TBF #", i); + mtc.stop; + } + + /* Make sure we received an UL TBF Assignment */ + if (match(rr_msg[i], tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { + ul_tbf_ass[i] := rr_msg[i].payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; + log("Rx Uplink TBF assignment for #", i, ": ", ul_tbf_ass[i]); + } else { + setverdict(fail, "Failed to match UL TBF Assignment for #", i); + mtc.stop; + } + + /* We expect incremental TFI/USF assignment (dynamic allocation) */ + t_ul_tbf_ass := tr_PacketUlDynAssign(tfi := i, usf := i); + if (not match(ul_tbf_ass[i], t_ul_tbf_ass)) { + setverdict(fail, "Failed to match Packet Uplink Assignment for #", i); + mtc.stop; + } + + /* We also expect Timing Advance Index to be a part of the assignment */ + if (ul_tbf_ass[i].dynamic.ta_index != i) { + setverdict(fail, "Failed to match Timing Advance Index for #", i); + /* Keep going, the current OsmoPCU does not assign TA Index */ + } + } + + /* Prepare a list of ToA values for Access Bursts to be sent on PTCCH/U */ + var PTCCH_TAI_ToA_MAP toa_map := ptcch_toa_map_def; + for (var integer i := 0; i < 7; i := i + 1) { + /* ToA in units of 1/4 of a symbol */ + toa_map[i] := (i + 1) * 7 * 4; + } + + /* Now we have all 7 TBFs established in one-phase access mode, + * however we will not be sending any data on them. Instead, we + * will be sending RACH.ind on PTCCH/U during 4 multi-frame + * periods (TAI 0..8), and then will check two PTCCH/D blocks. + * + * Why not 4 TBFs at once? Because Uplink is delayed by 3 TDMA + * time-slots, so at the moment of scheduling a PTCCH/D block + * the PCU has odd number of PTCCH/U Access Bursts received. */ + f_TC_ta_ptcch_ul_multi_tbf(toa_map, tr_PTCCHDownlinkMsg( + tai0_ta := 7, tai1_ta := 14, tai2_ta := 21, + /* Other values are not known (yet) */ + tai3_ta := ?)); + f_TC_ta_ptcch_ul_multi_tbf(toa_map, tr_PTCCHDownlinkMsg( + tai0_ta := 7, tai1_ta := 14, tai2_ta := 21, + tai3_ta := 28, tai4_ta := 35, tai5_ta := 42, + /* Other values are out of our interest */ + tai6_ta := ?)); +} + +/* Default link quality adaptation (Coding Scheme) ranges (inclusive). + * OsmoPCU (VTY): cs link-quality-ranges cs1 6 cs2 5 8 cs3 7 13 cs4 12 + * + * NOTE: the ranges are intentionally overlapping because OsmoPCU + * does not change CS/MCS on the range borders (5-6, 7-8, 12-13). */ +private template integer CS1_lqual_dB_range := (-infinity .. 6); +private template integer CS2_lqual_dB_range := (5 .. 8); +private template integer CS3_lqual_dB_range := (7 .. 13); +private template integer CS4_lqual_dB_range := (12 .. infinity); + +testcase TC_cs_lqual_ul_tbf() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var PCUIF_Message pcu_msg; + var octetstring data; + var boolean ok; + var uint32_t unused_fn; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + f_pcuvty_set_allowed_cs_mcs(); + f_pcuvty_set_link_quality_ranges(); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + mtc.stop; + } + + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( + tfi := ul_tbf_ass.dynamic.tfi_assignment, + cv := 15, /* 16 UL blocks to be sent (to be overridden in loop) */ + bsn := 0, /* TODO: what should be here? */ + blocks := { /* To be generated in loop */ }); + + /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ + ul_data.data.tlli := '00000001'O; + + /* The actual / old link quality values. We need to keep track of the old + * (basically previous) link quality value, because OsmoPCU actually + * changes the coding scheme if not only the actual, but also the old + * value leaves the current link quality range (window). */ + var integer lqual := 0; + var integer lqual_old; + + /* 16 UL blocks (0 .. 15 dB, step = 1 dB) */ + for (var integer i := 0; i < 16; i := i + 1) { + /* Prepare a new UL block (CV, random payload) */ + ul_data.data.mac_hdr.countdown := (15 - i); + ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; + + /* Update the old / actual link quality */ + lqual_old := lqual; + lqual := i; + + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ + log("Sending DATA.ind with link quality (dB): ", lqual); + f_tx_rlcmac_ul_block(ul_data, lqual * 10); + + /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); + + log("Rx Packet Uplink ACK / NACK with Channel Coding Command: ", + dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd); + + /* Match the received Channel Coding Command. Since we are increasing + * the link quality value on each iteration and not decreasing, there + * is no need to check the both old and current link quality values. */ + var template ChCodingCommand ch_coding; + select (lqual_old) { + case (CS1_lqual_dB_range) { ch_coding := CH_CODING_CS1; } + case (CS2_lqual_dB_range) { ch_coding := CH_CODING_CS2; } + case (CS3_lqual_dB_range) { ch_coding := CH_CODING_CS3; } + case (CS4_lqual_dB_range) { ch_coding := CH_CODING_CS4; } + } + + if (not match(dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd, ch_coding)) { + setverdict(fail, "Channel Coding does not match our expectations: ", ch_coding); + } else { + setverdict(pass); + } + } +} + +/* Test the max UL CS set by VTY works fine */ +testcase TC_cs_initial_ul() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var boolean ok; + var integer lqual_cb; + var ChCodingCommand last_ch_coding; + var uint32_t unused_fn; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Set initial UL CS to 3 */ + g_cs_initial_ul := 3; + f_pcuvty_set_allowed_cs_mcs(); + f_pcuvty_set_link_quality_ranges(); + + /* Take lqual (dB->cB) so that we stay in that CS */ + lqual_cb := g_cs_lqual_ranges[2].low * 10; + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + mtc.stop; + } + + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( + tfi := ul_tbf_ass.dynamic.tfi_assignment, + cv := 3, /* 8 UL blocks to be sent (to be overridden in loop) */ + bsn := 0, /* TODO: what should be here? */ + blocks := { /* To be generated in loop */ }); + + /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ + ul_data.data.tlli := '00000001'O; + + /* 3 UL blocks, check we are in same initial CS: */ + for (var integer i := 0; i < 3; i := i + 1) { + /* Prepare a new UL block (CV, random payload) */ + ul_data.data.mac_hdr.countdown := (7 - i); + ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; + + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ + f_tx_rlcmac_ul_block(ul_data, lqual_cb); + + /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); + last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; + } + + if (last_ch_coding != CH_CODING_CS3) { + setverdict(fail, "Channel Coding does not match our expectations (CS-3): ", last_ch_coding); + mtc.stop; + } + + setverdict(pass); + + /* Remaining UL blocks are used to make sure regardless of initial + /* lqual, we can go lower at any time */ + + /* 5 UL blocks, check we are in same initial CS: */ + for (var integer i := 3; i < 8; i := i + 1) { + /* Prepare a new UL block (CV, random payload) */ + ul_data.data.mac_hdr.countdown := (7 - i); + ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; + + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ + f_tx_rlcmac_ul_block(ul_data, 0); /* 0 dB, make sure we downgrade CS */ + + /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); + + last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; + } + + if (last_ch_coding != CH_CODING_CS1) { + setverdict(fail, "Channel Coding does not match our expectations (CS-1): ", last_ch_coding); + } else { + setverdict(pass); + } +} + +/* Test the max UL CS set by VTY works fine */ +testcase TC_cs_max_ul() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var boolean ok; + var ChCodingCommand last_ch_coding; + var uint32_t unused_fn; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Set maximum allowed UL CS to 3 */ + g_cs_max_ul := 3; + f_pcuvty_set_allowed_cs_mcs(); + f_pcuvty_set_link_quality_ranges(); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + mtc.stop; + } + + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( + tfi := ul_tbf_ass.dynamic.tfi_assignment, + cv := 15, /* 16 UL blocks to be sent (to be overridden in loop) */ + bsn := 0, /* TODO: what should be here? */ + blocks := { /* To be generated in loop */ }); + + /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ + ul_data.data.tlli := '00000001'O; + + /* 16 UL blocks */ + for (var integer i := 0; i < 16; i := i + 1) { + /* Prepare a new UL block (CV, random payload) */ + ul_data.data.mac_hdr.countdown := (15 - i); + ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; + + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ + f_tx_rlcmac_ul_block(ul_data, 40*10); /* 40 dB */ + + /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); + + last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; + } + + if (last_ch_coding != CH_CODING_CS3) { + setverdict(fail, "Channel Coding does not match our expectations (CS-3): ", last_ch_coding); + } else { + setverdict(pass); + } +} + +/* Verify PCU drops TBF after some time of inactivity. */ +testcase TC_t3169() runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var PCUIF_Message pcu_msg; + var octetstring data; + var boolean ok; + var uint32_t unused_fn; + var OCT4 tlli := '00000001'O; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + info_ind := valueof(ts_PCUIF_INFO_default); + /* Set timer to 1 sec (default 5) to speedup test: */ + info_ind.t3169 := 1; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename(), info_ind); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + mtc.stop; + } + + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + /* Send one UL block and make sure it is ACKED fine */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); + /* UL block should be received in SGSN */ + BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); + + /* Wait until T3169 fires (plus 1 extra sec to make sure) */ + f_sleep(int2float(info_ind.t3169) + 1.0); + + /* Send an UL block once again, the TBF should be gone by now so no ACK */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + f_rx_rlcmac_dl_block_exp_dummy(dl_block); +} + +/* Verify that a Downlink TBF can be assigned using PACCH shortly after the + * release of prev DL TBF due to MS staying in PDCH for a while (T3192, in PCU + * T3193) after DL TBF release */ +testcase TC_t3193() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketDlAssign dl_tbf_ass; + var RlcmacDlBlock dl_block; + var octetstring data := f_rnd_octstring(10); + var boolean ok; + var uint32_t sched_fn; + var OCT4 tlli := '00000001'O; + var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + + /* 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('FFFFFFFF'O, tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); + f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); + ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not a Downlink TBF"); + mtc.stop; + } + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); + + /* ACK the DL block */ + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + /* we are done with the DL-TBF here so far, let's clean up our local state: */ + ack_nack_desc := valueof(t_AckNackDescription_init) + + /* Now that final DL block is ACKED and TBF is released, T3193 in PCU + (T3192 in MS) was started and until it fires the MS will be abailable + on PDCH in case new data arrives from SGSN. Let's verify it: */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); + f_rx_rlcmac_dl_block_exp_pkt_ass(dl_block, sched_fn); + f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + + /* Now that we confirmed the new assignment in the dl-tbf, lets receive the data and ack it */ + f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); +} + +/* Test scenario where MS wants to send some data on PDCH against SGSN and it is + * answered, so TBFs for uplink and later for downlink are created. + */ +private function f_TC_mo_ping_pong(template (omit) MSRadioAccessCapabilityV ms_racap := omit, template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var PacketDlAssign dl_tbf_ass; + var RlcmacDlBlock dl_block; + var PCUIF_Message pcu_msg; + var octetstring data := f_rnd_octstring(10); + var boolean ok; + var uint32_t sched_fn; + var OCT4 tlli := '00000001'O; + var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + + /* 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('FFFFFFFF'O, tlli); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + mtc.stop; + } + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + if (not istemplatekind(ms_racap, "omit")) { + /* Send PACKET RESOURCE REQUEST to upgrade to EGPRS + * (see 3GPP TS 04.60 "7.1.3.1 Initiation of the Packet resource request procedure") + */ + f_tx_rlcmac_ul_block(ts_RLC_UL_CTRL_ACK(valueof(ts_RlcMacUlCtrl_PKT_RES_REQ(tlli, ms_racap))), 0); + f_rx_rlcmac_dl_block_exp_pkt_ul_ass(dl_block, sched_fn); + if (dl_block.ctrl.payload.u.ul_assignment.identity.tlli.tlli != tlli) { + setverdict(fail, "Wrong TLLI ", dl_block.ctrl.payload.u.ul_assignment.identity.tlli, " received vs exp ", tlli); + mtc.stop; + } + } + + /* Send one UL block and make sure it is ACKED fine */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + + /* UL block should be received in SGSN */ + BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); + + /* Now SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); + f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); + + ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not a Downlink TBF"); + mtc.stop; + } + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0, exp_cs_mcs); + + /* ACK the DL block */ + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); +} + +/* Test scenario where MS wants to send some data on PDCH against SGSN and it is + * answered, so TBFs for uplink and later for downlink are created. + */ +testcase TC_mo_ping_pong() runs on RAW_PCU_Test_CT { + var CodingScheme exp_cs_mcs := CS_1; + f_TC_mo_ping_pong(omit, exp_cs_mcs); +} + + +testcase TC_mo_ping_pong_with_ul_racap() runs on RAW_PCU_Test_CT { + var MultislotCap_GPRS mscap_gprs := { + gprsmultislotclass := '00011'B, + gprsextendeddynalloccap := '0'B + }; + var MSRadioAccessCapabilityV ms_racap := { valueof(ts_RaCapRec('0001'B /* E-GSM */, mscap_gprs, omit)) }; + var CodingScheme exp_cs_mcs := CS_2; + + f_TC_mo_ping_pong(ms_racap, exp_cs_mcs); +} + +/* Test scenario where SGSN wants to send some data against MS and it is + * answered by the MS on PDCH, so TBFs for downlink and later for uplink are created. + */ +private function f_TC_mt_ping_pong(template (omit) MSRadioAccessCapabilityV_BSSGP ms_racap := omit, template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var PacketDlAssign dl_tbf_ass; + var RlcmacDlBlock dl_block; + var PCUIF_Message pcu_msg; + var octetstring data := f_rnd_octstring(10); + var boolean ok; + var uint32_t sched_fn; + var OCT4 tlli := '00000001'O; + var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + + /* 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('FFFFFFFF'O, tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data, ms_racap)); + f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); + + ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not a Downlink TBF"); + mtc.stop; + } + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0, exp_cs_mcs); + + /* ACK the DL block */ + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + + /* Now MS wants to answer the DL data, Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + mtc.stop; + } + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + /* Send one UL block and make sure it is ACKED fine */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + + /* UL block should be received in SGSN */ + BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); +} + +testcase TC_mt_ping_pong() runs on RAW_PCU_Test_CT { + var CodingScheme exp_cs_mcs := CS_1; + f_TC_mt_ping_pong(omit, exp_cs_mcs); +} + +/* TC_mt_ping_pong, but DL-UNITDATA contains RA Access capability with (M)CS +/* information about the MS */ +testcase TC_mt_ping_pong_with_dl_racap() runs on RAW_PCU_Test_CT { + var MultislotCap_GPRS_BSSGP mscap_gprs := { + gprsmultislotclass := '00011'B, + gprsextendeddynalloccap := '0'B + } ; + var MSRadioAccessCapabilityV_BSSGP ms_racap := { valueof(ts_RaCapRec_BSSGP('0001'B /* E-GSM */, mscap_gprs, omit)) }; + var CodingScheme exp_cs_mcs := CS_2; + f_TC_mt_ping_pong(ms_racap, exp_cs_mcs); +} + +/* Verify that if PCU doesn't get an ACK for first DL block after IMM ASS, it + * will retry by retransmitting both the IMM ASS + DL block after poll (ack) + * timeout occurs (specified by sent RRBP on DL block). */ +testcase TC_imm_ass_dl_block_retrans() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketDlAssign dl_tbf_ass; + var RlcmacDlBlock dl_block; + var octetstring data := f_rnd_octstring(10); + var boolean ok; + var uint32_t sched_fn; + var OCT4 tlli := '00000001'O; + var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + + /* 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('FFFFFFFF'O, tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); + f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); + ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not a Downlink TBF"); + mtc.stop; + } + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); + + /* Now we don't ack the dl block (emulate MS failed receiveing IMM ASS + * or GPRS DL, or DL ACK was lost for some reason). As a result, PCU + * should retrigger IMM ASS + GPRS DL procedure after poll timeout. */ + f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); + ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not a Downlink TBF"); + mtc.stop; + } + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); + + /* ACK the DL block */ + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); +} + +private function f_pkt_paging_match_imsi(in PacketPagingReq req, hexstring imsi) { + var MobileIdentityLV_Paging mi_lv := req.repeated_pageinfo.cs.mobile_identity; + var MobileIdentityV mi := dec_MobileIdentityV(mi_lv.mobile_id); + + if (mi_lv.len != 8) { /* 8 octets: type of ID (3 bits) + even/odd flag (1 bit) + 15 BCD-encoded digits (60 bits) */ + setverdict(fail, "Mobile Identity length mismatch: ", + "expected: 8, got: ", mi_lv.len); + mtc.stop; + } + + /* Make sure MI contains IMSI before referencing it */ + if (mi.typeOfIdentity != '001'B) { + setverdict(fail, "Mobile Identity must be of type IMSI ('001'B), ", + "got: ", mi.typeOfIdentity); + mtc.stop; + } else if (mi.oddEvenInd_identity.imsi.digits != imsi) { + setverdict(fail, "Mobile Identity contains unexpected IMSI, ", + "expected: ", imsi, " got: ", mi.oddEvenInd_identity.imsi.digits); + mtc.stop; + } +} + +private function f_pkt_paging_match_tmsi(in PacketPagingReq req, template GsmTmsi tmsi) { + if (not match(req.repeated_pageinfo.cs.tmsi, tmsi)) { + setverdict(fail, "Mobile Identity (TMSI/P-TMSI) mismatch: ", + "expected: ", tmsi, "got: ", req.repeated_pageinfo.cs.tmsi); + mtc.stop; + } +} + +/* Test CS paging over the BTS<->PCU socket. + * When a (class B or C, not A) MS has an active TBF (or is on the PDCH), the MS can not react on CS paging over CCCH. + * Paging should be send on the PACCH. + * + * 1. Send a Paging Request over PCU socket. + * 2. Send a Ready-To-Send message over PCU socket + * 3. Expect a Paging Frame + */ +testcase TC_paging_cs_from_bts() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var boolean ok; + var OCT4 tlli := '00000001'O; + var MobileIdentityLV mi; + var octetstring mi_enc_lv; + var hexstring imsi := f_gen_imsi(42); + + /* 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('FFFFFFFF'O, tlli); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + mtc.stop; + } + + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + + /* build mobile Identity */ + mi := valueof(ts_MI_IMSI_LV(imsi)); + mi_enc_lv := enc_MobileIdentityLV(mi); + /* Send paging request */ + BTS.send(ts_PCUIF_PAG_REQ(bts_nr := 0, id_lv := mi_enc_lv, chan_needed := 0, + sapi :=PCU_IF_SAPI_PDTCH)); + + /* Receive it on BTS side towards MS */ + f_rx_rlcmac_dl_block_exp_pkt_pag_req(dl_block); + + /* Make sure that Packet Paging Request contains the same IMSI */ + f_pkt_paging_match_imsi(dl_block.ctrl.payload.u.paging, imsi); + + setverdict(pass); +} + +/* Test CS paging over Gb (SGSN->PCU->BTS[PDCH]). + */ +private function f_tc_paging_cs_from_sgsn(Nsvci bvci, boolean use_ptmsi := false) +runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var boolean ok; + var OCT4 tlli := '00000001'O; + var hexstring imsi := f_gen_imsi(42); + var GsmTmsi tmsi; + + /* 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('FFFFFFFF'O, tlli); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + mtc.stop; + } + + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + /* Send paging request with or without TMSI */ + if (use_ptmsi) { + tmsi := oct2int(f_rnd_octstring(4)); /* Random P-TMSI */ + BSSGP[0].send(ts_BSSGP_CS_PAGING_PTMSI(bvci, imsi, tmsi)); + } else { + BSSGP[0].send(ts_BSSGP_CS_PAGING_IMSI(bvci, imsi)); + } + + /* Receive it on BTS side towards MS */ + f_rx_rlcmac_dl_block_exp_pkt_pag_req(dl_block); + + /* Make sure that Packet Paging Request contains the same P-TMSI/IMSI */ + if (use_ptmsi) { + f_pkt_paging_match_tmsi(dl_block.ctrl.payload.u.paging, tmsi); + } else { + f_pkt_paging_match_imsi(dl_block.ctrl.payload.u.paging, imsi); + } + + setverdict(pass); +} + +testcase TC_paging_cs_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { + f_tc_paging_cs_from_sgsn(0, true); +} + +testcase TC_paging_cs_from_sgsn_sign() runs on RAW_PCU_Test_CT { + f_tc_paging_cs_from_sgsn(0); +} + +testcase TC_paging_cs_from_sgsn_ptp() runs on RAW_PCU_Test_CT { + f_tc_paging_cs_from_sgsn(mp_gb_cfg.bvci); +} + +/* Test PS paging over Gb (SGSN->PCU->BTS[CCCH]). + */ +private function f_tc_paging_ps_from_sgsn(Nsvci bvci, boolean use_ptmsi := false) +runs on RAW_PCU_Test_CT { + var OCT4 tlli := '00000001'O; + var integer imsi_suff_tx := 423; + var hexstring imsi := f_gen_imsi(imsi_suff_tx); + + /* 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('FFFFFFFF'O, tlli); + + /* Send BSSGP PAGING-PS (with or without TMSI), wait for RR Paging Request Type 1. + * Make sure that both paging group (IMSI suffix) and Mobile Identity match. */ + if (use_ptmsi) { + var OCT4 tmsi := f_rnd_octstring(4); /* Random P-TMSI */ + BSSGP[0].send(ts_BSSGP_PS_PAGING_PTMSI(bvci, imsi, oct2int(tmsi))); + f_pcuif_rx_pch_pag_req1(t_MI_TMSI(tmsi), imsi_suff_tx); + } else { + BSSGP[0].send(ts_BSSGP_PS_PAGING_IMSI(bvci, imsi)); + f_pcuif_rx_pch_pag_req1(tr_MI_IMSI(imsi), imsi_suff_tx); + } + + setverdict(pass); +} + +testcase TC_paging_ps_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { + f_tc_paging_ps_from_sgsn(0, true); +} + +testcase TC_paging_ps_from_sgsn_sign() runs on RAW_PCU_Test_CT { + f_tc_paging_ps_from_sgsn(0); +} + +testcase TC_paging_ps_from_sgsn_ptp() runs on RAW_PCU_Test_CT { + f_tc_paging_ps_from_sgsn(mp_gb_cfg.bvci); +} + +private function f_TC_egprs_pkt_chan_req(in EGPRSPktChRequest req, + template GsmRrMessage t_imm_ass := ?, + PCUIF_BurstType bt := BURST_TYPE_1) +runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_msg; + var uint16_t ra11; + var boolean ok; + + ra11 := enc_EGPRSPktChRequest2uint(req); + log("Sending EGPRS Packet Channel Request (", ra11, "): ", req); + + ok := f_establish_tbf(rr_msg, ra := ra11, is_11bit := 1, burst_type := bt); + if (not ok) { + setverdict(fail, "Failed to establush an Uplink TBF"); + mtc.stop; + } + + if (not match(rr_msg, t_imm_ass)) { + setverdict(fail, "Immediate Assignment does not match"); + mtc.stop; + } + + setverdict(pass); +} + +testcase TC_egprs_pkt_chan_req_signalling() runs on RAW_PCU_Test_CT { + var template GsmRrMessage imm_ass; + var template IaRestOctets rest; + var template EgprsUlAss ul_ass; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + var EGPRSPktChRequest req := { + /* NOTE: other fields are set in the loop */ + signalling := { tag := '110011'B } + }; + + for (var integer i := 0; i < 6; i := i + 1) { + var BIT5 ext_ra := int2bit(f_rnd_int(32), 5); + req.signalling.random_bits := ext_ra; + + /* For signalling, do we expect Multiblock UL TBF Assignment? */ + ul_ass := tr_EgprsUlAssMultiblock(ext_ra := ext_ra); + rest := tr_IaRestOctets_EGPRSULAss(ul_ass); + imm_ass := tr_IMM_TBF_ASS(dl := false, rest := rest); + + f_TC_egprs_pkt_chan_req(req, imm_ass); + } +} + +testcase TC_egprs_pkt_chan_req_one_phase() runs on RAW_PCU_Test_CT { + var template GsmRrMessage imm_ass; + var template IaRestOctets rest; + var template EgprsUlAss ul_ass; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + var EGPRSPktChRequest req := { + /* NOTE: other fields are set in the loop */ + one_phase := { tag := '0'B } + }; + + for (var integer i := 0; i < 6; i := i + 1) { + var BIT5 ext_ra := int2bit(f_rnd_int(32), 5); + var BIT5 mslot_class := int2bit(f_rnd_int(32), 5); + var BIT2 priority := substr(ext_ra, 0, 2); + var BIT3 rand := substr(ext_ra, 2, 3); + + req.one_phase.multislot_class := mslot_class; + req.one_phase.priority := priority; + req.one_phase.random_bits := rand; + + /* For one phase access, do we expect Dynamic UL TBF Assignment? */ + ul_ass := tr_EgprsUlAssDynamic(ext_ra := ext_ra); + rest := tr_IaRestOctets_EGPRSULAss(ul_ass); + imm_ass := tr_IMM_TBF_ASS(dl := false, rest := rest); + + f_TC_egprs_pkt_chan_req(req, imm_ass); + } +} + +testcase TC_egprs_pkt_chan_req_two_phase() runs on RAW_PCU_Test_CT { + var template GsmRrMessage imm_ass; + var template IaRestOctets rest; + var template EgprsUlAss ul_ass; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + var EGPRSPktChRequest req := { + /* NOTE: other fields are set in the loop */ + two_phase := { tag := '110000'B } + }; + + for (var integer i := 0; i < 6; i := i + 1) { + var BIT5 ext_ra := int2bit(f_rnd_int(32), 5); + var BIT2 priority := substr(ext_ra, 0, 2); + var BIT3 rand := substr(ext_ra, 2, 3); + + req.two_phase.priority := priority; + req.two_phase.random_bits := rand; + + /* For two phase access, do we expect Multiblock UL TBF Assignment? */ + ul_ass := tr_EgprsUlAssMultiblock(ext_ra := ext_ra); + rest := tr_IaRestOctets_EGPRSULAss(ul_ass); + imm_ass := tr_IMM_TBF_ASS(dl := false, rest := rest); + + f_TC_egprs_pkt_chan_req(req, imm_ass); + } +} + +control { + execute( TC_pcuif_suspend() ); + execute( TC_ta_ptcch_idle() ); + execute( TC_ta_rach_imm_ass() ); + execute( TC_ta_idle_dl_tbf_ass() ); + execute( TC_ta_ptcch_ul_multi_tbf() ); + execute( TC_cs_lqual_ul_tbf() ); + execute( TC_cs_initial_ul() ); + execute( TC_cs_max_ul() ); + execute( TC_t3169() ); + execute( TC_t3193() ); + execute( TC_mo_ping_pong() ); + execute( TC_mo_ping_pong_with_ul_racap() ); + execute( TC_mt_ping_pong() ); + execute( TC_mt_ping_pong_with_dl_racap() ); + execute( TC_imm_ass_dl_block_retrans() ); + execute( TC_paging_cs_from_bts() ); + execute( TC_paging_cs_from_sgsn_sign_ptmsi() ); + execute( TC_paging_cs_from_sgsn_sign() ); + execute( TC_paging_cs_from_sgsn_ptp() ); + execute( TC_paging_ps_from_sgsn_sign_ptmsi() ); + execute( TC_paging_ps_from_sgsn_sign() ); + execute( TC_paging_ps_from_sgsn_ptp() ); + + /* EGPRS specific test cases */ + execute( TC_egprs_pkt_chan_req_signalling() ); + execute( TC_egprs_pkt_chan_req_one_phase() ); + execute( TC_egprs_pkt_chan_req_two_phase() ); +} + + + + + + } diff --git a/pcu/PCU_Tests_RAW_NS.ttcn b/pcu/PCU_Tests_NS.ttcn similarity index 99% rename from pcu/PCU_Tests_RAW_NS.ttcn rename to pcu/PCU_Tests_NS.ttcn index 81b60c3..9ea5149 100644 --- a/pcu/PCU_Tests_RAW_NS.ttcn +++ b/pcu/PCU_Tests_NS.ttcn @@ -1,4 +1,4 @@ -module PCU_Tests_RAW_NS { +module PCU_Tests_NS { /* Osmocom PCU test suite for IP Sub-Network-Service (SNS) in TTCN-3 * (C) 2018-2019 Harald Welte @@ -12,7 +12,7 @@ import from General_Types all; import from Osmocom_Types all; -import from PCU_Tests_RAW all; +import from PCU_Tests all; import from SGSN_Components all; import from Osmocom_Gb_Types all; import from NS_CodecPort all; diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn deleted file mode 100644 index 1348a8e..0000000 --- a/pcu/PCU_Tests_RAW.ttcn +++ /dev/null @@ -1,1906 +0,0 @@ -module PCU_Tests_RAW { - -/* "RAW" PCU tests: Talk directly to the PCU socket of OsmoPCU on the one hand side (emulating - the BTS/BSC side PCU socket server) and the Gb interface on the other hand side. No NS/BSSGP - Emulation is used; rather, we simply use the NS_CodecPort to implement both standard and non- - standard procedures on the NS and BSSGP level. The goal of these tests is to test exactly - those NS and BSSGP implementations on the BSS (PCU) side. */ - -/* (C) 2018-2019 Harald Welte - * (C) 2019 Vadim Yanitskiy - * 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 - */ - -friend module PCU_Tests_RAW_NS; - -import from General_Types all; -import from Osmocom_Types all; -import from GSM_Types all; -import from GSM_RR_Types all; - -import from Osmocom_VTY_Functions all; -import from TELNETasp_PortType all; - -import from MobileL3_GMM_SM_Types all; -import from RLCMAC_CSN1_Types all; -import from RLCMAC_Types all; - -import from MobileL3_CommonIE_Types all; -import from L3_Templates all; - -import from NS_Types all; -import from BSSGP_Types all; -import from Osmocom_Gb_Types all; - -import from BSSGP_Emulation all; /* BssgpConfig */ -import from NS_Emulation all; /* NSConfiguration */ - -import from UD_Types all; -import from PCUIF_Types all; -import from PCUIF_CodecPort all; -import from PCUIF_RAW_Components all; -import from IPL4asp_Types all; -import from Native_Functions all; -import from SGSN_Components all; - -modulepar { - charstring mp_pcu_sock_path := PCU_SOCK_DEFAULT; - - float X2002 := 0.2; /* Timer -2002, IMM ASSIGN confirm delay */ -} - - -/* FIXME: make sure to use parameters from mp_gb_cfg.cell_id in the PCU INFO IND */ -private template (value) PCUIF_info_ind ts_PCUIF_INFO_default := { - version := PCU_IF_VERSION, - flags := c_PCUIF_Flags_default, - trx := valueof(ts_PCUIF_InfoTrxs_def), - bsic := 7, - mcc := 262, - mnc := 42, - mnc_3_digits := 0, - lac := 13135, - rac := 0, - nsei := mp_nsconfig.nsei, - nse_timer := { 3, 3, 3, 3, 30, 3, 10 }, - cell_timer := { 3, 3, 3, 3, 3, 10, 3, 10, 3, 10, 3 }, - cell_id := 20960, - repeat_time := 5 * 50, - repeat_count := 3, - bvci := mp_gb_cfg.bvci, - t3142 := 20, - t3169 := 5, - t3191 := 5, - t3193_10ms := 160, - t3195 := 5, - t3101 := 10, - t3103 := 4, - t3105 := 8, - cv_countdown := 15, - dl_tbf_ext := 250 * 10, /* ms */ - ul_tbf_ext := 250 * 10, /* ms */ - initial_cs := 2, - initial_mcs := 6, - nsvci := { mp_nsconfig.nsvci, 0 }, - local_pprt := { mp_nsconfig.remote_udp_port, 0 }, - remote_port := { mp_nsconfig.local_udp_port, 0 }, - remote_ip := { f_inet_haddr(mp_nsconfig.local_ip) , '00000000'O } -} - -type record lqual_range { - /* component reference to the IPA_Client component used for RSL */ - uint8_t low, - uint8_t high -} - -type component RAW_PCU_Test_CT extends bssgp_CT { - /* Connection to the BTS component (one for now) */ - port RAW_PCU_MSG_PT BTS; - /* Connection to the PCUIF component */ - port RAW_PCU_MSG_PT PCUIF; - /* VTY connection to the PCU */ - port TELNETasp_PT PCUVTY; - - /* Uplink CS/MCS thresholds, default from pcu_main.c: */ - var lqual_range g_cs_lqual_ranges[4] := {{low := 0, high := 6}, - {low := 5, high := 8}, - {low := 7, high := 13}, - {low := 12,high := 35}}; - var lqual_range g_mcs_lqual_ranges[9] := {{low := 0, high := 6}, - {low := 5, high := 8}, - {low := 7, high := 13}, - {low := 12,high := 15}, - {low := 14, high := 17}, - {low := 16, high := 18}, - {low := 17,high := 20}, - {low := 19, high := 24}, - {low := 23,high := 35}}; - var uint8_t g_cs_initial_dl := 1; - var uint8_t g_cs_initial_ul := 1; - var uint8_t g_mcs_initial_dl := 1; - var uint8_t g_mcs_initial_ul := 1; - var uint8_t g_cs_max_dl := 4; - var uint8_t g_cs_max_ul := 4; - var uint8_t g_mcs_max_dl := 9; - var uint8_t g_mcs_max_ul := 9; - - var boolean g_egprs_only := false; - - /* Guard timeout */ - timer g_T_guard := 60.0; -}; - -private altstep as_Tguard_RAW() runs on RAW_PCU_Test_CT { - [] g_T_guard.timeout { - setverdict(fail, "Timeout of T_guard"); - mtc.stop; - } -} - -private function f_pcuvty_set_allowed_cs_mcs() runs on RAW_PCU_Test_CT { - f_vty_config2(PCUVTY, {"pcu"}, "cs " & int2str(g_cs_initial_dl) & " " & int2str(g_cs_initial_ul)); - f_vty_config2(PCUVTY, {"pcu"}, "cs max " & int2str(g_cs_max_dl) & " " & int2str(g_cs_max_ul)); - - f_vty_config2(PCUVTY, {"pcu"}, "mcs " & int2str(g_mcs_initial_dl) & " " & int2str(g_mcs_initial_ul)); - f_vty_config2(PCUVTY, {"pcu"}, "mcs max " & int2str(g_mcs_max_dl) & " " & int2str(g_mcs_max_ul)); -} - -private function f_pcuvty_set_link_quality_ranges() runs on RAW_PCU_Test_CT { - var charstring cmd; - - cmd := "cs link-quality-ranges" & - " cs1 " & int2str(g_cs_lqual_ranges[0].high) & - " cs2 " & int2str(g_cs_lqual_ranges[1].low) & " " & int2str(g_cs_lqual_ranges[1].high) & - " cs3 " & int2str(g_cs_lqual_ranges[2].low) & " " & int2str(g_cs_lqual_ranges[2].high) & - " cs4 " & int2str(g_cs_lqual_ranges[3].low); - f_vty_config2(PCUVTY, {"pcu"}, cmd); - - cmd := "mcs link-quality-ranges" & - " mcs1 " & int2str(g_mcs_lqual_ranges[0].high) & - " mcs2 " & int2str(g_mcs_lqual_ranges[1].low) & " " & int2str(g_mcs_lqual_ranges[1].high) & - " mcs3 " & int2str(g_mcs_lqual_ranges[2].low) & " " & int2str(g_mcs_lqual_ranges[2].high) & - " mcs4 " & int2str(g_mcs_lqual_ranges[3].low) & " " & int2str(g_mcs_lqual_ranges[3].high) & - " mcs5 " & int2str(g_mcs_lqual_ranges[4].low) & " " & int2str(g_mcs_lqual_ranges[4].high) & - " mcs6 " & int2str(g_mcs_lqual_ranges[5].low) & " " & int2str(g_mcs_lqual_ranges[5].high) & - " mcs7 " & int2str(g_mcs_lqual_ranges[6].low) & " " & int2str(g_mcs_lqual_ranges[6].high) & - " mcs8 " & int2str(g_mcs_lqual_ranges[7].low) & " " & int2str(g_mcs_lqual_ranges[7].high) & - " mcs9 " & int2str(g_mcs_lqual_ranges[8].low); - f_vty_config2(PCUVTY, {"pcu"}, cmd); -} - -private function f_init_vty(charstring id) runs on RAW_PCU_Test_CT { - map(self:PCUVTY, system:PCUVTY); - f_vty_set_prompts(PCUVTY); - f_vty_transceive(PCUVTY, "enable"); - - if (g_egprs_only) { - f_vty_config2(PCUVTY, {"pcu"}, "egprs only"); - } else { - f_vty_config2(PCUVTY, {"pcu"}, "no egprs"); - } -} - -private function f_init_raw(charstring id, template (value) PCUIF_info_ind info_ind := ts_PCUIF_INFO_default) -runs on RAW_PCU_Test_CT { - var RAW_PCUIF_CT vc_PCUIF; - var RAW_PCU_BTS_CT vc_BTS; - - /* Start the guard timer */ - g_T_guard.start; - activate(as_Tguard_RAW()); - - /* Init PCU interface component */ - vc_PCUIF := RAW_PCUIF_CT.create("PCUIF-" & id); - connect(vc_PCUIF:MTC, self:PCUIF); - map(vc_PCUIF:PCU, system:PCU); - - /* Create one BTS component (we may want more some day) */ - vc_BTS := RAW_PCU_BTS_CT.create("BTS-" & id); - connect(vc_BTS:PCUIF, vc_PCUIF:BTS); - connect(vc_BTS:TC, self:BTS); - - f_init_vty(id); - - vc_PCUIF.start(f_PCUIF_CT_handler(mp_pcu_sock_path)); - vc_BTS.start(f_BTS_CT_handler(0, valueof(info_ind))); - - /* Wait until the BTS is ready (SI13 negotiated) */ - BTS.receive(tr_RAW_PCU_EV(BTS_EV_SI13_NEGO)); -} - -template AckNackDescription t_AckNackDescription_init := { - final_ack := '0'B, - starting_seq_nr := 0, - receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B -} - -private function f_rlcmac_dl_block_get_tfi(RlcmacDlBlock dl_block) return uint5_t { - if (ischosen(dl_block.data)) { - return dl_block.data.mac_hdr.hdr_ext.tfi; - } else { - return dl_block.data_egprs.mac_hdr.tfi; - } -} - -/* TS 44.060 sec 12.3 Ack/Nack Description */ -private function f_acknackdesc_ack_block(inout AckNackDescription desc, RlcmacDlBlock dl_block, BIT1 final_ack := '0'B) -{ - var uint7_t bsn; - var integer i; - var integer inc; - - if (ischosen(dl_block.data)) { - bsn := dl_block.data.mac_hdr.hdr_ext.bsn; - } else { - bsn := dl_block.data_egprs.mac_hdr.bsn1; - } - - inc := bsn - desc.starting_seq_nr + 1; - /* Filling hole? */ - if (bsn < desc.starting_seq_nr) { - desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - (desc.starting_seq_nr - bsn)] := int2bit(1, 1); - return; - } - - /* SSN is increased, and so RBB values need to be moved */ - for (i := 0; i < lengthof(desc.receive_block_bitmap) - inc; i := i+1) { - desc.receive_block_bitmap[i] := desc.receive_block_bitmap[i + inc]; - } - for (i := lengthof(desc.receive_block_bitmap) - inc; i < lengthof(desc.receive_block_bitmap) - 1; i := i+1) { - desc.receive_block_bitmap[i] := int2bit(0, 1); - } - /* Now we can set current bit and update SSN */ - desc.starting_seq_nr := bsn + 1; - desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - 1] := int2bit(1, 1); - - /* Finally update the final_ack bit as requested: */ - desc.final_ack := final_ack; -} - -/* This function can be used to send DATA.cnf in response to the IUT originated DATA.req. - * NOTE: it's the responsibility of caller to make sure that pcu_msg contains u.data_req. */ -private function f_pcuif_tx_data_cnf(in PCUIF_Message pcu_msg) -runs on RAW_PCU_Test_CT { - var PCUIF_Message pcu_msg_cnf := { - msg_type := PCU_IF_MSG_DATA_CNF, - bts_nr := pcu_msg.bts_nr, - spare := pcu_msg.spare, - u := { data_cnf := pcu_msg.u.data_req } - }; - - /* PCU wants DATA.cnf containing basically everything that was in DATA.req, - * but PCU_IF_SAPI_PCH is a special case - paging group shall be excluded. */ - if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { - pcu_msg_cnf.u.data_cnf.data := substr(pcu_msg.u.data_req.data, 3, - pcu_msg.u.data_req.len - 3); - } - - BTS.send(pcu_msg_cnf); -} - -private function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, - template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, - template GsmRrMessage t_imm_ass := ?, - uint8_t bts_nr := 0) -runs on RAW_PCU_Test_CT return boolean { - var PCUIF_Message pcu_msg; - var octetstring data; - timer T; - - T.start(2.0); - alt { - [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, - sapi := sapi, data := ?)) -> value pcu_msg { - /* On PCH the payload is prefixed with paging group (3 octets): skip it. - * TODO: add an additional template parameter, so we can match it. */ - if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { - data := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); - } else { - data := pcu_msg.u.data_req.data; - } - - rr_imm_ass := dec_GsmRrMessage(data); - if (not match(rr_imm_ass, t_imm_ass)) { - /* Not for us? Wait for more. */ - repeat; - } - - log("Rx Immediate Assignment: ", rr_imm_ass); - setverdict(pass); - return true; - } - [] BTS.receive { repeat; } - [] T.timeout { - setverdict(fail, "Timeout waiting for Immediate Assignment"); - } - } - - return false; -} - -/* FIXME: properly encode RA (see TS 24.060, table 11.2.5.2) */ -private function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, - uint16_t ra := oct2int('3A'O), uint8_t is_11bit := 0, - PCUIF_BurstType burst_type := BURST_TYPE_0, - TimingAdvance ta := 0) -runs on RAW_PCU_Test_CT return boolean { - var uint32_t fn; - - /* FIXME: ask the BTS component to give us the current TDMA fn */ - fn := 1337 + ta; - - /* Send RACH.ind */ - log("Sending RACH.ind on fn=", fn, " with RA=", ra, ", TA=", ta); - BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, - ra := ra, is_11bit := is_11bit, - burst_type := burst_type, - fn := fn, arfcn := 871, - qta := ta * 4)); - - /* 3GPP TS 44.018, table 9.1.8.1, note 2b: Request Reference shall be set to 127 - * when Immediate Assignment is triggered by EGPRS Packet Channel Request. Here - * we assume that 11 bit RA always contains EGPRS Packet Channel Request. */ - if (is_11bit != 0) { ra := 127; } - - /* Expect Immediate (TBF) Assignment on TS0/AGCH */ - return f_pcuif_rx_imm_ass(rr_imm_ass, PCU_IF_SAPI_AGCH, - tr_IMM_TBF_ASS(?, ra, fn), - bts_nr := bts_nr); -} - -private function f_imm_ass_verify_ul_tbf_ass(GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) -runs on RAW_PCU_Test_CT return boolean { - - /* Make sure we received an UL TBF Assignment */ - if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { - ul_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; - log("Rx Uplink TBF assignment: ", ul_tbf_ass); - setverdict(pass); - } else { - setverdict(fail, "Failed to match UL TBF Assignment"); - return false; - } - - /* Make sure we have got a TBF with Dynamic Block Allocation */ - if (ul_tbf_ass.dynamic == omit) { - setverdict(fail, "Single Block Allocation is not handled by ", testcasename()); - return false; - } - - return true; -} - -private function f_imm_ass_verify_dl_tbf_ass(GsmRrMessage rr_imm_ass, out PacketDlAssign dl_tbf_ass) -runs on RAW_PCU_Test_CT return boolean { - - /* Make sure we received a DL TBF Assignment */ - if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := true, rest := tr_IaRestOctets_DLAss(?)))) { - dl_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.dl; - log("Rx Downlink TBF assignment: ", dl_tbf_ass); - setverdict(pass); - } else { - setverdict(fail, "Failed to match DL TBF Assignment"); - return false; - } - - return true; -} - -/* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ -private function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0) -runs on RAW_PCU_Test_CT { - var template RAW_PCU_EventParam ev_param := {tdma_fn := ? }; - BTS.send(ts_PCUIF_DATA_IND(bts_nr := 0, trx_nr := 0, ts_nr := 7, block_nr := 0, - sapi := PCU_IF_SAPI_PDTCH, data := data, - fn := fn, arfcn := 871, lqual_cb := lqual_cb)); - if (fn != 0) { - ev_param := {tdma_fn := fn }; - } - BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_SENT, ev_param)); -} - -/* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ -private function f_pcuif_rx_data_req(out PCUIF_Message pcu_msg) -runs on RAW_PCU_Test_CT { - BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, - sapi := PCU_IF_SAPI_PDTCH, fn := 0, - arfcn := 871, block_nr := 0)); - BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, - sapi := PCU_IF_SAPI_PDTCH)) -> value pcu_msg; -} - -/* Expect an Immediate Assignment (paging) from PCU on PCUIF on specified sapi. */ -private function f_pcuif_rx_pch_imm_tbf_ass(out GsmRrMessage rr_imm_ass) -runs on RAW_PCU_Test_CT { - var PCUIF_Message pcu_msg; - var octetstring macblock; - BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, - sapi := PCU_IF_SAPI_PCH)) -> value pcu_msg; - /* First 3 bytes contain paging group: */ - macblock := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); - rr_imm_ass := dec_GsmRrMessage(macblock); - if (not match(rr_imm_ass, tr_IMM_TBF_ASS())) { - setverdict(fail, "Failed to match Immediate Assignment: ", rr_imm_ass); - mtc.stop; - } - f_pcuif_tx_data_cnf(pcu_msg); -} - -/* Expect a Paging Request Type 1 from PCU on PCUIF on specified sapi. */ -private function f_pcuif_rx_pch_pag_req1(template MobileIdentityV mi1 := ?, - template integer pag_group := ?) -runs on RAW_PCU_Test_CT return GsmRrMessage { - var GsmRrMessage rr_pag_req1; - var PCUIF_Message pcu_msg; - var octetstring imsi_suff_octstr; - var integer pag_group_rx; - var octetstring macblock; - - BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, - sapi := PCU_IF_SAPI_PCH)) -> value pcu_msg; - - /* First 3 bytes contain IMSI suffix to calculate paging group: */ - imsi_suff_octstr := substr(pcu_msg.u.data_req.data, 0, 3); - pag_group_rx := str2int(oct2char(imsi_suff_octstr[0])) * 100 + - str2int(oct2char(imsi_suff_octstr[1])) * 10 + - str2int(oct2char(imsi_suff_octstr[2])); - - /* Make sure we've got RR Paging Request Type 1 for a given MI */ - macblock := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); - rr_pag_req1 := dec_GsmRrMessage(macblock); - if (not match(rr_pag_req1, tr_PAG_REQ1(tr_MI_LV(mi1)))) { - setverdict(fail, "Failed to match Paging Request Type 1: ", rr_pag_req1); - mtc.stop; - } - - /* Make sure that received paging froup matches the expected one */ - if (not match(pag_group_rx, pag_group)) { - setverdict(fail, "Paging group", pag_group_rx, " does not match expected ", pag_group); - mtc.stop; - } - - f_pcuif_tx_data_cnf(pcu_msg); - return rr_pag_req1; -} - -private function f_tx_rlcmac_ul_block(template (value) RlcmacUlBlock ul_data, int16_t lqual_cb := 0, uint32_t fn := 0) -runs on RAW_PCU_Test_CT { - var octetstring data; - /* Encode the payload of DATA.ind */ - data := enc_RlcmacUlBlock(valueof(ul_data)); - data := f_pad_oct(data, 23, '00'O); /* CS-1 */ - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - f_pcuif_tx_data_ind(data, lqual_cb, fn); -} - -private function f_tx_rlcmac_ul_n_blocks(PacketUlAssign ul_tbf_ass, integer num_blocks := 1) -runs on RAW_PCU_Test_CT { - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := ul_tbf_ass.dynamic.tfi_assignment, - cv := num_blocks - 1, /* num UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* TODO: what should be here? */ - blocks := { /* To be generated in loop */ }); - - /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ - ul_data.data.tlli := '00000001'O; - - for (var integer i := 0; i < num_blocks; i := i + 1) { - /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (num_blocks - i - 1); - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; - f_tx_rlcmac_ul_block(ul_data); - } -} - -private function f_rx_rlcmac_dl_block(out RlcmacDlBlock dl_block, out uint32_t dl_fn, template (present) CodingScheme exp_cs_mcs := ?) -runs on RAW_PCU_Test_CT { - var PCUIF_Message pcu_msg; - f_pcuif_rx_data_req(pcu_msg); - dl_block := dec_RlcmacDlBlock(pcu_msg.u.data_req.data); - dl_fn := pcu_msg.u.data_req.fn; - - var integer len := lengthof(pcu_msg.u.data_req.data); - var CodingScheme cs_mcs := f_rlcmac_block_len2cs_mcs(len) - if (not match(f_rlcmac_block_len2cs_mcs(len), exp_cs_mcs)) { - setverdict(fail, "Failed to match Coding Scheme exp ", exp_cs_mcs, " vs ", cs_mcs, " (", len, ")"); - mtc.stop; - } -} - -private function f_rx_rlcmac_dl_block_exp_ack_nack(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK(ul_tfi := ?, tlli := ?))) { - setverdict(fail, "Failed to match Packet Uplink ACK / NACK"); - mtc.stop; - } - - poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); -} - -private function f_rx_rlcmac_dl_block_exp_dummy(out RlcmacDlBlock dl_block) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { - setverdict(fail, "Failed to match Packet DUMMY DL"); - mtc.stop; - } -} - -private function f_rx_rlcmac_dl_block_exp_pkt_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { - setverdict(fail, "Failed to match Packet Downlink Assignment"); - mtc.stop; - } - - poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); -} - -private function f_rx_rlcmac_dl_block_exp_pkt_ul_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_UL_PACKET_ASS())) { - setverdict(fail, "Failed to match Packet Uplink Assignment"); - mtc.stop; - } - - poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); -} - - -private function f_rx_rlcmac_dl_block_exp_pkt_pag_req(out RlcmacDlBlock dl_block) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_PACKET_PAG_REQ())) { - setverdict(fail, "Failed to match Packet Paging Request: ", dl_block, " vs ", tr_RLCMAC_PACKET_PAG_REQ()); - mtc.stop; - } -} - -private function f_rlcmac_dl_block_verify_data_gprs(RlcmacDlBlock dl_block, uint32_t dl_fn, out uint32_t ack_fn, octetstring data, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) -{ - log("verifying dl data block (gprs): ", dl_block); - - ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data.mac_hdr.mac_hdr.rrbp); - - if (not match(dl_block.data.mac_hdr.hdr_ext.bsn, exp_bsn)) { - setverdict(fail, "DL block BSN doesn't match: ", - dl_block.data.blocks[0].hdr.length_ind, " vs exp ", exp_bsn); - } - - if (lengthof(dl_block.data.blocks) < 1) { - setverdict(fail, "DL block has no LLC payload: ", dl_block); - mtc.stop; - } - - if (ispresent(dl_block.data.blocks[0].hdr) and dl_block.data.blocks[0].hdr.length_ind != lengthof(data)) { - setverdict(fail, "DL block has LLC header with wrong expected size: ", - dl_block.data.blocks[0].hdr.length_ind, " vs ", lengthof(data)); - mtc.stop; - } - - if (dl_block.data.blocks[0].payload != data) { - setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); - mtc.stop; - } - - /* Check next data blocks contain dummy frames */ - if (lengthof(dl_block.data.blocks) > 1 and substr(dl_block.data.blocks[1].payload, 0, 3) != '43C001'O) { - setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); - mtc.stop; - } - - /* TODO: check exp_cs */ -} - -private function f_rlcmac_dl_block_verify_data_egprs(RlcmacDlBlock dl_block, uint32_t dl_fn, out uint32_t ack_fn, octetstring data, template (present) uint14_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) -{ - log("verifying dl data block (egprs): ", dl_block); - - ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data_egprs.mac_hdr.rrbp); - - if (not match(dl_block.data_egprs.mac_hdr.bsn1, exp_bsn)) { - setverdict(fail, "DL block BSN doesn't match: ", - dl_block.data_egprs.blocks[0].hdr.length_ind, " vs exp ", exp_bsn); - } - - if (lengthof(dl_block.data_egprs.blocks) < 1) { - setverdict(fail, "DL block has no LLC payload: ", dl_block); - mtc.stop; - } - - if (ispresent(dl_block.data_egprs.blocks[0].hdr) and dl_block.data_egprs.blocks[0].hdr.length_ind != lengthof(data)) { - setverdict(fail, "DL block has LLC header with wrong expected size: ", - dl_block.data_egprs.blocks[0].hdr.length_ind, " vs ", lengthof(data)); - mtc.stop; - } - - if (dl_block.data_egprs.blocks[0].payload != data) { - setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); - mtc.stop; - } - - /* Check next data blocks contain dummy frames */ - if (lengthof(dl_block.data_egprs.blocks) > 1 and substr(dl_block.data_egprs.blocks[1].payload, 0, 3) != '43C001'O) { - setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); - mtc.stop; - } - - /* TODO: Check exp_cs. In the case of EGPRS, first check mac_hdr.header_type and then decode CPS = exp_cs based on mac_hdr.header_type. - See wireshark's egprs_Header_type1_coding_puncturing_scheme_to_mcs. */ -} - -private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t ack_fn, octetstring data, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) -runs on RAW_PCU_Test_CT { - var PCUIF_Message pcu_msg; - var uint32_t dl_fn; - var boolean is_egprs := false; - var template RlcmacDlBlock dl_template := tr_RLCMAC_DATA_RRBP; - dl_template.data.blocks := ?; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, dl_template)) { - dl_template := tr_RLCMAC_DATA_EGPRS; - dl_template.data_egprs.blocks := ?; - if (not match(dl_block, dl_template)) { - setverdict(fail, "Failed to match Packet data: ", dl_block, " vs ", dl_template); - mtc.stop; - } - is_egprs := true; - } - - if (is_egprs) { - f_rlcmac_dl_block_verify_data_egprs(dl_block, dl_fn, ack_fn, data, exp_bsn, exp_cs); - } else { - f_rlcmac_dl_block_verify_data_gprs(dl_block, dl_fn, ack_fn, data, exp_bsn, exp_cs); - } -} - -testcase TC_pcuif_suspend() runs on RAW_PCU_Test_CT { - var octetstring ra_id := enc_RoutingAreaIdentification(mp_gb_cfg.cell_id.ra_id); - var GprsTlli tlli := 'FFFFFFFF'O; - timer T; - - /* 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(); - - BTS.send(ts_PCUIF_SUSP_REQ(0, tlli, ra_id, 0)); - - T.start(2.0); - alt { - [] BSSGP_SIG[0].receive(tr_BSSGP_SUSPEND(tlli, mp_gb_cfg.cell_id.ra_id)) { - setverdict(pass); - } - [] T.timeout { - setverdict(fail, "Timeout waiting for BSSGP SUSPEND"); - } - } -} - -/* Test of correct Timing Advance at the time of TBF establishment - * (derived from timing offset of the Access Burst). */ -testcase TC_ta_rach_imm_ass() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_msg; - var boolean ok; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - /* We cannot send too many TBF requests in a short time because - * at some point the PCU will fail to allocate a new TBF. */ - for (var TimingAdvance ta := 0; ta < 64; ta := ta + 16) { - /* Establish an Uplink TBF (send RACH.ind with current TA) */ - ok := f_establish_tbf(rr_msg, bts_nr := 0, ta := ta); - if (not ok) { - setverdict(fail, "Failed to establish an Uplink TBF"); - mtc.stop; - } - - /* Make sure Timing Advance IE matches out expectations */ - if (match(rr_msg, tr_IMM_TBF_ASS(dl := false, ta := ta))) { - setverdict(pass); - } - } -} - -/* 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 - * no active TBF exists at the moment of establishment (idle mode). */ -testcase TC_ta_idle_dl_tbf_ass() runs on RAW_PCU_Test_CT { - var OCT4 tlli := f_rnd_octstring(4); - var GsmRrMessage rr_imm_ass; - - /* 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('FFFFFFFF'O, tlli); - - /* SGSN sends some DL data, PCU will initiate Packet Downlink - * Assignment on CCCH (PCH). We don't care about the payload. */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, f_rnd_octstring(10))); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); // TODO: match by TLLI! - - /* Make sure that Timing Advance is 0 (the actual value is not known yet). - * As per 3GPP S 44.018, section 3.5.3.1.2, the network *shall* initiate - * the procedures defined in 3GPP TS 44.060 or use the polling mechanism. */ - if (not match(rr_imm_ass, tr_IMM_TBF_ASS(ta := 0))) { - setverdict(fail, "Timing Advance value doesn't match"); - mtc.stop; - } -} - -/* Verify that the PCU generates valid PTCCH/D messages - * while neither Uplink nor Downlink TBF is established. */ -testcase TC_ta_ptcch_idle() runs on RAW_PCU_Test_CT { - var PTCCHDownlinkMsg ptcch_msg; - var PCUIF_Message pcu_msg; - timer T; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - /* Sent an RTS.req for PTCCH/D */ - BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, - sapi := PCU_IF_SAPI_PTCCH, fn := 0, - arfcn := 871, block_nr := 0)); - T.start(5.0); - alt { - [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, - sapi := PCU_IF_SAPI_PTCCH)) -> value pcu_msg { - log("Rx DATA.req message: ", pcu_msg); - setverdict(pass); - } - [] BTS.receive(PCUIF_Message:?) { repeat; } - [] T.timeout { - setverdict(fail, "Timeout waiting for a PTCCH/D block"); - mtc.stop; - } - } - - ptcch_msg := dec_PTCCHDownlinkMsg(pcu_msg.u.data_req.data); - log("Decoded PTCCH/D message: ", ptcch_msg); - - /* Make sure the message is encoded correctly - * TODO: do we expect all TA values to be equal '1111111'B? */ - if (not match(ptcch_msg, tr_PTCCHDownlinkMsg)) { - setverdict(fail, "Malformed PTCCH/D message"); - mtc.stop; - } -} - -/* Test of correct Timing Advance during an active Uplink TBF. - * - * Unlike the circuit-switched domain, Uplink transmissions on PDCH time-slots - * are not continuous and there can be long time gaps between them. This happens - * due to a bursty nature of packet data. The actual Timing Advance of a MS may - * significantly change between such rare Uplink transmissions, so GPRS introduces - * additional mechanisms to control Timing Advance, and thus reduce interference - * between neighboring TDMA time-slots. - * - * At the moment of Uplink TBF establishment, initial Timing Advance is measured - * from ToA (Timing of Arrival) of an Access Burst. This is covered by another - * test case - TC_ta_rach_imm_ass. In response to that Access Burst the network - * sends Immediate Assignment on AGCH, which _may_ contain Timing Advance Index - * among with the initial Timing Advance value. And here PTCCH comes to play. - * - * PTCCH is a unidirectional channel on which the network can instruct a sub-set - * of 16 MS (whether TBFs are active or not) to adjust their Timing Advance - * continuously. To ensure continuous measurements of the signal propagation - * delay, the MSs shall transmit Access Bursts on Uplink (PTCCH/U) on sub-slots - * defined by an assigned Timing Advance Index (see 3GPP TS 45.002). - * - * The purpose of this test case is to verify the assignment of Timing Advance - * Index, and the process of Timing Advance notification on PTCCH/D. The MTC - * first establishes several Uplink TBFs, but does not transmit any Uplink - * blocks on them. During 4 TDMA multi-frame periods the MTC is sending RACH - * indications to the PCU, checking the correctness of two received PTCCH/D - * messages (period of PTCCH/D is two multi-frames). - */ - -/* List of ToA values for Access Bursts to be sent on PTCCH/U, - * each ToA (Timing of Arrival) value is in units of 1/4 of - * a symbol (i.e. 1 symbol is 4 QTA units). */ -type record length(16) of int16_t PTCCH_TAI_ToA_MAP; -const PTCCH_TAI_ToA_MAP ptcch_toa_map_def := { - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0 -}; - -private altstep as_ta_ptcch(uint8_t bts_nr := 0, uint8_t trx_nr := 0, uint8_t ts_nr := 7, - in PTCCH_TAI_ToA_MAP toa_map := ptcch_toa_map_def) -runs on RAW_PCU_Test_CT { - var RAW_PCU_Event event; - var integer ss; - - /* Send Access Bursts on PTCCH/U for every TA Index */ - [] BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PTCCH_UL_BURST)) -> value event { - ss := f_tdma_ptcch_fn2ss(event.data.tdma_fn); - if (ss < 0) { mtc.stop; } /* Shall not happen */ - - log("Sending an Access Burst on PTCCH/U", - ", sub-slot=", ss, " (TAI)", - ", fn=", event.data.tdma_fn, - ", ToA=", toa_map[ss], " (QTA)"); - /* TODO: do we care about RA and burst format? */ - BTS.send(ts_PCUIF_RACH_IND(bts_nr, trx_nr, ts_nr, - ra := oct2int('3A'O), - is_11bit := 0, - burst_type := BURST_TYPE_0, - fn := event.data.tdma_fn, - arfcn := 871, - qta := toa_map[ss], - sapi := PCU_IF_SAPI_PTCCH)); - repeat; - } -} - -private function f_TC_ta_ptcch_ul_multi_tbf(in PTCCH_TAI_ToA_MAP ptcch_toa_map, - template PTCCHDownlinkMsg t_ta_msg) -runs on RAW_PCU_Test_CT { - var PTCCHDownlinkMsg ta_msg; - var PCUIF_Message pcu_msg; - timer T; - - /* First, send an RTS.req for the upcoming PTCCH/D block */ - BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, - sapi := PCU_IF_SAPI_PTCCH, fn := 0, - arfcn := 871, block_nr := 0)); - T.start(2.0); - alt { - /* Keep sending of Access Bursts during two multi-frames (period of PTCCH/D) - * with increasing ToA (Timing of Arrival) values: 0, 7, 14, 28, 35... */ - [] as_ta_ptcch(bts_nr := 0, trx_nr := 0, ts_nr := 7, toa_map := ptcch_toa_map); - /* In the end of 2nd multi-frame we should receive a PTCCH/D block */ - [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, - sapi := PCU_IF_SAPI_PTCCH)) -> value pcu_msg { - ta_msg := dec_PTCCHDownlinkMsg(pcu_msg.u.data_req.data); - log("Rx PTCCH/D message: ", ta_msg); - - /* Make sure Timing Advance values match our expectations */ - if (match(ta_msg, t_ta_msg)) { - setverdict(pass); - } else { - setverdict(fail, "PTCCH/D message does not match: ", t_ta_msg); - } - } - [] BTS.receive { repeat; } - [] T.timeout { - setverdict(fail, "Timeout waiting for a PTCCH/D block"); - mtc.stop; - } - } -} - -testcase TC_ta_ptcch_ul_multi_tbf() runs on RAW_PCU_Test_CT { - var template PacketUlAssign t_ul_tbf_ass; - var PacketUlAssign ul_tbf_ass[7]; - var GsmRrMessage rr_msg[7]; - var boolean ok; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - /* Enable forwarding of PTCCH/U TDMA events to us */ - BTS.send(ts_RAW_PCU_CMD(TDMA_CMD_ENABLE_PTCCH_UL_FWD)); - - /* Establish 7 Uplink TBFs (USF flag is 3 bits long, '111'B is reserved) */ - for (var integer i := 0; i < 7; i := i + 1) { - ok := f_establish_tbf(rr_msg[i], ta := 0); - if (not ok) { - setverdict(fail, "Failed to establish an Uplink TBF #", i); - mtc.stop; - } - - /* Make sure we received an UL TBF Assignment */ - if (match(rr_msg[i], tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { - ul_tbf_ass[i] := rr_msg[i].payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; - log("Rx Uplink TBF assignment for #", i, ": ", ul_tbf_ass[i]); - } else { - setverdict(fail, "Failed to match UL TBF Assignment for #", i); - mtc.stop; - } - - /* We expect incremental TFI/USF assignment (dynamic allocation) */ - t_ul_tbf_ass := tr_PacketUlDynAssign(tfi := i, usf := i); - if (not match(ul_tbf_ass[i], t_ul_tbf_ass)) { - setverdict(fail, "Failed to match Packet Uplink Assignment for #", i); - mtc.stop; - } - - /* We also expect Timing Advance Index to be a part of the assignment */ - if (ul_tbf_ass[i].dynamic.ta_index != i) { - setverdict(fail, "Failed to match Timing Advance Index for #", i); - /* Keep going, the current OsmoPCU does not assign TA Index */ - } - } - - /* Prepare a list of ToA values for Access Bursts to be sent on PTCCH/U */ - var PTCCH_TAI_ToA_MAP toa_map := ptcch_toa_map_def; - for (var integer i := 0; i < 7; i := i + 1) { - /* ToA in units of 1/4 of a symbol */ - toa_map[i] := (i + 1) * 7 * 4; - } - - /* Now we have all 7 TBFs established in one-phase access mode, - * however we will not be sending any data on them. Instead, we - * will be sending RACH.ind on PTCCH/U during 4 multi-frame - * periods (TAI 0..8), and then will check two PTCCH/D blocks. - * - * Why not 4 TBFs at once? Because Uplink is delayed by 3 TDMA - * time-slots, so at the moment of scheduling a PTCCH/D block - * the PCU has odd number of PTCCH/U Access Bursts received. */ - f_TC_ta_ptcch_ul_multi_tbf(toa_map, tr_PTCCHDownlinkMsg( - tai0_ta := 7, tai1_ta := 14, tai2_ta := 21, - /* Other values are not known (yet) */ - tai3_ta := ?)); - f_TC_ta_ptcch_ul_multi_tbf(toa_map, tr_PTCCHDownlinkMsg( - tai0_ta := 7, tai1_ta := 14, tai2_ta := 21, - tai3_ta := 28, tai4_ta := 35, tai5_ta := 42, - /* Other values are out of our interest */ - tai6_ta := ?)); -} - -/* Default link quality adaptation (Coding Scheme) ranges (inclusive). - * OsmoPCU (VTY): cs link-quality-ranges cs1 6 cs2 5 8 cs3 7 13 cs4 12 - * - * NOTE: the ranges are intentionally overlapping because OsmoPCU - * does not change CS/MCS on the range borders (5-6, 7-8, 12-13). */ -private template integer CS1_lqual_dB_range := (-infinity .. 6); -private template integer CS2_lqual_dB_range := (5 .. 8); -private template integer CS3_lqual_dB_range := (7 .. 13); -private template integer CS4_lqual_dB_range := (12 .. infinity); - -testcase TC_cs_lqual_ul_tbf() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var RlcmacDlBlock dl_block; - var PCUIF_Message pcu_msg; - var octetstring data; - var boolean ok; - var uint32_t unused_fn; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - f_pcuvty_set_allowed_cs_mcs(); - f_pcuvty_set_link_quality_ranges(); - - /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - mtc.stop; - } - - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; - } - - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := ul_tbf_ass.dynamic.tfi_assignment, - cv := 15, /* 16 UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* TODO: what should be here? */ - blocks := { /* To be generated in loop */ }); - - /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ - ul_data.data.tlli := '00000001'O; - - /* The actual / old link quality values. We need to keep track of the old - * (basically previous) link quality value, because OsmoPCU actually - * changes the coding scheme if not only the actual, but also the old - * value leaves the current link quality range (window). */ - var integer lqual := 0; - var integer lqual_old; - - /* 16 UL blocks (0 .. 15 dB, step = 1 dB) */ - for (var integer i := 0; i < 16; i := i + 1) { - /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (15 - i); - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; - - /* Update the old / actual link quality */ - lqual_old := lqual; - lqual := i; - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - log("Sending DATA.ind with link quality (dB): ", lqual); - f_tx_rlcmac_ul_block(ul_data, lqual * 10); - - /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); - - log("Rx Packet Uplink ACK / NACK with Channel Coding Command: ", - dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd); - - /* Match the received Channel Coding Command. Since we are increasing - * the link quality value on each iteration and not decreasing, there - * is no need to check the both old and current link quality values. */ - var template ChCodingCommand ch_coding; - select (lqual_old) { - case (CS1_lqual_dB_range) { ch_coding := CH_CODING_CS1; } - case (CS2_lqual_dB_range) { ch_coding := CH_CODING_CS2; } - case (CS3_lqual_dB_range) { ch_coding := CH_CODING_CS3; } - case (CS4_lqual_dB_range) { ch_coding := CH_CODING_CS4; } - } - - if (not match(dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd, ch_coding)) { - setverdict(fail, "Channel Coding does not match our expectations: ", ch_coding); - } else { - setverdict(pass); - } - } -} - -/* Test the max UL CS set by VTY works fine */ -testcase TC_cs_initial_ul() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var RlcmacDlBlock dl_block; - var boolean ok; - var integer lqual_cb; - var ChCodingCommand last_ch_coding; - var uint32_t unused_fn; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - /* Set initial UL CS to 3 */ - g_cs_initial_ul := 3; - f_pcuvty_set_allowed_cs_mcs(); - f_pcuvty_set_link_quality_ranges(); - - /* Take lqual (dB->cB) so that we stay in that CS */ - lqual_cb := g_cs_lqual_ranges[2].low * 10; - - /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - mtc.stop; - } - - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; - } - - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := ul_tbf_ass.dynamic.tfi_assignment, - cv := 3, /* 8 UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* TODO: what should be here? */ - blocks := { /* To be generated in loop */ }); - - /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ - ul_data.data.tlli := '00000001'O; - - /* 3 UL blocks, check we are in same initial CS: */ - for (var integer i := 0; i < 3; i := i + 1) { - /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (7 - i); - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - f_tx_rlcmac_ul_block(ul_data, lqual_cb); - - /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); - last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; - } - - if (last_ch_coding != CH_CODING_CS3) { - setverdict(fail, "Channel Coding does not match our expectations (CS-3): ", last_ch_coding); - mtc.stop; - } - - setverdict(pass); - - /* Remaining UL blocks are used to make sure regardless of initial - /* lqual, we can go lower at any time */ - - /* 5 UL blocks, check we are in same initial CS: */ - for (var integer i := 3; i < 8; i := i + 1) { - /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (7 - i); - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - f_tx_rlcmac_ul_block(ul_data, 0); /* 0 dB, make sure we downgrade CS */ - - /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); - - last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; - } - - if (last_ch_coding != CH_CODING_CS1) { - setverdict(fail, "Channel Coding does not match our expectations (CS-1): ", last_ch_coding); - } else { - setverdict(pass); - } -} - -/* Test the max UL CS set by VTY works fine */ -testcase TC_cs_max_ul() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var RlcmacDlBlock dl_block; - var boolean ok; - var ChCodingCommand last_ch_coding; - var uint32_t unused_fn; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - /* Set maximum allowed UL CS to 3 */ - g_cs_max_ul := 3; - f_pcuvty_set_allowed_cs_mcs(); - f_pcuvty_set_link_quality_ranges(); - - /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - mtc.stop; - } - - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; - } - - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := ul_tbf_ass.dynamic.tfi_assignment, - cv := 15, /* 16 UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* TODO: what should be here? */ - blocks := { /* To be generated in loop */ }); - - /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ - ul_data.data.tlli := '00000001'O; - - /* 16 UL blocks */ - for (var integer i := 0; i < 16; i := i + 1) { - /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (15 - i); - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - f_tx_rlcmac_ul_block(ul_data, 40*10); /* 40 dB */ - - /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); - - last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; - } - - if (last_ch_coding != CH_CODING_CS3) { - setverdict(fail, "Channel Coding does not match our expectations (CS-3): ", last_ch_coding); - } else { - setverdict(pass); - } -} - -/* Verify PCU drops TBF after some time of inactivity. */ -testcase TC_t3169() runs on RAW_PCU_Test_CT { - var PCUIF_info_ind info_ind; - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var RlcmacDlBlock dl_block; - var PCUIF_Message pcu_msg; - var octetstring data; - var boolean ok; - var uint32_t unused_fn; - var OCT4 tlli := '00000001'O; - - /* Initialize NS/BSSGP side */ - f_init_bssgp(); - - info_ind := valueof(ts_PCUIF_INFO_default); - /* Set timer to 1 sec (default 5) to speedup test: */ - info_ind.t3169 := 1; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename(), info_ind); - - /* Establish BSSGP connection to the PCU */ - f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); - - /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - mtc.stop; - } - - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; - } - - /* Send one UL block and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); - /* UL block should be received in SGSN */ - BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); - - /* Wait until T3169 fires (plus 1 extra sec to make sure) */ - f_sleep(int2float(info_ind.t3169) + 1.0); - - /* Send an UL block once again, the TBF should be gone by now so no ACK */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); - f_rx_rlcmac_dl_block_exp_dummy(dl_block); -} - -/* Verify that a Downlink TBF can be assigned using PACCH shortly after the - * release of prev DL TBF due to MS staying in PDCH for a while (T3192, in PCU - * T3193) after DL TBF release */ -testcase TC_t3193() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketDlAssign dl_tbf_ass; - var RlcmacDlBlock dl_block; - var octetstring data := f_rnd_octstring(10); - var boolean ok; - var uint32_t sched_fn; - var OCT4 tlli := '00000001'O; - var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); - - /* 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('FFFFFFFF'O, tlli); - - /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; - } - /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ - f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); - - /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); - /* we are done with the DL-TBF here so far, let's clean up our local state: */ - ack_nack_desc := valueof(t_AckNackDescription_init) - - /* Now that final DL block is ACKED and TBF is released, T3193 in PCU - (T3192 in MS) was started and until it fires the MS will be abailable - on PDCH in case new data arrives from SGSN. Let's verify it: */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_rx_rlcmac_dl_block_exp_pkt_ass(dl_block, sched_fn); - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); - - /* Now that we confirmed the new assignment in the dl-tbf, lets receive the data and ack it */ - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); -} - -/* Test scenario where MS wants to send some data on PDCH against SGSN and it is - * answered, so TBFs for uplink and later for downlink are created. - */ -private function f_TC_mo_ping_pong(template (omit) MSRadioAccessCapabilityV ms_racap := omit, template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var PacketDlAssign dl_tbf_ass; - var RlcmacDlBlock dl_block; - var PCUIF_Message pcu_msg; - var octetstring data := f_rnd_octstring(10); - var boolean ok; - var uint32_t sched_fn; - var OCT4 tlli := '00000001'O; - var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); - - /* 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('FFFFFFFF'O, tlli); - - /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - mtc.stop; - } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; - } - - if (not istemplatekind(ms_racap, "omit")) { - /* Send PACKET RESOURCE REQUEST to upgrade to EGPRS - * (see 3GPP TS 04.60 "7.1.3.1 Initiation of the Packet resource request procedure") - */ - f_tx_rlcmac_ul_block(ts_RLC_UL_CTRL_ACK(valueof(ts_RlcMacUlCtrl_PKT_RES_REQ(tlli, ms_racap))), 0); - f_rx_rlcmac_dl_block_exp_pkt_ul_ass(dl_block, sched_fn); - if (dl_block.ctrl.payload.u.ul_assignment.identity.tlli.tlli != tlli) { - setverdict(fail, "Wrong TLLI ", dl_block.ctrl.payload.u.ul_assignment.identity.tlli, " received vs exp ", tlli); - mtc.stop; - } - } - - /* Send one UL block and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); - /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); - - /* UL block should be received in SGSN */ - BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); - - /* Now SGSN sends some DL data, PCU will page on CCCH (PCH) */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; - } - - /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ - f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0, exp_cs_mcs); - - /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); -} - -/* Test scenario where MS wants to send some data on PDCH against SGSN and it is - * answered, so TBFs for uplink and later for downlink are created. - */ -testcase TC_mo_ping_pong() runs on RAW_PCU_Test_CT { - var CodingScheme exp_cs_mcs := CS_1; - f_TC_mo_ping_pong(omit, exp_cs_mcs); -} - - -testcase TC_mo_ping_pong_with_ul_racap() runs on RAW_PCU_Test_CT { - var MultislotCap_GPRS mscap_gprs := { - gprsmultislotclass := '00011'B, - gprsextendeddynalloccap := '0'B - }; - var MSRadioAccessCapabilityV ms_racap := { valueof(ts_RaCapRec('0001'B /* E-GSM */, mscap_gprs, omit)) }; - var CodingScheme exp_cs_mcs := CS_2; - - f_TC_mo_ping_pong(ms_racap, exp_cs_mcs); -} - -/* Test scenario where SGSN wants to send some data against MS and it is - * answered by the MS on PDCH, so TBFs for downlink and later for uplink are created. - */ -private function f_TC_mt_ping_pong(template (omit) MSRadioAccessCapabilityV_BSSGP ms_racap := omit, template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var PacketDlAssign dl_tbf_ass; - var RlcmacDlBlock dl_block; - var PCUIF_Message pcu_msg; - var octetstring data := f_rnd_octstring(10); - var boolean ok; - var uint32_t sched_fn; - var OCT4 tlli := '00000001'O; - var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); - - /* 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('FFFFFFFF'O, tlli); - - /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data, ms_racap)); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; - } - - /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ - f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0, exp_cs_mcs); - - /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); - - /* Now MS wants to answer the DL data, Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - mtc.stop; - } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; - } - - /* Send one UL block and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); - /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); - - /* UL block should be received in SGSN */ - BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); -} - -testcase TC_mt_ping_pong() runs on RAW_PCU_Test_CT { - var CodingScheme exp_cs_mcs := CS_1; - f_TC_mt_ping_pong(omit, exp_cs_mcs); -} - -/* TC_mt_ping_pong, but DL-UNITDATA contains RA Access capability with (M)CS -/* information about the MS */ -testcase TC_mt_ping_pong_with_dl_racap() runs on RAW_PCU_Test_CT { - var MultislotCap_GPRS_BSSGP mscap_gprs := { - gprsmultislotclass := '00011'B, - gprsextendeddynalloccap := '0'B - } ; - var MSRadioAccessCapabilityV_BSSGP ms_racap := { valueof(ts_RaCapRec_BSSGP('0001'B /* E-GSM */, mscap_gprs, omit)) }; - var CodingScheme exp_cs_mcs := CS_2; - f_TC_mt_ping_pong(ms_racap, exp_cs_mcs); -} - -/* Verify that if PCU doesn't get an ACK for first DL block after IMM ASS, it - * will retry by retransmitting both the IMM ASS + DL block after poll (ack) - * timeout occurs (specified by sent RRBP on DL block). */ -testcase TC_imm_ass_dl_block_retrans() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketDlAssign dl_tbf_ass; - var RlcmacDlBlock dl_block; - var octetstring data := f_rnd_octstring(10); - var boolean ok; - var uint32_t sched_fn; - var OCT4 tlli := '00000001'O; - var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); - - /* 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('FFFFFFFF'O, tlli); - - /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; - } - - /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ - f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); - - /* Now we don't ack the dl block (emulate MS failed receiveing IMM ASS - * or GPRS DL, or DL ACK was lost for some reason). As a result, PCU - * should retrigger IMM ASS + GPRS DL procedure after poll timeout. */ - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; - } - /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ - f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); - - /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); -} - -private function f_pkt_paging_match_imsi(in PacketPagingReq req, hexstring imsi) { - var MobileIdentityLV_Paging mi_lv := req.repeated_pageinfo.cs.mobile_identity; - var MobileIdentityV mi := dec_MobileIdentityV(mi_lv.mobile_id); - - if (mi_lv.len != 8) { /* 8 octets: type of ID (3 bits) + even/odd flag (1 bit) + 15 BCD-encoded digits (60 bits) */ - setverdict(fail, "Mobile Identity length mismatch: ", - "expected: 8, got: ", mi_lv.len); - mtc.stop; - } - - /* Make sure MI contains IMSI before referencing it */ - if (mi.typeOfIdentity != '001'B) { - setverdict(fail, "Mobile Identity must be of type IMSI ('001'B), ", - "got: ", mi.typeOfIdentity); - mtc.stop; - } else if (mi.oddEvenInd_identity.imsi.digits != imsi) { - setverdict(fail, "Mobile Identity contains unexpected IMSI, ", - "expected: ", imsi, " got: ", mi.oddEvenInd_identity.imsi.digits); - mtc.stop; - } -} - -private function f_pkt_paging_match_tmsi(in PacketPagingReq req, template GsmTmsi tmsi) { - if (not match(req.repeated_pageinfo.cs.tmsi, tmsi)) { - setverdict(fail, "Mobile Identity (TMSI/P-TMSI) mismatch: ", - "expected: ", tmsi, "got: ", req.repeated_pageinfo.cs.tmsi); - mtc.stop; - } -} - -/* Test CS paging over the BTS<->PCU socket. - * When a (class B or C, not A) MS has an active TBF (or is on the PDCH), the MS can not react on CS paging over CCCH. - * Paging should be send on the PACCH. - * - * 1. Send a Paging Request over PCU socket. - * 2. Send a Ready-To-Send message over PCU socket - * 3. Expect a Paging Frame - */ -testcase TC_paging_cs_from_bts() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var RlcmacDlBlock dl_block; - var boolean ok; - var OCT4 tlli := '00000001'O; - var MobileIdentityLV mi; - var octetstring mi_enc_lv; - var hexstring imsi := f_gen_imsi(42); - - /* 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('FFFFFFFF'O, tlli); - - /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - mtc.stop; - } - - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; - } - - - /* build mobile Identity */ - mi := valueof(ts_MI_IMSI_LV(imsi)); - mi_enc_lv := enc_MobileIdentityLV(mi); - /* Send paging request */ - BTS.send(ts_PCUIF_PAG_REQ(bts_nr := 0, id_lv := mi_enc_lv, chan_needed := 0, - sapi :=PCU_IF_SAPI_PDTCH)); - - /* Receive it on BTS side towards MS */ - f_rx_rlcmac_dl_block_exp_pkt_pag_req(dl_block); - - /* Make sure that Packet Paging Request contains the same IMSI */ - f_pkt_paging_match_imsi(dl_block.ctrl.payload.u.paging, imsi); - - setverdict(pass); -} - -/* Test CS paging over Gb (SGSN->PCU->BTS[PDCH]). - */ -private function f_tc_paging_cs_from_sgsn(Nsvci bvci, boolean use_ptmsi := false) -runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var RlcmacDlBlock dl_block; - var boolean ok; - var OCT4 tlli := '00000001'O; - var hexstring imsi := f_gen_imsi(42); - var GsmTmsi tmsi; - - /* 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('FFFFFFFF'O, tlli); - - /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - mtc.stop; - } - - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; - } - - /* Send paging request with or without TMSI */ - if (use_ptmsi) { - tmsi := oct2int(f_rnd_octstring(4)); /* Random P-TMSI */ - BSSGP[0].send(ts_BSSGP_CS_PAGING_PTMSI(bvci, imsi, tmsi)); - } else { - BSSGP[0].send(ts_BSSGP_CS_PAGING_IMSI(bvci, imsi)); - } - - /* Receive it on BTS side towards MS */ - f_rx_rlcmac_dl_block_exp_pkt_pag_req(dl_block); - - /* Make sure that Packet Paging Request contains the same P-TMSI/IMSI */ - if (use_ptmsi) { - f_pkt_paging_match_tmsi(dl_block.ctrl.payload.u.paging, tmsi); - } else { - f_pkt_paging_match_imsi(dl_block.ctrl.payload.u.paging, imsi); - } - - setverdict(pass); -} - -testcase TC_paging_cs_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { - f_tc_paging_cs_from_sgsn(0, true); -} - -testcase TC_paging_cs_from_sgsn_sign() runs on RAW_PCU_Test_CT { - f_tc_paging_cs_from_sgsn(0); -} - -testcase TC_paging_cs_from_sgsn_ptp() runs on RAW_PCU_Test_CT { - f_tc_paging_cs_from_sgsn(mp_gb_cfg.bvci); -} - -/* Test PS paging over Gb (SGSN->PCU->BTS[CCCH]). - */ -private function f_tc_paging_ps_from_sgsn(Nsvci bvci, boolean use_ptmsi := false) -runs on RAW_PCU_Test_CT { - var OCT4 tlli := '00000001'O; - var integer imsi_suff_tx := 423; - var hexstring imsi := f_gen_imsi(imsi_suff_tx); - - /* 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('FFFFFFFF'O, tlli); - - /* Send BSSGP PAGING-PS (with or without TMSI), wait for RR Paging Request Type 1. - * Make sure that both paging group (IMSI suffix) and Mobile Identity match. */ - if (use_ptmsi) { - var OCT4 tmsi := f_rnd_octstring(4); /* Random P-TMSI */ - BSSGP[0].send(ts_BSSGP_PS_PAGING_PTMSI(bvci, imsi, oct2int(tmsi))); - f_pcuif_rx_pch_pag_req1(t_MI_TMSI(tmsi), imsi_suff_tx); - } else { - BSSGP[0].send(ts_BSSGP_PS_PAGING_IMSI(bvci, imsi)); - f_pcuif_rx_pch_pag_req1(tr_MI_IMSI(imsi), imsi_suff_tx); - } - - setverdict(pass); -} - -testcase TC_paging_ps_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { - f_tc_paging_ps_from_sgsn(0, true); -} - -testcase TC_paging_ps_from_sgsn_sign() runs on RAW_PCU_Test_CT { - f_tc_paging_ps_from_sgsn(0); -} - -testcase TC_paging_ps_from_sgsn_ptp() runs on RAW_PCU_Test_CT { - f_tc_paging_ps_from_sgsn(mp_gb_cfg.bvci); -} - -private function f_TC_egprs_pkt_chan_req(in EGPRSPktChRequest req, - template GsmRrMessage t_imm_ass := ?, - PCUIF_BurstType bt := BURST_TYPE_1) -runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_msg; - var uint16_t ra11; - var boolean ok; - - ra11 := enc_EGPRSPktChRequest2uint(req); - log("Sending EGPRS Packet Channel Request (", ra11, "): ", req); - - ok := f_establish_tbf(rr_msg, ra := ra11, is_11bit := 1, burst_type := bt); - if (not ok) { - setverdict(fail, "Failed to establush an Uplink TBF"); - mtc.stop; - } - - if (not match(rr_msg, t_imm_ass)) { - setverdict(fail, "Immediate Assignment does not match"); - mtc.stop; - } - - setverdict(pass); -} - -testcase TC_egprs_pkt_chan_req_signalling() runs on RAW_PCU_Test_CT { - var template GsmRrMessage imm_ass; - var template IaRestOctets rest; - var template EgprsUlAss ul_ass; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - var EGPRSPktChRequest req := { - /* NOTE: other fields are set in the loop */ - signalling := { tag := '110011'B } - }; - - for (var integer i := 0; i < 6; i := i + 1) { - var BIT5 ext_ra := int2bit(f_rnd_int(32), 5); - req.signalling.random_bits := ext_ra; - - /* For signalling, do we expect Multiblock UL TBF Assignment? */ - ul_ass := tr_EgprsUlAssMultiblock(ext_ra := ext_ra); - rest := tr_IaRestOctets_EGPRSULAss(ul_ass); - imm_ass := tr_IMM_TBF_ASS(dl := false, rest := rest); - - f_TC_egprs_pkt_chan_req(req, imm_ass); - } -} - -testcase TC_egprs_pkt_chan_req_one_phase() runs on RAW_PCU_Test_CT { - var template GsmRrMessage imm_ass; - var template IaRestOctets rest; - var template EgprsUlAss ul_ass; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - var EGPRSPktChRequest req := { - /* NOTE: other fields are set in the loop */ - one_phase := { tag := '0'B } - }; - - for (var integer i := 0; i < 6; i := i + 1) { - var BIT5 ext_ra := int2bit(f_rnd_int(32), 5); - var BIT5 mslot_class := int2bit(f_rnd_int(32), 5); - var BIT2 priority := substr(ext_ra, 0, 2); - var BIT3 rand := substr(ext_ra, 2, 3); - - req.one_phase.multislot_class := mslot_class; - req.one_phase.priority := priority; - req.one_phase.random_bits := rand; - - /* For one phase access, do we expect Dynamic UL TBF Assignment? */ - ul_ass := tr_EgprsUlAssDynamic(ext_ra := ext_ra); - rest := tr_IaRestOctets_EGPRSULAss(ul_ass); - imm_ass := tr_IMM_TBF_ASS(dl := false, rest := rest); - - f_TC_egprs_pkt_chan_req(req, imm_ass); - } -} - -testcase TC_egprs_pkt_chan_req_two_phase() runs on RAW_PCU_Test_CT { - var template GsmRrMessage imm_ass; - var template IaRestOctets rest; - var template EgprsUlAss ul_ass; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - var EGPRSPktChRequest req := { - /* NOTE: other fields are set in the loop */ - two_phase := { tag := '110000'B } - }; - - for (var integer i := 0; i < 6; i := i + 1) { - var BIT5 ext_ra := int2bit(f_rnd_int(32), 5); - var BIT2 priority := substr(ext_ra, 0, 2); - var BIT3 rand := substr(ext_ra, 2, 3); - - req.two_phase.priority := priority; - req.two_phase.random_bits := rand; - - /* For two phase access, do we expect Multiblock UL TBF Assignment? */ - ul_ass := tr_EgprsUlAssMultiblock(ext_ra := ext_ra); - rest := tr_IaRestOctets_EGPRSULAss(ul_ass); - imm_ass := tr_IMM_TBF_ASS(dl := false, rest := rest); - - f_TC_egprs_pkt_chan_req(req, imm_ass); - } -} - -control { - execute( TC_pcuif_suspend() ); - execute( TC_ta_ptcch_idle() ); - execute( TC_ta_rach_imm_ass() ); - execute( TC_ta_idle_dl_tbf_ass() ); - execute( TC_ta_ptcch_ul_multi_tbf() ); - execute( TC_cs_lqual_ul_tbf() ); - execute( TC_cs_initial_ul() ); - execute( TC_cs_max_ul() ); - execute( TC_t3169() ); - execute( TC_t3193() ); - execute( TC_mo_ping_pong() ); - execute( TC_mo_ping_pong_with_ul_racap() ); - execute( TC_mt_ping_pong() ); - execute( TC_mt_ping_pong_with_dl_racap() ); - execute( TC_imm_ass_dl_block_retrans() ); - execute( TC_paging_cs_from_bts() ); - execute( TC_paging_cs_from_sgsn_sign_ptmsi() ); - execute( TC_paging_cs_from_sgsn_sign() ); - execute( TC_paging_cs_from_sgsn_ptp() ); - execute( TC_paging_ps_from_sgsn_sign_ptmsi() ); - execute( TC_paging_ps_from_sgsn_sign() ); - execute( TC_paging_ps_from_sgsn_ptp() ); - - /* EGPRS specific test cases */ - execute( TC_egprs_pkt_chan_req_signalling() ); - execute( TC_egprs_pkt_chan_req_one_phase() ); - execute( TC_egprs_pkt_chan_req_two_phase() ); -} - - - - - - -} diff --git a/pcu/PCU_Tests_SNS.cfg b/pcu/PCU_Tests_SNS.cfg index 0368f36..022f91c 100644 --- a/pcu/PCU_Tests_SNS.cfg +++ b/pcu/PCU_Tests_SNS.cfg @@ -21,4 +21,4 @@ [MAIN_CONTROLLER] [EXECUTE] -PCU_Tests_RAW_SNS.control +PCU_Tests_SNS.control diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_SNS.ttcn similarity index 99% rename from pcu/PCU_Tests_RAW_SNS.ttcn rename to pcu/PCU_Tests_SNS.ttcn index 1690ad4..fc98979 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_SNS.ttcn @@ -1,4 +1,4 @@ -module PCU_Tests_RAW_SNS { +module PCU_Tests_SNS { /* Osmocom PCU test suite for IP Sub-Network-Service (SNS) in TTCN-3 * (C) 2018-2019 Harald Welte @@ -11,7 +11,7 @@ */ import from Osmocom_Types all; -import from PCU_Tests_RAW_NS all; +import from PCU_Tests_NS all; import from SGSN_Components all; import from Osmocom_Gb_Types all; import from NS_CodecPort all; diff --git a/pcu/README.md b/pcu/README.md index a711410..a2e439a 100644 --- a/pcu/README.md +++ b/pcu/README.md @@ -1,4 +1,4 @@ -# PCU_Tests_RAW.ttcn +# PCU_Tests.ttcn * external interfaces * Gb (emulates SGSN side NS/BSSGP) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17975 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: Iacaddb56e41012ba58ef6d1b9e79d2c012259bed Gerrit-Change-Number: 17975 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 Apr 29 13:22:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 29 Apr 2020 13:22:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Get rid of PCU_Tests.ttcn tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 ) Change subject: pcu: Get rid of PCU_Tests.ttcn tests ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 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: Ie862a1525e9f4f9a3f2427ac3898810e3d044d2f Gerrit-Change-Number: 16321 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 29 Apr 2020 13:22: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 Wed Apr 29 13:26:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 29 Apr 2020 13:26:33 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu: Fix cfgn content after ttcn3 module renaming References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17976 ) Change subject: ttcn3-pcu: Fix cfgn content after ttcn3 module renaming ...................................................................... ttcn3-pcu: Fix cfgn content after ttcn3 module renaming Required after osmo-ttcn3-hacks.git: Ie862a1525e9f4f9a3f2427ac3898810e3d044d2f Iacaddb56e41012ba58ef6d1b9e79d2c012259bed Change-Id: I0710f52ddab8da8638970d28dc88f6882cc5f637 --- M ttcn3-pcu-test/PCU_Tests.cfg M ttcn3-pcu-test/sns/PCU_Tests.cfg 2 files changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/76/17976/1 diff --git a/ttcn3-pcu-test/PCU_Tests.cfg b/ttcn3-pcu-test/PCU_Tests.cfg index 8c75ca9..17ab6c6 100644 --- a/ttcn3-pcu-test/PCU_Tests.cfg +++ b/ttcn3-pcu-test/PCU_Tests.cfg @@ -9,8 +9,8 @@ *.PCUVTY.PROMPT1 := "OsmoPCU> " [MODULE_PARAMETERS] -PCU_Tests_RAW.mp_pcu_sock_path := "/data/unix/pcu_bts" -PCU_Tests.mp_nsconfig := { +PCU_Tests.mp_pcu_sock_path := "/data/unix/pcu_bts" +SGSN_Components.mp_nsconfig := { local_ip := "172.18.13.10", local_udp_port := 23000, remote_ip := "172.18.13.101", @@ -23,5 +23,5 @@ [MAIN_CONTROLLER] [EXECUTE] -PCU_Tests_RAW.control -PCU_Tests_RAW_NS.control +PCU_Tests.control +PCU_Tests_NS.control diff --git a/ttcn3-pcu-test/sns/PCU_Tests.cfg b/ttcn3-pcu-test/sns/PCU_Tests.cfg index 07db9b3..60f375b 100644 --- a/ttcn3-pcu-test/sns/PCU_Tests.cfg +++ b/ttcn3-pcu-test/sns/PCU_Tests.cfg @@ -7,8 +7,8 @@ [TESTPORT_PARAMETERS] [MODULE_PARAMETERS] -PCU_Tests_RAW.mp_pcu_sock_path := "/data/unix/pcu_bts" -PCU_Tests.mp_nsconfig := { +PCU_Tests.mp_pcu_sock_path := "/data/unix/pcu_bts" +SGSN_Components.mp_nsconfig := { local_ip := "172.18.14.10", local_udp_port := 23000, remote_ip := "172.18.14.101", @@ -20,4 +20,4 @@ [MAIN_CONTROLLER] [EXECUTE] -PCU_Tests_RAW_SNS.control +PCU_Tests_SNS.control -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17976 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0710f52ddab8da8638970d28dc88f6882cc5f637 Gerrit-Change-Number: 17976 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 Apr 29 13:52:59 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 29 Apr 2020 13:52:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Get rid of PCU_Tests.ttcn tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 ) Change subject: pcu: Get rid of PCU_Tests.ttcn tests ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321/2/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321/2/pcu/PCU_Tests.ttcn at a308 PS2, Line 308: f_rrbp_fn I like this function. We will need it some day. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321/2/pcu/gen_links.sh File pcu/gen_links.sh: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321/2/pcu/gen_links.sh at 52 PS2, Line 52: L1CTL_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc All L1CTL related modules should be removed too, they're not used anymore. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 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: Ie862a1525e9f4f9a3f2427ac3898810e3d044d2f Gerrit-Change-Number: 16321 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 29 Apr 2020 13:52: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 Wed Apr 29 13:55:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 29 Apr 2020 13:55:42 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu: Fix cfgn content after ttcn3 module renaming In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17976 ) Change subject: ttcn3-pcu: Fix cfgn content after ttcn3 module renaming ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17976 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0710f52ddab8da8638970d28dc88f6882cc5f637 Gerrit-Change-Number: 17976 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 29 Apr 2020 13:55: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 Wed Apr 29 14:02:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 29 Apr 2020 14:02:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Rename PCU*RAW* content to PCU In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17975 ) Change subject: pcu: Rename PCU*RAW* content to PCU ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17975/1/pcu/PCUIF_Components.ttcn File pcu/PCUIF_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17975/1/pcu/PCUIF_Components.ttcn at 51 PS1, Line 51: RAW_ Shouldn't we get rid of this prefix / suffix / postfix in all symbols? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17975 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: Iacaddb56e41012ba58ef6d1b9e79d2c012259bed Gerrit-Change-Number: 17975 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 29 Apr 2020 14:02: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 Wed Apr 29 14:04:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 29 Apr 2020 14:04:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Get rid of PCU_Tests.ttcn tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 ) Change subject: pcu: Get rid of PCU_Tests.ttcn tests ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321/2/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321/2/pcu/PCU_Tests.ttcn at a308 PS2, Line 308: f_rrbp_fn > I like this function. We will need it some day. It's already ijmplemented in RLCMAC_Types.ttcn: function f_rrbp_fn_delay(MacRrbp rrbp) return uint32_t { select (rrbp) { case (RRBP_Nplus13_mod_2715648) { return 13; } case (RRBP_Nplus17_or_18_mod_2715648) { return 17; } case (RRBP_Nplus21_or_22_mod_2715648) { return 21; } case (RRBP_Nplus26_mod_2715648) { return 26; } } return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 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: Ie862a1525e9f4f9a3f2427ac3898810e3d044d2f Gerrit-Change-Number: 16321 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 29 Apr 2020 14:04:38 +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 Apr 29 14:05:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 29 Apr 2020 14:05:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Rename PCU*RAW* content to PCU In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17975 ) Change subject: pcu: Rename PCU*RAW* content to PCU ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17975/1/pcu/PCUIF_Components.ttcn File pcu/PCUIF_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17975/1/pcu/PCUIF_Components.ttcn at 51 PS1, Line 51: RAW_ > Shouldn't we get rid of this prefix / suffix / postfix in all symbols? Yes, but that would make the commit a lot more complex, since there's lots of those. I can do that in a next commit. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17975 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: Iacaddb56e41012ba58ef6d1b9e79d2c012259bed Gerrit-Change-Number: 17975 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 29 Apr 2020 14:05: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 Wed Apr 29 14:12:19 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 29 Apr 2020 14:12:19 +0000 Subject: Change in mncc-python[master]: update .gitignore with rtpsource object code file names References: Message-ID: Hello laforge, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/mncc-python/+/17977 to review the following change. Change subject: update .gitignore with rtpsource object code file names ...................................................................... update .gitignore with rtpsource object code file names Change-Id: I085d50bb60e4eebda5d92c6e5fbc5a1d56c0badb --- M .gitignore 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/77/17977/1 diff --git a/.gitignore b/.gitignore index b948985..77e974f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ *.swp *.pyc + +*.o +rtpsource/rtpsource -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17977 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I085d50bb60e4eebda5d92c6e5fbc5a1d56c0badb Gerrit-Change-Number: 17977 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 29 14:12:21 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 29 Apr 2020 14:12:21 +0000 Subject: Change in mncc-python[master]: rtpsource: CTRL call rtp_create: add codec arg References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/mncc-python/+/17979 ) Change subject: rtpsource: CTRL call rtp_create: add codec arg ...................................................................... rtpsource: CTRL call rtp_create: add codec arg Instead of hardcoding FR in rtpsource, add an argument to set the codec from mncc_mt_loadgen.py via CTRL call rtp_create. Hardcode FR in mncc_mt_loadgen.py for now, a follow up patch will make it configurable there, too. Related: SYS#4924 Change-Id: If75e902b451d7e202a03e93afcd55bd24f517813 --- M mncc_mt_loadgen.py M rtpsource/ctrl_if.c M rtpsource/internal.h M rtpsource/rtpsource.c 4 files changed, 39 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/79/17979/1 diff --git a/mncc_mt_loadgen.py b/mncc_mt_loadgen.py index 021d619..fcae13f 100755 --- a/mncc_mt_loadgen.py +++ b/mncc_mt_loadgen.py @@ -80,7 +80,8 @@ def on_receive(self, message): if message['type'] == 'rtp_create': - (res, var, val) = self._set_var('rtp_create', message['cname']) + val = '%s,%u' % (message['cname'], message['codec']) + (res, var, val) = self._set_var('rtp_create', val) v = val.split(',') # input looks like '1,127.23.23.23,37723' return {'cname': v[0], 'remote_host': v[1], 'remote_port': int(v[2])} elif message['type'] == 'rtp_connect': @@ -113,7 +114,8 @@ self.msisdn_called = msisdn_called self.msisdn_calling = msisdn_calling # allocate a RTP connection @ rtpsource - r = self.ctrl_act.ask({'type':'rtp_create', 'cname':self.callref}) + codec = 2 # FR, FIXME: make configurable + r = self.ctrl_act.ask({'type':'rtp_create', 'cname':self.callref, 'codec':codec}) self.ext_rtp_host = r['remote_host'] self.ext_rtp_port = r['remote_port'] # start the MNCC call FSM diff --git a/rtpsource/ctrl_if.c b/rtpsource/ctrl_if.c index 708fb02..520ff4a 100644 --- a/rtpsource/ctrl_if.c +++ b/rtpsource/ctrl_if.c @@ -21,27 +21,52 @@ #include #include "internal.h" +#include "rtp_provider.h" CTRL_CMD_DEFINE_WO_NOVRF(rtp_create, "rtp_create"); static int set_rtp_create(struct ctrl_cmd *cmd, void *data) { struct rtp_connection *conn; - const char *cname = cmd->value; + const char *cname, *codec_str; + char *tmp, *saveptr; + enum codec_type codec; + + tmp = talloc_strdup(cmd, cmd->value); + OSMO_ASSERT(tmp); + + cname = strtok_r(tmp, ",", &saveptr); + codec_str = strtok_r(NULL, ",", &saveptr); + + if (!cname || !codec_str) { + cmd->reply = "Format is cname,codec"; + goto error; + } if (find_connection_by_cname(g_rss, cname)) { cmd->reply = "Connection already exists for cname"; - return CTRL_CMD_ERROR; + goto error; } - conn = create_connection(g_rss, cname); + codec = atoi(codec_str); + if (codec < 0 || codec >= _NUM_CODECS) { + cmd->reply = "Invalid codec"; + goto error; + } + + conn = create_connection(g_rss, cname, codec); if (!conn) { cmd->reply = "Error creating RTP connection"; - return CTRL_CMD_ERROR; + goto error; } /* Respond */ cmd->reply = talloc_asprintf(cmd, "%s,%s,%d", conn->cname, conn->local_host, conn->local_port); + talloc_free(tmp); return CTRL_CMD_REPLY; + +error: + talloc_free(tmp); + return CTRL_CMD_ERROR; } CTRL_CMD_DEFINE_WO_NOVRF(rtp_connect, "rtp_connect"); diff --git a/rtpsource/internal.h b/rtpsource/internal.h index a4501a2..35f12d0 100644 --- a/rtpsource/internal.h +++ b/rtpsource/internal.h @@ -4,6 +4,8 @@ #include #include +enum codec_type; + enum { DMAIN, }; @@ -36,7 +38,7 @@ struct rtp_connection *find_connection_by_cname(struct rtpsource_state *rss, const char *cname); -struct rtp_connection *create_connection(struct rtpsource_state *rss, const char *cname); +struct rtp_connection *create_connection(struct rtpsource_state *rss, const char *cname, enum codec_type codec); int connect_connection(struct rtp_connection *conn, const char *remote_host, uint16_t remote_port, uint8_t pt); diff --git a/rtpsource/rtpsource.c b/rtpsource/rtpsource.c index 3087262..4af8899 100644 --- a/rtpsource/rtpsource.c +++ b/rtpsource/rtpsource.c @@ -63,11 +63,10 @@ } /* create a new RTP connection for given CNAME; includes binding of local RTP port */ -struct rtp_connection *create_connection(struct rtpsource_state *rss, const char *cname) +struct rtp_connection *create_connection(struct rtpsource_state *rss, const char *cname, enum codec_type codec) { const struct rtp_provider *rtp_prov; struct rtp_connection *conn; - enum codec_type codec = CODEC_GSM_FR; // TODO: configurable const char *host; int port; int rc; @@ -101,8 +100,8 @@ llist_add_tail(&conn->list, &rss->connections); - CLOGP(conn, DMAIN, LOGL_INFO, "Created RTP connection; local=%s:%u\n", - conn->local_host, conn->local_port); + CLOGP(conn, DMAIN, LOGL_INFO, "Created RTP connection; local=%s:%u; codec=%u\n", + conn->local_host, conn->local_port, codec); return conn; -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17979 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: If75e902b451d7e202a03e93afcd55bd24f517813 Gerrit-Change-Number: 17979 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 Wed Apr 29 14:12:22 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 29 Apr 2020 14:12:22 +0000 Subject: Change in mncc-python[master]: mncc_mt_loadgen.py: add codec arg References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/mncc-python/+/17980 ) Change subject: mncc_mt_loadgen.py: add codec arg ...................................................................... mncc_mt_loadgen.py: add codec arg Add codec parameter to start_call() and convenience functions mt_call() and calls() with FR as default. While at it, update the help text. Duplicate enum codec_type into mncc_mt_loadgen.py, because the enum values are different from the existing enum values in the python code (GSM48_BCAP_SV_EFR etc.). Related: SYS#4924 Change-Id: I5879b8b9ccc63908b9f6629487e66eff1e4a1ab4 --- M mncc_mt_loadgen.py M rtpsource/rtp_provider.h 2 files changed, 27 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/80/17980/1 diff --git a/mncc_mt_loadgen.py b/mncc_mt_loadgen.py index fcae13f..da0e7fc 100755 --- a/mncc_mt_loadgen.py +++ b/mncc_mt_loadgen.py @@ -95,6 +95,22 @@ else: raise Exception('ctrl', 'RtpSourceCtrlActor Received unhandled %s' % message) +# Keep in sync with enum codec_type in rtpsource/rtp_provider.h +CODEC_ULAW = 0 +CODEC_ALAW = 1 +CODEC_GSM_FR = 2 +CODEC_GSM_EFR = 3 +CODEC_GSM_HR = 4 +CODEC_AMR_4_75 = 5 +CODEC_AMR_5_15 = 6 +CODEC_AMR_5_90 = 7 +CODEC_AMR_6_70 = 8 +CODEC_AMR_7_40 = 9 +CODEC_AMR_7_95 = 10 +CODEC_AMR_10_2 = 11 +CODEC_AMR_12_2 = 12 +CODEC_AMR_SID = 13 + class MTCallRtpsource(pykka.ThreadingActor): '''Actor to start a network-initiated MT (mobile terminated) call to a given MSISDN, @@ -109,12 +125,11 @@ self.state = 'NULL' self.rtp_msc = None - def start_call(self, msisdn_called, msisdn_calling): + def start_call(self, msisdn_called, msisdn_calling, codec): '''Start a MT call from given [external] calling party to given mobile party MSISDN''' self.msisdn_called = msisdn_called self.msisdn_calling = msisdn_calling # allocate a RTP connection @ rtpsource - codec = 2 # FR, FIXME: make configurable r = self.ctrl_act.ask({'type':'rtp_create', 'cname':self.callref, 'codec':codec}) self.ext_rtp_host = r['remote_host'] self.ext_rtp_port = r['remote_port'] @@ -173,23 +188,27 @@ rtpctrl_act = RtpSourceCtrlActor.start(RTPSOURCE_CTRL_IP, RTPSOURCE_CTRL_PORT) # convenience wrapper -def mt_call(msisdn_called, msisdn_calling = '123456789', codecs = GSM48.AllCodecs): +def mt_call(msisdn_called, msisdn_calling='123456789', codecs=GSM48.AllCodecs, codec=CODEC_GSM_FR): call_conn = MTCallRtpsource.start(mncc_act, rtpctrl_act, codecs).proxy() - call_conn.start_call(msisdn_called, msisdn_calling) + call_conn.start_call(msisdn_called, msisdn_calling, codec) return call_conn -def calls(nr, ramp=1.0): +def calls(nr, ramp=1.0, codec=CODEC_GSM_FR): for i in range(nr): a = 90001 + i a = str(a) print("%d: mt_call(%r)" % (i, a)) - mt_call(a) + mt_call(a, codec=codec) time.sleep(ramp) log.info("") log.info("") -log.info("Start calls by typing:") +log.info("Start a single call by typing:") log.info(" mt_call('90001')") +log.info("With a specific codec (default is FR):") +log.info(" mt_call('90001', codec=CODEC_GSM_EFR)") +log.info("Start multiple calls with (e.g. 4 calls with EFR):") +log.info(" calls(4, codec=CODEC_GSM_EFR)") log.info("") log.info("") diff --git a/rtpsource/rtp_provider.h b/rtpsource/rtp_provider.h index 7048a3e..3dd9fa8 100644 --- a/rtpsource/rtp_provider.h +++ b/rtpsource/rtp_provider.h @@ -2,6 +2,7 @@ #include #include +/* Keep in sync with CODEC_* in mncc_mt_loadgen.py */ enum codec_type { CODEC_ULAW, CODEC_ALAW, -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17980 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I5879b8b9ccc63908b9f6629487e66eff1e4a1ab4 Gerrit-Change-Number: 17980 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 Wed Apr 29 14:12:21 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 29 Apr 2020 14:12:21 +0000 Subject: Change in mncc-python[master]: rtpsource: Modularize generation of RTP frames References: Message-ID: Hello laforge, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/mncc-python/+/17978 to review the following change. Change subject: rtpsource: Modularize generation of RTP frames ...................................................................... rtpsource: Modularize generation of RTP frames Change-Id: Iad98e1753fef1927c0e8a7493372141372a38224 --- M rtpsource/Makefile M rtpsource/internal.h A rtpsource/rtp_provider.c A rtpsource/rtp_provider.h A rtpsource/rtp_provider_static.c M rtpsource/rtpsource.c 6 files changed, 230 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/78/17978/1 diff --git a/rtpsource/Makefile b/rtpsource/Makefile index 9972325..2ede792 100644 --- a/rtpsource/Makefile +++ b/rtpsource/Makefile @@ -4,7 +4,7 @@ CFLAGS:= -g -Wall $(OSMO_CFLAGS) LIBS:= $(OSMO_LIBS) -rtpsource: rtpsource.o ctrl_if.o +rtpsource: rtpsource.o ctrl_if.o rtp_provider.o rtp_provider_static.o $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) diff --git a/rtpsource/internal.h b/rtpsource/internal.h index 13d07aa..a4501a2 100644 --- a/rtpsource/internal.h +++ b/rtpsource/internal.h @@ -8,6 +8,8 @@ DMAIN, }; +struct rtp_provider_instance; + struct rtp_connection { struct llist_head list; @@ -21,6 +23,7 @@ uint16_t remote_port; uint8_t rtp_pt; + struct rtp_provider_instance *rtp_prov_inst; }; struct rtpsource_state { diff --git a/rtpsource/rtp_provider.c b/rtpsource/rtp_provider.c new file mode 100644 index 0000000..0d2b9c6 --- /dev/null +++ b/rtpsource/rtp_provider.c @@ -0,0 +1,54 @@ +#include +#include +#include + +#include "rtp_provider.h" +#include "internal.h" + + +static LLIST_HEAD(g_providers); +static LLIST_HEAD(g_prov_instances); + +void rtp_provider_register(struct rtp_provider *prov) +{ + llist_add_tail(&prov->list, &g_providers); +} + +const struct rtp_provider *rtp_provider_find(const char *name) +{ + struct rtp_provider *p; + llist_for_each_entry(p, &g_providers, list) { + if (!strcmp(name, p->name)) + return p; + } + LOGP(DMAIN, LOGL_ERROR, "Couldn't find RTP provider '%s'\n", name); + return NULL; +} + +struct rtp_provider_instance * +rtp_provider_instance_alloc(void *ctx, const struct rtp_provider *provider, enum codec_type codec) +{ + struct rtp_provider_instance *pi; + + pi = talloc_zero(ctx, struct rtp_provider_instance); + if (!pi) + return NULL; + + pi->provider = provider; + pi->codec = codec; + llist_add_tail(&pi->list, &g_prov_instances); + + return pi; +} + +void rtp_provider_instance_free(struct rtp_provider_instance *pi) +{ + llist_del(&pi->list); + talloc_free(pi); +} + +int rtp_provider_instance_gen_frame(struct rtp_provider_instance *pi, uint8_t *out, size_t out_size) +{ + OSMO_ASSERT(pi->provider); + return pi->provider->rtp_gen(pi, out, out_size); +} diff --git a/rtpsource/rtp_provider.h b/rtpsource/rtp_provider.h new file mode 100644 index 0000000..7048a3e --- /dev/null +++ b/rtpsource/rtp_provider.h @@ -0,0 +1,51 @@ +#pragma once +#include +#include + +enum codec_type { + CODEC_ULAW, + CODEC_ALAW, + CODEC_GSM_FR, + CODEC_GSM_EFR, + CODEC_GSM_HR, + CODEC_AMR_4_75, + CODEC_AMR_5_15, + CODEC_AMR_5_90, + CODEC_AMR_6_70, + CODEC_AMR_7_40, + CODEC_AMR_7_95, + CODEC_AMR_10_2, + CODEC_AMR_12_2, + CODEC_AMR_SID, + _NUM_CODECS +}; + +struct rtp_provider_instance; + +struct rtp_provider { + /* global list of RTP providers */ + struct llist_head list; + const char *name; + + /* generate the next RTP packet; return length in octests or negative on error */ + int (*rtp_gen)(struct rtp_provider_instance *inst, uint8_t *out, size_t out_size); +}; + +struct rtp_provider_instance { + /* entry in global list of RTP provider instances */ + struct llist_head list; + /* pointer to provider of which we are an instance */ + const struct rtp_provider *provider; + /* codec payload we are to generate */ + enum codec_type codec; + + /* private user data */ + void *priv; +}; + +void rtp_provider_register(struct rtp_provider *prov); +const struct rtp_provider *rtp_provider_find(const char *name); + +struct rtp_provider_instance *rtp_provider_instance_alloc(void *ctx, const struct rtp_provider *provider, enum codec_type codec); +void rtp_provider_instance_free(struct rtp_provider_instance *pi); +int rtp_provider_instance_gen_frame(struct rtp_provider_instance *pi, uint8_t *out, size_t out_size); diff --git a/rtpsource/rtp_provider_static.c b/rtpsource/rtp_provider_static.c new file mode 100644 index 0000000..323e686 --- /dev/null +++ b/rtpsource/rtp_provider_static.c @@ -0,0 +1,107 @@ + +#include +#include +#include + +#include "rtp_provider.h" +#include "internal.h" + +static struct rtp_provider static_provider; + +static const uint8_t len4codec[_NUM_CODECS] = { + [CODEC_ULAW] = 160, + [CODEC_ALAW] = 160, + [CODEC_GSM_FR] = GSM_FR_BYTES, + [CODEC_GSM_EFR] = GSM_EFR_BYTES, + [CODEC_GSM_HR] = GSM_HR_BYTES, + [CODEC_AMR_4_75] = 12, + [CODEC_AMR_5_15] = 13, + [CODEC_AMR_5_90] = 15, + [CODEC_AMR_6_70] = 17, + [CODEC_AMR_7_40] = 19, + [CODEC_AMR_7_95] = 20, + [CODEC_AMR_10_2] = 26, + [CODEC_AMR_12_2] = 31, + [CODEC_AMR_SID] = 5, +}; + +/* generate a static / fixed RTP payload of matching codec/mode */ +static int rtp_gen_static(struct rtp_provider_instance *pi, uint8_t *out, size_t out_size) +{ + uint8_t len; + + OSMO_ASSERT(pi->provider == &static_provider); + + len = len4codec[pi->codec]; + if (out_size < len) { + LOGP(DMAIN, LOGL_ERROR, "out_size %zu < %u\n", out_size, len); + return -EINVAL; + } + + memset(out, 0, len); + + switch (pi->codec) { + case CODEC_ULAW: + case CODEC_ALAW: + break; + case CODEC_GSM_FR: + out[0] = (out[0] & 0x0f) | 0xD0; /* mask in first four bit for FR */ + break; + case CODEC_GSM_EFR: + out[0] = (out[0] & 0x0f) | 0xC0; /* mask in first four bit for EFR */ + break; + case CODEC_GSM_HR: + break; + case CODEC_AMR_4_75: + out[0] = 0 << 4; + out[1] = 0 << 3; + break; + case CODEC_AMR_5_15: + out[0] = 1 << 4; + out[1] = 1 << 3; + break; + case CODEC_AMR_5_90: + out[0] = 2 << 4; + out[1] = 2 << 3; + break; + case CODEC_AMR_6_70: + out[0] = 3 << 4; + out[1] = 3 << 3; + break; + case CODEC_AMR_7_40: + out[0] = 4 << 4; + out[1] = 4 << 3; + break; + case CODEC_AMR_7_95: + out[0] = 5 << 4; + out[1] = 5 << 3; + break; + case CODEC_AMR_10_2: + out[0] = 6 << 4; + out[1] = 6 << 3; + break; + case CODEC_AMR_12_2: + out[0] = 7 << 4; + out[1] = 7 << 3; + break; + case CODEC_AMR_SID: + out[0] = 2 << 4; /* CMR: 5.90 */ + out[0] = 8 << 3; + break; + default: + OSMO_ASSERT(0); + } + + return len; +} + + +static struct rtp_provider static_provider = { + .name = "static", + .rtp_gen = &rtp_gen_static, +}; + +static void __attribute__((constructor)) rtp_provider_static_constr(void) +{ + rtp_provider_register(&static_provider); +} diff --git a/rtpsource/rtpsource.c b/rtpsource/rtpsource.c index 569d962..3087262 100644 --- a/rtpsource/rtpsource.c +++ b/rtpsource/rtpsource.c @@ -48,6 +48,7 @@ #include #include "internal.h" +#include "rtp_provider.h" /* find a connection based on its CNAME */ @@ -64,13 +65,18 @@ /* create a new RTP connection for given CNAME; includes binding of local RTP port */ struct rtp_connection *create_connection(struct rtpsource_state *rss, const char *cname) { + const struct rtp_provider *rtp_prov; struct rtp_connection *conn; + enum codec_type codec = CODEC_GSM_FR; // TODO: configurable const char *host; int port; int rc; OSMO_ASSERT(!find_connection_by_cname(rss, cname)); + rtp_prov = rtp_provider_find("static"); // TODO: configurable + OSMO_ASSERT(rtp_prov); + conn = talloc_zero(rss, struct rtp_connection); OSMO_ASSERT(conn); conn->cname = talloc_strdup(conn, cname); @@ -90,6 +96,9 @@ osmo_rtp_set_source_desc(conn->rtp_sock, conn->cname, "rtpsource", NULL, NULL, NULL, "osmo-rtpsource", NULL); + conn->rtp_prov_inst = rtp_provider_instance_alloc(conn, rtp_prov, codec); + OSMO_ASSERT(conn->rtp_prov_inst); + llist_add_tail(&conn->list, &rss->connections); CLOGP(conn, DMAIN, LOGL_INFO, "Created RTP connection; local=%s:%u\n", @@ -156,12 +165,11 @@ /* iterate over all RTP connections and send one frame each */ llist_for_each_entry(conn, &rss->connections, list) { - int i; - /* TODO: have different sources (file+name, ...) */ - uint8_t payload[33]; - memset(payload, 0, sizeof(payload)); - payload[0] = (payload[0] & 0x0f) | 0xD0; /* mask in first four bit for FR */ - osmo_rtp_send_frame_ext(conn->rtp_sock, payload, sizeof(payload), 160, false); + uint8_t payload[256]; + int i, len; + + len = rtp_provider_instance_gen_frame(conn->rtp_prov_inst, payload, sizeof(payload)); + osmo_rtp_send_frame_ext(conn->rtp_sock, payload, len, 160, false); /* make sure RTP clock advances correctly, even if we missed transmit of some */ for (i = 1; i < expire_count; i++) osmo_rtp_skipped_frame(conn->rtp_sock, 160); -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17978 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Iad98e1753fef1927c0e8a7493372141372a38224 Gerrit-Change-Number: 17978 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Apr 29 14:13:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 29 Apr 2020 14:13:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Get rid of PCU_Tests.ttcn tests In-Reply-To: References: Message-ID: Hello fixeria, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 to look at the new patch set (#3). Change subject: pcu: Get rid of PCU_Tests.ttcn tests ...................................................................... pcu: Get rid of PCU_Tests.ttcn tests Delete PCU_Tests.ttcn along with the configs, since they are broken and we are only adding new tests to PCU_Tests_RAW.ttcn. They are broken because it's not possible to run multiple tests after another. Some components which used to be in PCU_Tests.ttcn and which were used by other PCU_Tests*.ttcn files have been moved to SGSN_Components.ttcn Small placeholder for module PCU_Tests is left in PCU_Tests.ttcn to still be able to compile the binary as "PCU_Tests" and avoid changing that part of docker setup. We'll eventually rename RAW tests soon anyway. Change-Id: Ie862a1525e9f4f9a3f2427ac3898810e3d044d2f --- M pcu/PCU_Tests.cfg M pcu/PCU_Tests.default M pcu/PCU_Tests.ttcn M pcu/PCU_Tests_RAW.ttcn M pcu/PCU_Tests_RAW_NS.ttcn M pcu/PCU_Tests_RAW_SNS.ttcn M pcu/PCU_Tests_SNS.cfg M pcu/README.md A pcu/SGSN_Components.ttcn M pcu/gen_links.sh D pcu/osmo-bsc.cfg D pcu/osmo-bts.cfg M pcu/regen_makefile.sh 13 files changed, 114 insertions(+), 990 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/21/16321/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 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: Ie862a1525e9f4f9a3f2427ac3898810e3d044d2f Gerrit-Change-Number: 16321 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria 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 Wed Apr 29 15:14:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 29 Apr 2020 15:14:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Get rid of PCU_Tests.ttcn tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 ) Change subject: pcu: Get rid of PCU_Tests.ttcn tests ...................................................................... Patch Set 3: Just noticed there's some selftests in PCU_Tests.ttcn which may be worth keeping. I'll move those to a new file in another commit to keep them. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 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: Ie862a1525e9f4f9a3f2427ac3898810e3d044d2f Gerrit-Change-Number: 16321 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 29 Apr 2020 15:14: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 Wed Apr 29 16:19:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 16:19:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Rename PCU*RAW* content to PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17975 ) Change subject: pcu: Rename PCU*RAW* content to PCU ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17975 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: Iacaddb56e41012ba58ef6d1b9e79d2c012259bed Gerrit-Change-Number: 17975 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 29 Apr 2020 16: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 Wed Apr 29 16:19:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 16:19:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Get rid of PCU_Tests.ttcn tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 ) Change subject: pcu: Get rid of PCU_Tests.ttcn tests ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 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: Ie862a1525e9f4f9a3f2427ac3898810e3d044d2f Gerrit-Change-Number: 16321 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 29 Apr 2020 16: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 Wed Apr 29 16:21:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 16:21:22 +0000 Subject: Change in mncc-python[master]: mncc_mt_loadgen.py: add codec arg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17980 ) Change subject: mncc_mt_loadgen.py: add codec arg ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17980 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I5879b8b9ccc63908b9f6629487e66eff1e4a1ab4 Gerrit-Change-Number: 17980 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 29 Apr 2020 16:21: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 Apr 29 16:22:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 16:22:56 +0000 Subject: Change in mncc-python[master]: rtpsource: CTRL call rtp_create: add codec arg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17979 ) Change subject: rtpsource: CTRL call rtp_create: add codec arg ...................................................................... Patch Set 1: why use some magic integer number that requires python and C code to agre on numbering and whihc will be difficult to understand/debug? CTRL uses strings, so you could juts as well send strings like fr/efr/... -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17979 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: If75e902b451d7e202a03e93afcd55bd24f517813 Gerrit-Change-Number: 17979 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 29 Apr 2020 16:22:56 +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 Apr 29 16:23:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 16:23:33 +0000 Subject: Change in mncc-python[master]: rtpsource: Modularize generation of RTP frames In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17978 ) Change subject: rtpsource: Modularize generation of RTP frames ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17978 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Iad98e1753fef1927c0e8a7493372141372a38224 Gerrit-Change-Number: 17978 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 29 Apr 2020 16:23: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 Apr 29 16:24:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 16:24:42 +0000 Subject: Change in mncc-python[master]: update .gitignore with rtpsource object code file names In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17977 ) Change subject: update .gitignore with rtpsource object code file names ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17977 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I085d50bb60e4eebda5d92c6e5fbc5a1d56c0badb Gerrit-Change-Number: 17977 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 29 Apr 2020 16:24: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 Wed Apr 29 16:26:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 16:26:50 +0000 Subject: Change in mncc-python[master]: GsmCallFsm: permit MNCC_REL_CNF in any state In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17410 ) Change subject: GsmCallFsm: permit MNCC_REL_CNF in any state ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I0d65da82fbcc48c8967a65b917ea14121bd941f3 Gerrit-Change-Number: 17410 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Assignee: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 29 Apr 2020 16:26: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 Apr 29 16:26:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 16:26:56 +0000 Subject: Change in mncc-python[master]: GsmCallFsm: permit MNCC_REL_CNF in any state In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17410 ) Change subject: GsmCallFsm: permit MNCC_REL_CNF in any state ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I0d65da82fbcc48c8967a65b917ea14121bd941f3 Gerrit-Change-Number: 17410 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Assignee: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 29 Apr 2020 16:26: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 Wed Apr 29 16:26:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 29 Apr 2020 16:26:59 +0000 Subject: Change in mncc-python[master]: GsmCallFsm: permit MNCC_REL_CNF in any state In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17410 ) Change subject: GsmCallFsm: permit MNCC_REL_CNF in any state ...................................................................... GsmCallFsm: permit MNCC_REL_CNF in any state Depending on the type of failure in the MSC, MGW or BSC, we may expect MNCC_REL_CNF in any state. Closes: SYS#4832 Change-Id: I0d65da82fbcc48c8967a65b917ea14121bd941f3 --- M gsm_call_fsm.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved; Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve diff --git a/gsm_call_fsm.py b/gsm_call_fsm.py index 5f846e1..9e2b633 100644 --- a/gsm_call_fsm.py +++ b/gsm_call_fsm.py @@ -180,7 +180,7 @@ ('mncc_rel_ind', '*', 'NULL'), ('mncc_disc_ind', 'DISCONNECT_INDICATION', 'RELEASE_REQUEST'), - ('mncc_rel_cnf', 'RELEASE_REQUEST', 'NULL'), + ('mncc_rel_cnf', '*', 'NULL'), ], callbacks = [('onmncc_setup_req', self._onmncc_setup_req), ('onmncc_call_conf_ind', self._onmncc_call_conf_ind), -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I0d65da82fbcc48c8967a65b917ea14121bd941f3 Gerrit-Change-Number: 17410 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Assignee: osmith 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 Wed Apr 29 16:36:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 29 Apr 2020 16:36:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Get rid of PCU_Tests.ttcn tests In-Reply-To: References: Message-ID: Hello fixeria, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 to look at the new patch set (#4). Change subject: pcu: Get rid of PCU_Tests.ttcn tests ...................................................................... pcu: Get rid of PCU_Tests.ttcn tests Delete PCU_Tests.ttcn along with the configs, since they are broken and we are only adding new tests to PCU_Tests_RAW.ttcn. They are broken because it's not possible to run multiple tests after another. Some components which used to be in PCU_Tests.ttcn and which were used by other PCU_Tests*.ttcn files have been moved to SGSN_Components.ttcn Selftests have been moved to PCU_selftest.ttcn. Small placeholder for module PCU_Tests is left in PCU_Tests.ttcn to still be able to compile the binary as "PCU_Tests" and avoid changing that part of docker setup. We'll eventually rename RAW tests soon anyway. Change-Id: Ie862a1525e9f4f9a3f2427ac3898810e3d044d2f --- M pcu/PCU_Tests.cfg M pcu/PCU_Tests.default M pcu/PCU_Tests.ttcn M pcu/PCU_Tests_RAW.ttcn M pcu/PCU_Tests_RAW_NS.ttcn M pcu/PCU_Tests_RAW_SNS.ttcn M pcu/PCU_Tests_SNS.cfg A pcu/PCU_selftest.ttcn M pcu/README.md A pcu/SGSN_Components.ttcn M pcu/gen_links.sh D pcu/osmo-bsc.cfg D pcu/osmo-bts.cfg M pcu/regen_makefile.sh 14 files changed, 380 insertions(+), 990 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/21/16321/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 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: Ie862a1525e9f4f9a3f2427ac3898810e3d044d2f Gerrit-Change-Number: 16321 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria 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 Wed Apr 29 17:10:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 29 Apr 2020 17:10:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Split templates in RLCMAC_{CSN1_}Types into their own _Templates file References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17981 ) Change subject: Split templates in RLCMAC_{CSN1_}Types into their own _Templates file ...................................................................... Split templates in RLCMAC_{CSN1_}Types into their own _Templates file RLCMAC blocks have a lot of fields and we will potentially require lots of different templates, as well as functions to handle related structs. Change-Id: I9c6597178168aa3848b21930f33be698dd2ce545 --- M bsc-nat/gen_links.sh M bsc/gen_links.sh M bts/gen_links.sh M lapdm/gen_links.sh M library/L3_Templates.ttcn A library/RLCMAC_CSN1_Templates.ttcn M library/RLCMAC_CSN1_Types.ttcn A library/RLCMAC_Templates.ttcn M library/RLCMAC_Types.ttcn M mme/gen_links.sh M msc/gen_links.sh M pcu/GPRS_TBF.ttcn M pcu/PCU_Tests.ttcn M pcu/gen_links.sh M selftest/gen_links.sh M sgsn/gen_links.sh M sysinfo/gen_links.sh 17 files changed, 524 insertions(+), 477 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/81/17981/1 diff --git a/bsc-nat/gen_links.sh b/bsc-nat/gen_links.sh index 471753e..4d2303f 100755 --- a/bsc-nat/gen_links.sh +++ b/bsc-nat/gen_links.sh @@ -52,7 +52,7 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn RLCMAC_CSN1_Types.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc Osmocom_CTRL_Types.ttcn Osmocom_VTY_Functions.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn BSSAP_CodecPort.ttcn" +FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc Osmocom_CTRL_Types.ttcn Osmocom_VTY_Functions.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn BSSAP_CodecPort.ttcn" gen_links $DIR $FILES ignore_pp_results diff --git a/bsc/gen_links.sh b/bsc/gen_links.sh index 845f7cc..a936ef3 100755 --- a/bsc/gen_links.sh +++ b/bsc/gen_links.sh @@ -67,7 +67,7 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn RSL_Emulation.ttcn MGCP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc BSSAP_CodecPort.ttcn RAN_Adapter.ttcnpp Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_EncDec.cc IuUP_Emulation.ttcn SCCP_Templates.ttcn IPA_Testing.ttcn " +FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn RSL_Emulation.ttcn MGCP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc BSSAP_CodecPort.ttcn RAN_Adapter.ttcnpp Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_EncDec.cc IuUP_Emulation.ttcn SCCP_Templates.ttcn IPA_Testing.ttcn " FILES+="CBSP_Types.ttcn CBSP_Templates.ttcn " FILES+="CBSP_CodecPort.ttcn CBSP_CodecPort_CtrlFunct.ttcn CBSP_CodecPort_CtrlFunctdef.cc CBSP_Adapter.ttcn " gen_links $DIR $FILES diff --git a/bts/gen_links.sh b/bts/gen_links.sh index aafe231..b6921fa 100755 --- a/bts/gen_links.sh +++ b/bts/gen_links.sh @@ -33,7 +33,7 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_VTY_Functions.ttcn GSM_SystemInformation.ttcn Osmocom_Types.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc L1CTL_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn " +FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_VTY_Functions.ttcn GSM_SystemInformation.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc L1CTL_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn " #FILES+="NS_Emulation.ttcn NS_CodecPort.ttcn NS_CodecPort_CtrlFunct.ttcn NS_CodecPort_CtrlFunctDef.cc " #FILES+="BSSGP_Emulation.ttcn Osmocom_Gb_Types.ttcn " FILES+="IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp IPA_CodecPort.ttcn RSL_Types.ttcn RSL_Emulation.ttcn AbisOML_Types.ttcn " diff --git a/lapdm/gen_links.sh b/lapdm/gen_links.sh index 12830dd..217f485 100755 --- a/lapdm/gen_links.sh +++ b/lapdm/gen_links.sh @@ -14,7 +14,7 @@ DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn RLCMAC_CSN1_Types.ttcn Osmocom_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc L1CTL_Types.ttcn LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn RLCMAC_Types.ttcn RLCMAC_EncDec.cc" +FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn Osmocom_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc L1CTL_Types.ttcn LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_EncDec.cc" gen_links $DIR $FILES ignore_pp_results diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 8af9acc..3032503 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -20,7 +20,7 @@ import from MobileL3_CC_Types all; import from MobileL3_GMM_SM_Types all; import from MobileL3_SMS_Types all; -import from RLCMAC_CSN1_Types all; +import from RLCMAC_CSN1_Templates all; /* TS 24.007 Table 11.3 TI Flag */ const BIT1 c_TIF_ORIG := '0'B; diff --git a/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn new file mode 100644 index 0000000..07f70b4 --- /dev/null +++ b/library/RLCMAC_CSN1_Templates.ttcn @@ -0,0 +1,163 @@ +/* GPRS RLC/MAC Control Messages as per 3GPP TS 44.060 manually transcribed from the CSN.1 syntax, as no CSN.1 + * tool for Eclipse TITAN could be found. Implements only the minimum necessary messages for Osmocom teseting + * purposes. */ + +/* (C) 2017-2018 Harald Welte + * contributions by sysmocom - s.f.m.c. GmbH + * 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 + */ + +module RLCMAC_CSN1_Templates { + import from General_Types all; + import from Osmocom_Types all; + import from GSM_Types all; + import from MobileL3_GMM_SM_Types all; + import from RLCMAC_CSN1_Types all; + + template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_CTRL_ACK(GprsTlli tlli, + CtrlAck ack := MS_RCVD_TWO_RLC_SAME_RTI_DIFF_RBSN) := { + msg_type := PACKET_CONTROL_ACK, + u := { + ctrl_ack := { + tlli := tlli, + ctrl_ack := ack + } + } + } + + const ILevel iNone := { + presence := '0'B, + i_level := omit + } + const ChannelQualityReport c_ChQualRep_default := { + c_value := 0, + rxqual := 0, + sign_var := 0, + i_levels := { iNone, iNone, iNone, iNone, iNone, iNone, iNone, iNone } + } + template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_DL_ACK(uint5_t dl_tfi, + AckNackDescription andesc, + ChannelQualityReport qual_rep := c_ChQualRep_default) := { + msg_type := PACKET_DL_ACK_NACK, + u := { + dl_ack_nack := { + dl_tfi := dl_tfi, + ack_nack_desc := andesc, + chreq_desc_presence := '0'B, + chreq_desc := omit, + ch_qual_rep := qual_rep + } + } + } + + private function f_presence_bit_MultislotCap_GPRS(template (omit) MultislotCap_GPRS mscap_gprs) return BIT1 { + if (istemplatekind(mscap_gprs, "omit")) { + return '0'B; + } + return '1'B; + } + private function f_presence_bit_MultislotCap_EGPRS(template (omit) MultislotCap_EGPRS mscap_egprs) return BIT1 { + if (istemplatekind(mscap_egprs, "omit")) { + return '0'B; + } + return '1'B; + } + template (value) MSRACapabilityValuesRecord ts_RaCapRec(BIT4 att := '0001'B /* E-GSM */, template (omit) MultislotCap_GPRS mscap_gprs := omit, template (omit) MultislotCap_EGPRS mscap_egprs := omit) := { + mSRACapabilityValues := { + mSRACapabilityValuesExclude1111 := { + accessTechnType := att, /* E-GSM */ + accessCapabilities := { + lengthIndicator := 0, /* overwritten */ + accessCapabilities := { + rfPowerCapability := '001'B, /* FIXME */ + presenceBitA5 := '0'B, + a5bits := omit, + esind := '1'B, + psbit := '0'B, + vgcs := '0'B, + vbs := '0'B, + presenceBitMultislot := '1'B, + multislotcap := { + presenceBitHscsd := '0'B, + hscsdmultislotclass := omit, + presenceBitGprs := f_presence_bit_MultislotCap_GPRS(mscap_gprs), + gprsmultislot := mscap_gprs, + presenceBitSms := '0'B, + multislotCap_SMS := omit, + multislotCapAdditionsAfterRel97 := { + presenceBitEcsdmulti := '0'B, + ecsdmultislotclass := omit, + presenceBitEgprsmulti := f_presence_bit_MultislotCap_EGPRS(mscap_egprs), + multislotCap_EGPRS := mscap_egprs, + presenceBitDtmGprsmulti := '0'B, + multislotCapdtmgprsmultislotsubclass := omit + } + }, + accessCapAdditionsAfterRel97 := omit + }, + spare_bits := omit + } + } + }, + presenceBitMSRACap := '0'B + }; + + private function f_presence_bit_MSRadioAccessCapabilityV(template (omit) MSRadioAccessCapabilityV ms_rac) return BIT1 { + if (istemplatekind(ms_rac, "omit")) { + return '0'B; + } + return '1'B; + } + + private function f_template_MSRadioAccessCapabilityV_to_MSRadioAccCap2(template (omit) MSRadioAccessCapabilityV ms_rac) return template (omit) MSRadioAccCap2 { + var template (omit) MSRadioAccCap2 ms_rac2 := omit; + if (istemplatekind(ms_rac, "omit")) { + return ms_rac2; + } + ms_rac2 := { msRadioAccessCapabilityV := ms_rac }; + return ms_rac2; + } + + private const ChannelReqDescription c_ChReqDesc_default := { + peak_tput_class := 0, + priority := 0, + rlc_mode := RLC_MODE_UNACKNOWLEDGED, + llc_pdu_type := LLC_PDU_IS_NOT_SACK_OR_ACK, + RlcOctetCount := 0 + } + + /* TS 44.060 sec 11.2.16 */ + template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_RES_REQ(GprsTlli tlli, + template (omit) MSRadioAccessCapabilityV ms_rac, + ChannelReqDescription ch_req_desc := c_ChReqDesc_default, + RlcAccessType acc_type := RLC_ACC_TYPE_TWO_PHASE) + := { + msg_type := PACKET_RESOURCE_REQUEST, + u := { + resource_req := { + acc_type_presence := '1'B, + acc_type := acc_type, + id_type := '1'B, + id := { tlli := tlli }, + ms_rac2_presence := f_presence_bit_MSRadioAccessCapabilityV(ms_rac), + ms_rac2 := f_template_MSRadioAccessCapabilityV_to_MSRadioAccCap2(ms_rac), + ch_req_desc := ch_req_desc, + change_mark_presence := '0'B, + change_mark := omit, + C_val := '000000'B, + sign_var_presence := '0'B, + sign_var := omit, + I_levels := { + iNone, iNone, iNone, iNone, + iNone, iNone, iNone, iNone + } + } + } + } + +} with { encode "RAW"; variant "FIELDORDER(msb)" variant "BYTEORDER(last)" }; diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index b545368..bca4351 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -639,147 +639,6 @@ variant (relative_k) "PRESENCE(presence = '1'B)" }; - template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_CTRL_ACK(GprsTlli tlli, - CtrlAck ack := MS_RCVD_TWO_RLC_SAME_RTI_DIFF_RBSN) := { - msg_type := PACKET_CONTROL_ACK, - u := { - ctrl_ack := { - tlli := tlli, - ctrl_ack := ack - } - } - } - - const ILevel iNone := { - presence := '0'B, - i_level := omit - } - const ChannelQualityReport c_ChQualRep_default := { - c_value := 0, - rxqual := 0, - sign_var := 0, - i_levels := { iNone, iNone, iNone, iNone, iNone, iNone, iNone, iNone } - } - template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_DL_ACK(uint5_t dl_tfi, - AckNackDescription andesc, - ChannelQualityReport qual_rep := c_ChQualRep_default) := { - msg_type := PACKET_DL_ACK_NACK, - u := { - dl_ack_nack := { - dl_tfi := dl_tfi, - ack_nack_desc := andesc, - chreq_desc_presence := '0'B, - chreq_desc := omit, - ch_qual_rep := qual_rep - } - } - } - - private function f_presence_bit_MultislotCap_GPRS(template (omit) MultislotCap_GPRS mscap_gprs) return BIT1 { - if (istemplatekind(mscap_gprs, "omit")) { - return '0'B; - } - return '1'B; - } - private function f_presence_bit_MultislotCap_EGPRS(template (omit) MultislotCap_EGPRS mscap_egprs) return BIT1 { - if (istemplatekind(mscap_egprs, "omit")) { - return '0'B; - } - return '1'B; - } - template (value) MSRACapabilityValuesRecord ts_RaCapRec(BIT4 att := '0001'B /* E-GSM */, template (omit) MultislotCap_GPRS mscap_gprs := omit, template (omit) MultislotCap_EGPRS mscap_egprs := omit) := { - mSRACapabilityValues := { - mSRACapabilityValuesExclude1111 := { - accessTechnType := att, /* E-GSM */ - accessCapabilities := { - lengthIndicator := 0, /* overwritten */ - accessCapabilities := { - rfPowerCapability := '001'B, /* FIXME */ - presenceBitA5 := '0'B, - a5bits := omit, - esind := '1'B, - psbit := '0'B, - vgcs := '0'B, - vbs := '0'B, - presenceBitMultislot := '1'B, - multislotcap := { - presenceBitHscsd := '0'B, - hscsdmultislotclass := omit, - presenceBitGprs := f_presence_bit_MultislotCap_GPRS(mscap_gprs), - gprsmultislot := mscap_gprs, - presenceBitSms := '0'B, - multislotCap_SMS := omit, - multislotCapAdditionsAfterRel97 := { - presenceBitEcsdmulti := '0'B, - ecsdmultislotclass := omit, - presenceBitEgprsmulti := f_presence_bit_MultislotCap_EGPRS(mscap_egprs), - multislotCap_EGPRS := mscap_egprs, - presenceBitDtmGprsmulti := '0'B, - multislotCapdtmgprsmultislotsubclass := omit - } - }, - accessCapAdditionsAfterRel97 := omit - }, - spare_bits := omit - } - } - }, - presenceBitMSRACap := '0'B - }; - - private function f_presence_bit_MSRadioAccessCapabilityV(template (omit) MSRadioAccessCapabilityV ms_rac) return BIT1 { - if (istemplatekind(ms_rac, "omit")) { - return '0'B; - } - return '1'B; - } - - private function f_template_MSRadioAccessCapabilityV_to_MSRadioAccCap2(template (omit) MSRadioAccessCapabilityV ms_rac) return template (omit) MSRadioAccCap2 { - var template (omit) MSRadioAccCap2 ms_rac2 := omit; - if (istemplatekind(ms_rac, "omit")) { - return ms_rac2; - } - ms_rac2 := { msRadioAccessCapabilityV := ms_rac }; - return ms_rac2; - } - - private const ChannelReqDescription c_ChReqDesc_default := { - peak_tput_class := 0, - priority := 0, - rlc_mode := RLC_MODE_UNACKNOWLEDGED, - llc_pdu_type := LLC_PDU_IS_NOT_SACK_OR_ACK, - RlcOctetCount := 0 - } - - /* TS 44.060 sec 11.2.16 */ - template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_RES_REQ(GprsTlli tlli, - template (omit) MSRadioAccessCapabilityV ms_rac, - ChannelReqDescription ch_req_desc := c_ChReqDesc_default, - RlcAccessType acc_type := RLC_ACC_TYPE_TWO_PHASE) - := { - msg_type := PACKET_RESOURCE_REQUEST, - u := { - resource_req := { - acc_type_presence := '1'B, - acc_type := acc_type, - id_type := '1'B, - id := { tlli := tlli }, - ms_rac2_presence := f_presence_bit_MSRadioAccessCapabilityV(ms_rac), - ms_rac2 := f_template_MSRadioAccessCapabilityV_to_MSRadioAccCap2(ms_rac), - ch_req_desc := ch_req_desc, - change_mark_presence := '0'B, - change_mark := omit, - C_val := '000000'B, - sign_var_presence := '0'B, - sign_var := omit, - I_levels := { - iNone, iNone, iNone, iNone, - iNone, iNone, iNone, iNone - } - } - } - } - /* 3GPP TS 44.060, table 11.2.5a.2 "EGPRS PACKET CHANNEL REQUEST" */ type union EGPRSPktChRequest { EGPRSPktChRequest_MC5P2RB3 one_phase, diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn new file mode 100644 index 0000000..8fb6b0c --- /dev/null +++ b/library/RLCMAC_Templates.ttcn @@ -0,0 +1,346 @@ +/* TITAN REW encode/decode definitions for 3GPP TS 44.060 RLC/MAC Blocks */ + +/* (C) 2017-2018 Harald Welte + * (C) 2020 by sysmocom s.f.m.c. GmbH + * 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 + */ + +module RLCMAC_Templates { + import from General_Types all; + import from Osmocom_Types all; + import from GSM_Types all; + import from RLCMAC_CSN1_Types all; + import from RLCMAC_CSN1_Templates all; + import from RLCMAC_Types all; + + /* TS 44.060 10.4.5 */ + function f_rrbp_fn_delay(MacRrbp rrbp) return uint32_t { + select (rrbp) { + case (RRBP_Nplus13_mod_2715648) { return 13; } + case (RRBP_Nplus17_or_18_mod_2715648) { return 17; } + case (RRBP_Nplus21_or_22_mod_2715648) { return 21; } + case (RRBP_Nplus26_mod_2715648) { return 26; } + } + return 0; + } + + function f_rlcmac_cs_mcs2block_len(CodingScheme cs_mcs) return uint32_t { + select (cs_mcs) { + case (CS_1) { return 23; } + case (CS_2) { return 34; } + case (CS_3) { return 40; } + case (CS_4) { return 54; } + case (MCS_1) { return 27; } + case (MCS_2) { return 33; } + case (MCS_3) { return 42; } + case (MCS_4) { return 49; } + case (MCS_5) { return 61; } + case (MCS_6) { return 79; } + case (MCS_7) { return 119; } + case (MCS_8) { return 143; } + case (MCS_9) { return 155; } + } + return 0; + } + + function f_rlcmac_block_len2cs_mcs(uint32_t len) return CodingScheme { + select (len) { + case (23) { return CS_1; } + case (34) { return CS_2; } + case (40) { return CS_3; } + case (54) { return CS_4; } + case (27) { return MCS_1; } + case (33) { return MCS_2; } + case (42) { return MCS_3; } + case (49) { return MCS_4; } + case (60) { return MCS_5; } + case (61) { return MCS_5; } + case (78) { return MCS_6; } + case (79) { return MCS_6; } + case (118) { return MCS_7; } + case (119) { return MCS_7; } + case (142) { return MCS_8; } + case (143) { return MCS_8; } + case (154) { return MCS_9; } + case (155) { return MCS_9; } + } + return CS_1; + } + + template (value) RlcmacUlBlock ts_RLC_UL_CTRL_ACK(RlcmacUlCtrlMsg ctrl, + MacPayloadType pt := MAC_PT_RLCMAC_NO_OPT, + boolean retry := false) := { + ctrl := { + mac_hdr := { + payload_type := pt, + spare := '00000'B, + retry := retry + }, + payload := ctrl + } + } + + /* Send Template for Downlink ACK/NACK */ + template RlcmacUlBlock ts_RLCMAC_DL_ACK_NACK(template uint5_t tfi, AckNackDescription andesc, boolean retry := false) := { + ctrl := { + mac_hdr := { + payload_type := MAC_PT_RLCMAC_NO_OPT, + spare := '00000'B, + retry := retry + }, + payload := { + msg_type := PACKET_DL_ACK_NACK, + u := { + dl_ack_nack := { + dl_tfi := tfi, + ack_nack_desc := andesc, + chreq_desc_presence := '0'B, + chreq_desc := omit, + ch_qual_rep := c_ChQualRep_default + } + } + } + } + } + + /* Template for uplink Data block */ + template RlcmacUlBlock t_RLCMAC_UL_DATA(template uint5_t tfi, template uint4_t cv, template uint7_t bsn, + template LlcBlocks blocks := {}, template boolean stall := false) := { + data := { + mac_hdr := { + payload_type := MAC_PT_RLC_DATA, + countdown := cv, + stall_ind := false, + retry := false, + spare := '0'B, + pfi_ind := false, + tfi := tfi, + tlli_ind := false, + bsn := bsn, + e := false + }, + tlli := omit, + pfi := omit, + blocks := blocks + } + } + template RlcmacUlBlock t_RLCMAC_UL_DATA_TLLI(template uint5_t tfi, template uint4_t cv, template uint7_t bsn, + template LlcBlocks blocks := {}, template boolean stall := false, template GprsTlli tlli) := { + data := { + mac_hdr := { + payload_type := MAC_PT_RLC_DATA, + countdown := cv, + stall_ind := false, + retry := false, + spare := '0'B, + pfi_ind := false, + tfi := tfi, + tlli_ind := true, + bsn := bsn, + e := false + }, + tlli := tlli, + pfi := omit, + blocks := blocks + } + } + + template DlMacHeader t_RLCMAC_DlMacH(template MacPayloadType pt, template MacRrbp rrbp, template +uint3_t usf) := { + payload_type := pt, + rrbp := rrbp, + rrbp_valid := ispresent(rrbp), + usf := usf + } + + template RlcmacDlBlock tr_RLCMAC_DUMMY_CTRL(template uint3_t usf := ?, template PageMode page_mode := ?) := { + ctrl := { + mac_hdr := { + payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), + rrbp:= ?, + rrbp_valid := ?, + usf := usf + }, + opt := *, + payload := { + msg_type := PACKET_DL_DUMMY_CTRL, + u := { + dl_dummy := { + page_mode := page_mode, + persistence_levels_present := ?, + persistence_levels := * + } + } + } + } + } + + template RlcmacDlBlock tr_RLCMAC_DL_PACKET_ASS(template uint3_t usf := ?) := { + ctrl := { + mac_hdr := { + payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), + rrbp:= ?, + rrbp_valid := ?, + usf := usf + }, + opt := *, + payload := { + msg_type := PACKET_DL_ASSIGNMENT, + u := { + dl_assignment := { + page_mode := ?, + pres1 := ?, + persistence_levels := *, + tfi_or_tlli := ? + } + } + } + } + } + + template RlcmacDlBlock tr_RLCMAC_UL_PACKET_ASS(template uint3_t usf := ?) := { + ctrl := { + mac_hdr := { + payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), + rrbp:= ?, + rrbp_valid := ?, + usf := usf + }, + opt := *, + payload := { + msg_type := PACKET_UL_ASSIGNMENT, + u := { + ul_assignment := { + page_mode := ?, + persistence_levels_present := ?, + persistence_levels := *, + identity := ?, + is_egprs := ?, /* msg escape */ + gprs := * + } + } + } + } + } + + + /* Receive Template for Uplink ACK/NACK */ + template RlcmacDlBlock tr_RLCMAC_UL_ACK_NACK(template uint5_t ul_tfi, template GprsTlli tlli := ?) := { + ctrl := { + mac_hdr := { + payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), + rrbp:= ?, + rrbp_valid := ?, + usf := ? + }, + opt := *, + payload := { + msg_type := PACKET_UL_ACK_NACK, + u := { + ul_ack_nack := { + page_mode := ?, + msg_excape := ?, + uplink_tfi := ul_tfi, + is_egprs := '0'B, + gprs := { + ch_coding_cmd := ?, + ack_nack_desc := ?, + cont_res_tlli_present := ?, + cont_res_tlli := tlli, + pkt_ta_present := ?, + pkt_ta := *, + pwr_ctrl_present := ?, + pwr_ctrl := * + } + } + } + } + } + } + + template RlcmacDlBlock tr_RLCMAC_PACKET_PAG_REQ(template uint3_t usf := ?) := { + ctrl := { + mac_hdr := { + payload_type := MAC_PT_RLCMAC_NO_OPT, + rrbp:= ?, + rrbp_valid := ?, + usf := usf + }, + opt := *, + payload := { + msg_type := PACKET_PAGING_REQUEST, + u := { + paging := { + page_mode := ?, + persistence_levels_present := ?, + persistence_levels := *, + nln_present := ?, + nln := *, + repeated_pageinfo_present := ?, + repeated_pageinfo := * + } + } + } + } + } + + template RlcmacDlBlock tr_RLCMAC_DATA_RRBP := { + data := { + mac_hdr := { + mac_hdr := { + payload_type := MAC_PT_RLC_DATA, + rrbp := ?, + rrbp_valid := true, + usf := ? + }, + hdr_ext := ? + }, + blocks := ? + } + } + + template RlcmacDlBlock tr_RLCMAC_DATA_EGPRS := { + data_egprs := { + mac_hdr := ?, + fbi := ?, + e := ?, + blocks := ? + } + } + + /* Template for Uplink MAC Control Header */ + template UlMacCtrlHeader t_RLCMAC_UlMacCtrlH(template MacPayloadType pt, template boolean retry := false) := { + payload_type := pt, + spare := '00000'B, + retry := retry + } + + /* Template for Uplink Control ACK */ + template RlcmacUlBlock ts_RLCMAC_CTRL_ACK(GprsTlli tlli, CtrlAck ack := MS_RCVD_TWO_RLC_SAME_RTI_DIFF_RBSN) := { + ctrl := { + mac_hdr := t_RLCMAC_UlMacCtrlH(MAC_PT_RLCMAC_NO_OPT), + payload := { + msg_type := PACKET_CONTROL_ACK, + u := { + ctrl_ack := { + tlli := tlli, + ctrl_ack := ack + } + } + } + } + } + + /* Template for a LlcBlock (part of a LLC frame inside RlcMac?lDataBlock */ + template LlcBlock t_RLCMAC_LLCBLOCK(octetstring data, boolean more := false, boolean e := true) := { + /* let encoder figure out the header */ + hdr := omit, + payload := data + } + +} with { encode "RAW"; variant "FIELDORDER(msb)" } diff --git a/library/RLCMAC_Types.ttcn b/library/RLCMAC_Types.ttcn index e5c2464..27c1805 100644 --- a/library/RLCMAC_Types.ttcn +++ b/library/RLCMAC_Types.ttcn @@ -31,16 +31,6 @@ RRBP_Nplus26_mod_2715648 ('11'B) } with { variant "FIELDLENGTH(2)" }; - function f_rrbp_fn_delay(MacRrbp rrbp) return uint32_t { - select (rrbp) { - case (RRBP_Nplus13_mod_2715648) { return 13; } - case (RRBP_Nplus17_or_18_mod_2715648) { return 17; } - case (RRBP_Nplus21_or_22_mod_2715648) { return 21; } - case (RRBP_Nplus26_mod_2715648) { return 26; } - } - return 0; - } - type enumerated EgprsHeaderType { RLCMAC_HDR_TYPE_1, RLCMAC_HDR_TYPE_2, @@ -66,49 +56,6 @@ // MCS6_9 ? }; - function f_rlcmac_cs_mcs2block_len(CodingScheme cs_mcs) return uint32_t { - select (cs_mcs) { - case (CS_1) { return 23; } - case (CS_2) { return 34; } - case (CS_3) { return 40; } - case (CS_4) { return 54; } - case (MCS_1) { return 27; } - case (MCS_2) { return 33; } - case (MCS_3) { return 42; } - case (MCS_4) { return 49; } - case (MCS_5) { return 61; } - case (MCS_6) { return 79; } - case (MCS_7) { return 119; } - case (MCS_8) { return 143; } - case (MCS_9) { return 155; } - } - return 0; - } - - function f_rlcmac_block_len2cs_mcs(uint32_t len) return CodingScheme { - select (len) { - case (23) { return CS_1; } - case (34) { return CS_2; } - case (40) { return CS_3; } - case (54) { return CS_4; } - case (27) { return MCS_1; } - case (33) { return MCS_2; } - case (42) { return MCS_3; } - case (49) { return MCS_4; } - case (60) { return MCS_5; } - case (61) { return MCS_5; } - case (78) { return MCS_6; } - case (79) { return MCS_6; } - case (118) { return MCS_7; } - case (119) { return MCS_7; } - case (142) { return MCS_8; } - case (143) { return MCS_8; } - case (154) { return MCS_9; } - case (155) { return MCS_9; } - } - return CS_1; - } - /* Partof DL RLC data block and DL RLC/MAC ctrl block */ type record DlMacHeader { MacPayloadType payload_type, @@ -406,277 +353,6 @@ external function enc_RlcmacDlBlock(in RlcmacDlBlock si) return octetstring; external function dec_RlcmacDlBlock(in octetstring stream) return RlcmacDlBlock; - template (value) RlcmacUlBlock ts_RLC_UL_CTRL_ACK(RlcmacUlCtrlMsg ctrl, - MacPayloadType pt := MAC_PT_RLCMAC_NO_OPT, - boolean retry := false) := { - ctrl := { - mac_hdr := { - payload_type := pt, - spare := '00000'B, - retry := retry - }, - payload := ctrl - } - } - - /* Send Template for Downlink ACK/NACK */ - template RlcmacUlBlock ts_RLCMAC_DL_ACK_NACK(template uint5_t tfi, AckNackDescription andesc, boolean retry := false) := { - ctrl := { - mac_hdr := { - payload_type := MAC_PT_RLCMAC_NO_OPT, - spare := '00000'B, - retry := retry - }, - payload := { - msg_type := PACKET_DL_ACK_NACK, - u := { - dl_ack_nack := { - dl_tfi := tfi, - ack_nack_desc := andesc, - chreq_desc_presence := '0'B, - chreq_desc := omit, - ch_qual_rep := c_ChQualRep_default - } - } - } - } - } - - /* Template for uplink Data block */ - template RlcmacUlBlock t_RLCMAC_UL_DATA(template uint5_t tfi, template uint4_t cv, template uint7_t bsn, - template LlcBlocks blocks := {}, template boolean stall := false) := { - data := { - mac_hdr := { - payload_type := MAC_PT_RLC_DATA, - countdown := cv, - stall_ind := false, - retry := false, - spare := '0'B, - pfi_ind := false, - tfi := tfi, - tlli_ind := false, - bsn := bsn, - e := false - }, - tlli := omit, - pfi := omit, - blocks := blocks - } - } - template RlcmacUlBlock t_RLCMAC_UL_DATA_TLLI(template uint5_t tfi, template uint4_t cv, template uint7_t bsn, - template LlcBlocks blocks := {}, template boolean stall := false, template GprsTlli tlli) := { - data := { - mac_hdr := { - payload_type := MAC_PT_RLC_DATA, - countdown := cv, - stall_ind := false, - retry := false, - spare := '0'B, - pfi_ind := false, - tfi := tfi, - tlli_ind := true, - bsn := bsn, - e := false - }, - tlli := tlli, - pfi := omit, - blocks := blocks - } - } - - template DlMacHeader t_RLCMAC_DlMacH(template MacPayloadType pt, template MacRrbp rrbp, template -uint3_t usf) := { - payload_type := pt, - rrbp := rrbp, - rrbp_valid := ispresent(rrbp), - usf := usf - } - - template RlcmacDlBlock tr_RLCMAC_DUMMY_CTRL(template uint3_t usf := ?, template PageMode page_mode := ?) := { - ctrl := { - mac_hdr := { - payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), - rrbp:= ?, - rrbp_valid := ?, - usf := usf - }, - opt := *, - payload := { - msg_type := PACKET_DL_DUMMY_CTRL, - u := { - dl_dummy := { - page_mode := page_mode, - persistence_levels_present := ?, - persistence_levels := * - } - } - } - } - } - - template RlcmacDlBlock tr_RLCMAC_DL_PACKET_ASS(template uint3_t usf := ?) := { - ctrl := { - mac_hdr := { - payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), - rrbp:= ?, - rrbp_valid := ?, - usf := usf - }, - opt := *, - payload := { - msg_type := PACKET_DL_ASSIGNMENT, - u := { - dl_assignment := { - page_mode := ?, - pres1 := ?, - persistence_levels := *, - tfi_or_tlli := ? - } - } - } - } - } - - template RlcmacDlBlock tr_RLCMAC_UL_PACKET_ASS(template uint3_t usf := ?) := { - ctrl := { - mac_hdr := { - payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), - rrbp:= ?, - rrbp_valid := ?, - usf := usf - }, - opt := *, - payload := { - msg_type := PACKET_UL_ASSIGNMENT, - u := { - ul_assignment := { - page_mode := ?, - persistence_levels_present := ?, - persistence_levels := *, - identity := ?, - is_egprs := ?, /* msg escape */ - gprs := * - } - } - } - } - } - - - /* Receive Template for Uplink ACK/NACK */ - template RlcmacDlBlock tr_RLCMAC_UL_ACK_NACK(template uint5_t ul_tfi, template GprsTlli tlli := ?) := { - ctrl := { - mac_hdr := { - payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), - rrbp:= ?, - rrbp_valid := ?, - usf := ? - }, - opt := *, - payload := { - msg_type := PACKET_UL_ACK_NACK, - u := { - ul_ack_nack := { - page_mode := ?, - msg_excape := ?, - uplink_tfi := ul_tfi, - is_egprs := '0'B, - gprs := { - ch_coding_cmd := ?, - ack_nack_desc := ?, - cont_res_tlli_present := ?, - cont_res_tlli := tlli, - pkt_ta_present := ?, - pkt_ta := *, - pwr_ctrl_present := ?, - pwr_ctrl := * - } - } - } - } - } - } - - template RlcmacDlBlock tr_RLCMAC_PACKET_PAG_REQ(template uint3_t usf := ?) := { - ctrl := { - mac_hdr := { - payload_type := MAC_PT_RLCMAC_NO_OPT, - rrbp:= ?, - rrbp_valid := ?, - usf := usf - }, - opt := *, - payload := { - msg_type := PACKET_PAGING_REQUEST, - u := { - paging := { - page_mode := ?, - persistence_levels_present := ?, - persistence_levels := *, - nln_present := ?, - nln := *, - repeated_pageinfo_present := ?, - repeated_pageinfo := * - } - } - } - } - } - - template RlcmacDlBlock tr_RLCMAC_DATA_RRBP := { - data := { - mac_hdr := { - mac_hdr := { - payload_type := MAC_PT_RLC_DATA, - rrbp := ?, - rrbp_valid := true, - usf := ? - }, - hdr_ext := ? - }, - blocks := ? - } - } - - template RlcmacDlBlock tr_RLCMAC_DATA_EGPRS := { - data_egprs := { - mac_hdr := ?, - fbi := ?, - e := ?, - blocks := ? - } - } - - /* Template for Uplink MAC Control Header */ - template UlMacCtrlHeader t_RLCMAC_UlMacCtrlH(template MacPayloadType pt, template boolean retry := false) := { - payload_type := pt, - spare := '00000'B, - retry := retry - } - - /* Template for Uplink Control ACK */ - template RlcmacUlBlock ts_RLCMAC_CTRL_ACK(GprsTlli tlli, CtrlAck ack := MS_RCVD_TWO_RLC_SAME_RTI_DIFF_RBSN) := { - ctrl := { - mac_hdr := t_RLCMAC_UlMacCtrlH(MAC_PT_RLCMAC_NO_OPT), - payload := { - msg_type := PACKET_CONTROL_ACK, - u := { - ctrl_ack := { - tlli := tlli, - ctrl_ack := ack - } - } - } - } - } - - /* Template for a LlcBlock (part of a LLC frame inside RlcMac?lDataBlock */ - template LlcBlock t_RLCMAC_LLCBLOCK(octetstring data, boolean more := false, boolean e := true) := { - /* let encoder figure out the header */ - hdr := omit, - payload := data - } - /************************ * PTCCH/D (Packet Timing Advance Control Channel) message. * TODO: add a spec. reference to the message format definition. diff --git a/mme/gen_links.sh b/mme/gen_links.sh index 469b92f..b0ecf86 100755 --- a/mme/gen_links.sh +++ b/mme/gen_links.sh @@ -56,7 +56,7 @@ DIR=../library FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn Osmocom_Types.ttcn Native_Functions.ttcn Native_FunctionDefs.cc " FILES+="SGsAP_Templates.ttcn SGsAP_CodecPort.ttcn SGsAP_CodecPort_CtrlFunct.ttcn SGsAP_CodecPort_CtrlFunctDef.cc SGsAP_Emulation.ttcn DNS_Helpers.ttcn " -FILES+="L3_Templates.ttcn RLCMAC_CSN1_Types.ttcn " +FILES+="L3_Templates.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn " FILES+="S1AP_CodecPort.ttcn S1AP_CodecPort_CtrlFunctDef.cc S1AP_CodecPort_CtrlFunct.ttcn S1AP_Emulation.ttcn " FILES+="NAS_Templates.ttcn GTPv2_PrivateExtensions.ttcn GTPv2_Templates.ttcn " FILES+="DIAMETER_Types.ttcn DIAMETER_CodecPort.ttcn DIAMETER_CodecPort_CtrlFunct.ttcn DIAMETER_CodecPort_CtrlFunctDef.cc DIAMETER_Emulation.ttcn DIAMETER_Templates.ttcn " diff --git a/msc/gen_links.sh b/msc/gen_links.sh index 329a7d1..221110e 100755 --- a/msc/gen_links.sh +++ b/msc/gen_links.sh @@ -93,7 +93,7 @@ DIR=../library FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn Osmocom_Types.ttcn MNCC_Types.ttcn MNCC_EncDec.cc MNCC_CodecPort.ttcn mncc.h MNCC_Emulation.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc " FILES+="IPA_Types.ttcn IPA_Emulation.ttcnpp IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc GSUP_Types.ttcn GSUP_Emulation.ttcn " -FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn L3_Templates.ttcn RLCMAC_CSN1_Types.ttcn L3_Common.ttcn " +FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn L3_Templates.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn L3_Common.ttcn " FILES+="RAN_Emulation.ttcnpp BSSAP_CodecPort.ttcn BSSMAP_Templates.ttcn RAN_Adapter.ttcnpp MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_Emulation.ttcn " FILES+="RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunctDef.cc " FILES+="MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunctDef.cc " diff --git a/pcu/GPRS_TBF.ttcn b/pcu/GPRS_TBF.ttcn index 1c9a75b..fb42097 100644 --- a/pcu/GPRS_TBF.ttcn +++ b/pcu/GPRS_TBF.ttcn @@ -14,8 +14,9 @@ import from GSM_Types all; import from Osmocom_Types all; import from General_Types all; -import from RLCMAC_Types all; import from RLCMAC_CSN1_Types all; +import from RLCMAC_Types all; +import from RLCMAC_Templates all; import from LLC_Types all; import from GPRS_Context all; diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 24c198e..3562925 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -28,7 +28,9 @@ import from MobileL3_GMM_SM_Types all; import from RLCMAC_CSN1_Types all; +import from RLCMAC_CSN1_Templates all; import from RLCMAC_Types all; +import from RLCMAC_Templates all; import from MobileL3_CommonIE_Types all; import from L3_Templates all; diff --git a/pcu/gen_links.sh b/pcu/gen_links.sh index da035cb..3a52c99 100755 --- a/pcu/gen_links.sh +++ b/pcu/gen_links.sh @@ -49,7 +49,7 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc " +FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc " FILES+="NS_Emulation.ttcn NS_CodecPort.ttcn NS_CodecPort_CtrlFunct.ttcn NS_CodecPort_CtrlFunctDef.cc " FILES+="BSSGP_Emulation.ttcn Osmocom_Gb_Types.ttcn " FILES+="LLC_Templates.ttcn L3_Templates.ttcn L3_Common.ttcn " diff --git a/selftest/gen_links.sh b/selftest/gen_links.sh index c590de6..fd64a48 100755 --- a/selftest/gen_links.sh +++ b/selftest/gen_links.sh @@ -39,7 +39,7 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn BSSAP_CodecPort.ttcn Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn GSUP_Types.ttcn" +FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn BSSAP_CodecPort.ttcn Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn GSUP_Types.ttcn" gen_links $DIR $FILES ignore_pp_results diff --git a/sgsn/gen_links.sh b/sgsn/gen_links.sh index 3552bc2..bd3a7ea 100755 --- a/sgsn/gen_links.sh +++ b/sgsn/gen_links.sh @@ -83,7 +83,7 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc " +FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc " FILES+="NS_Emulation.ttcn NS_CodecPort.ttcn NS_CodecPort_CtrlFunct.ttcn NS_CodecPort_CtrlFunctDef.cc " FILES+="BSSGP_Emulation.ttcn Osmocom_Gb_Types.ttcn " FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn " diff --git a/sysinfo/gen_links.sh b/sysinfo/gen_links.sh index d32b89b..3526a29 100755 --- a/sysinfo/gen_links.sh +++ b/sysinfo/gen_links.sh @@ -25,7 +25,7 @@ gen_links $DIR $FILES DIR=../library -FILES="GSMTAP_PortType.ttcn GSMTAP_Types.ttcn GSM_SystemInformation.ttcn GSM_RR_Types.ttcn RLCMAC_CSN1_Types.ttcn GSM_Types.ttcn IPL4_GSMTAP_CtrlFunct.ttcn IPL4_GSMTAP_CtrlFunctDef.cc Osmocom_Types.ttcn Misc_Helpers.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn" +FILES="GSMTAP_PortType.ttcn GSMTAP_Types.ttcn GSM_SystemInformation.ttcn GSM_RR_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn GSM_Types.ttcn IPL4_GSMTAP_CtrlFunct.ttcn IPL4_GSMTAP_CtrlFunctDef.cc Osmocom_Types.ttcn Misc_Helpers.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn" gen_links $DIR $FILES ignore_pp_results -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17981 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: I9c6597178168aa3848b21930f33be698dd2ce545 Gerrit-Change-Number: 17981 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 Apr 29 18:57:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 29 Apr 2020 18:57:28 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: Don't use GSMTAP_CHANNEL_PACCH when sending unknown gsmtap... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17982 ) Change subject: pcu_l1_if: Don't use GSMTAP_CHANNEL_PACCH when sending unknown gsmtap blocks ...................................................................... pcu_l1_if: Don't use GSMTAP_CHANNEL_PACCH when sending unknown gsmtap blocks It's actually counter-productive when analyzing wireshark traces, since one may not spot a decoding issue and assume PACCH is sent on the wrong TS. Change-Id: I7a96148f1ca1ebfa88a3ff714ea3bb8798866046 --- M src/pcu_l1_if.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/82/17982/1 diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 37a0705..30d22bd 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -347,7 +347,7 @@ if (rc < 0 && (bts->gsmtap_categ_mask & (1 <gsmtap, data_ind->arfcn | GSMTAP_ARFCN_F_UPLINK, data_ind->ts_nr, - GSMTAP_CHANNEL_PACCH, 0, data_ind->fn, 0, 0, data_ind->data, data_ind->len); + GSMTAP_CHANNEL_UNKNOWN, 0, data_ind->fn, 0, 0, data_ind->data, data_ind->len); } return rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17982 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7a96148f1ca1ebfa88a3ff714ea3bb8798866046 Gerrit-Change-Number: 17982 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 Apr 29 19:05:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 29 Apr 2020 19:05:25 +0000 Subject: Change in osmo-pcu[master]: pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data ... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17983 ) Change subject: pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data block ...................................................................... pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data block Even if we don't accept it, let's submit GSMTAP with correct channel. We don't return error like in code below, because otherwise the generic UNKNOWN gsmtap message will be sent. Change-Id: I853679ce8907d46fcb84ae4127335c10623f09c9 --- M src/pdch.cpp 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/83/17983/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index f46acc8..77be1b5 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -793,14 +793,14 @@ * control blocks (see 44.060, section 10.3, 1st par.) */ if (mcs_is_edge(cs)) { + bts()->send_gsmtap(PCU_GSMTAP_C_UL_DATA_EGPRS, true, trx_no(), ts_no, GSMTAP_CHANNEL_PDTCH, fn, + data, data_len); if (!bts()->bts_data()->egprs_enabled) { LOGP(DRLCMACUL, LOGL_ERROR, "Got %s RLC block but EGPRS is not enabled\n", mcs_name(cs)); - return -EINVAL; + return 0; } - bts()->send_gsmtap(PCU_GSMTAP_C_UL_DATA_EGPRS, true, trx_no(), ts_no, GSMTAP_CHANNEL_PDTCH, fn, - data, data_len); } else { bts()->send_gsmtap(PCU_GSMTAP_C_UL_DATA_GPRS, true, trx_no(), ts_no, GSMTAP_CHANNEL_PDTCH, fn, data, data_len); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17983 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I853679ce8907d46fcb84ae4127335c10623f09c9 Gerrit-Change-Number: 17983 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 Apr 29 20:29:02 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 29 Apr 2020 20:29:02 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: Don't use GSMTAP_CHANNEL_PACCH when sending unknown gsmtap... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17982 ) Change subject: pcu_l1_if: Don't use GSMTAP_CHANNEL_PACCH when sending unknown gsmtap blocks ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17982/1/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/17982/1/src/pcu_l1_if.cpp at 348 PS1, Line 348: rc < 0 It's not good that we basically depend on rc here. If either pcu_rx_data_ind_pdtch() or pcu_rx_data_ind_pdtch() fails for some reason, it does not mean that GSMTAP channel type is unknown... -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17982 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7a96148f1ca1ebfa88a3ff714ea3bb8798866046 Gerrit-Change-Number: 17982 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 29 Apr 2020 20:29: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 Apr 29 20:31:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 29 Apr 2020 20:31:52 +0000 Subject: Change in osmo-pcu[master]: pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data ... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17983 ) Change subject: pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data block ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17983/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/17983/1//COMMIT_MSG at 10 PS1, Line 10: otherwise the generic : UNKNOWN gsmtap message will be sent. See my comment to your previous change. Return code should not redefine the GSMTAP channel type. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17983 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I853679ce8907d46fcb84ae4127335c10623f09c9 Gerrit-Change-Number: 17983 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 29 Apr 2020 20:31: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 Wed Apr 29 22:22:05 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 29 Apr 2020 22:22:05 +0000 Subject: Change in osmo-hlr[master]: 2/2: fixup: add osmo_gsup_peer_id with type enum and union In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16459 ) Change subject: 2/2: fixup: add osmo_gsup_peer_id with type enum and union ...................................................................... Patch Set 9: An opaque data structure indeed sounds like a good solution ABI wise. A drawback is that we can't embed such an opaque struct directly in other structs: we would need dynamic allocation again, which I'd rather avoid. I skimmed this and the previous patch for usage: - It is used in a few structs that are talloc'd, so it would be ok to allocate as talloc child. - Also used as local variables in a handful of locations, where it would rapidly allocate/deallocate. (Some of those could be replaced by API skipping an allocation?) Anyway, it's a tradeoff. Maybe rather have a future proof data structure that is transparent. My biggest problem here is the open question how that future might look. I imagine that such a future would anyway be completely separate / orthogonal to the GSUP API and that we would do plain API bloat here for no good reason. -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ide9dcdca283ab989240cfc6e53e9211862a199c5 Gerrit-Change-Number: 16459 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 29 Apr 2020 22:22:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Apr 30 01:43:08 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 30 Apr 2020 01:43:08 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eaa2d3f276e0_97e2b20445445f4435961@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 626s] | ## Running config.status. ## [ 626s] | ## ---------------------- ## [ 626s] | [ 626s] | This file was extended by libosmocore config.status 1.3.0.72-d87d, which was [ 626s] | generated by GNU Autoconf 2.69. Invocation command line was [ 626s] | [ 626s] | CONFIG_FILES = [ 626s] | CONFIG_HEADERS = [ 626s] | CONFIG_LINKS = [ 626s] | CONFIG_COMMANDS = [ 626s] | $ ./config.status Doxyfile.core [ 626s] | [ 626s] | on obs-arm-5 [ 626s] | [ 626s] | config.status:1341: creating Doxyfile.core [ 626s] [ 626s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 626s] make[1]: *** [override_dh_auto_test] Error 1 [ 626s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 626s] debian/rules:15: recipe for target 'build' failed [ 626s] make: *** [build] Error 2 [ 626s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 626s] ### VM INTERACTION START ### [ 629s] [ 611.002353] sysrq: SysRq : Power Off [ 629s] [ 611.006180] reboot: Power down [ 629s] ### VM INTERACTION END ### [ 629s] [ 629s] obs-arm-5 failed "build libosmocore_1.3.0.72.d87d.dsc" at Thu Apr 30 01:43:07 UTC 2020. [ 629s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Apr 30 03:45:08 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 30 Apr 2020 03:45:08 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gsm-manuals in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5eaa49d2d5318_97e2b20445445f44577e3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gsm-manuals/Debian_10/x86_64 Package network:osmocom:nightly/osmo-gsm-manuals failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gsm-manuals Last lines of build log: rpc timeout (worker was lamb02:7) -- 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 Apr 30 06:29:31 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 30 Apr 2020 06:29:31 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse ePDG Identifier from hex string In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17883 ) Change subject: utils.py: Add helper method to parse ePDG Identifier from hex string ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py at 365 PS1, Line 365: if o > In that commit you linked you still hand-coded the TLV parsing instead of using an existing parser. [?] sure, i can have a look into such python libraries and get back on this -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 Gerrit-Change-Number: 17883 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 30 Apr 2020 06:29:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: herlesupreeth 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 Apr 30 06:47:47 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 30 Apr 2020 06:47:47 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: notify sender in case of RPL delivery failure In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17875 ) Change subject: SMS-over-GSUP: notify sender in case of RPL delivery failure ...................................................................... Patch Set 1: (1 comment) This change is ready for review. https://gerrit.osmocom.org/c/osmo-msc/+/17875/1/src/libmsc/gsm_04_11_gsup.c File src/libmsc/gsm_04_11_gsup.c: https://gerrit.osmocom.org/c/osmo-msc/+/17875/1/src/libmsc/gsm_04_11_gsup.c at 264 PS1, Line 264: GMM_CAUSE_NET_FAIL > is it a network failure if the MT-SMS could not be delivered? It could also be a MS/UE failure, a ra [?] Actually at this point we initiate MT message delivery, i.e. creating SMR/SMC state machines and starting paging if needed. Thus if anything goes wrong, it's definitely on our side. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8436601c4314395e28829960dc753778c37b1125 Gerrit-Change-Number: 17875 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 30 Apr 2020 06:47: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 Apr 30 07:01:02 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 07:01:02 +0000 Subject: Change in mncc-python[master]: update .gitignore with rtpsource object code file names In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17977 ) Change subject: update .gitignore with rtpsource object code file names ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17977 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I085d50bb60e4eebda5d92c6e5fbc5a1d56c0badb Gerrit-Change-Number: 17977 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 30 Apr 2020 07:01: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 Thu Apr 30 07:01:06 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 07:01:06 +0000 Subject: Change in mncc-python[master]: update .gitignore with rtpsource object code file names In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17977 ) Change subject: update .gitignore with rtpsource object code file names ...................................................................... update .gitignore with rtpsource object code file names Change-Id: I085d50bb60e4eebda5d92c6e5fbc5a1d56c0badb --- M .gitignore 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Verified diff --git a/.gitignore b/.gitignore index b948985..77e974f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ *.swp *.pyc + +*.o +rtpsource/rtpsource -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17977 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I085d50bb60e4eebda5d92c6e5fbc5a1d56c0badb Gerrit-Change-Number: 17977 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Thu Apr 30 07:11:56 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 30 Apr 2020 07:11:56 +0000 Subject: Change in osmo-msc[master]: gsup_client_mux_tx_error_reply(): handle optional routing IEs References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/17984 ) Change subject: gsup_client_mux_tx_error_reply(): handle optional routing IEs ...................................................................... gsup_client_mux_tx_error_reply(): handle optional routing IEs If received GSUP message contains at least the source name IE, then the error message sent in response sould not omit the routing information. Let's also include them. Change-Id: I2694ea15d2cf57316f2eae845afb957a3e8067b6 --- M src/libmsc/gsup_client_mux.c 1 file changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/84/17984/1 diff --git a/src/libmsc/gsup_client_mux.c b/src/libmsc/gsup_client_mux.c index e425651..2e6f25d 100644 --- a/src/libmsc/gsup_client_mux.c +++ b/src/libmsc/gsup_client_mux.c @@ -161,6 +161,22 @@ OSMO_STRLCPY_ARRAY(gsup_reply.imsi, gsup_orig->imsi); + /* Handle optional routing IEs */ + if (gsup_orig->source_name && gsup_orig->source_name_len) { + /* We respond to the sender of the original message */ + gsup_reply.destination_name_len = gsup_orig->source_name_len; + gsup_reply.destination_name = gsup_orig->source_name; + + /* We're sending an error, so we're the source */ + const char *local_msc_name = gcm->gsup_client->ipa_dev->serno; + if (!local_msc_name) + local_msc_name = gcm->gsup_client->ipa_dev->unit_name; + if (local_msc_name) { + gsup_reply.source_name_len = strlen(local_msc_name) + 1; + gsup_reply.source_name = gsup_orig->source_name; + } + } + /* For SS/USSD, it's important to keep both session state and ID IEs */ if (gsup_orig->session_state != OSMO_GSUP_SESSION_STATE_NONE) { gsup_reply.session_state = OSMO_GSUP_SESSION_STATE_END; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17984 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2694ea15d2cf57316f2eae845afb957a3e8067b6 Gerrit-Change-Number: 17984 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 Apr 30 07:17:21 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 30 Apr 2020 07:17:21 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse ePDG Identifier from hex string In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17883 ) Change subject: utils.py: Add helper method to parse ePDG Identifier from hex string ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py at 365 PS1, Line 365: if o > sure, i can have a look into such python libraries and get back on this will it be okay to use the following file from python-pcsclite python library? please let me know your opinion on this. http://python-pcsclite.sourceforge.net/doc/examples/iso7816.py python-pcsclite is under GNU Affero General Public License, i hope it goes well with GPL License of pysim. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 Gerrit-Change-Number: 17883 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 30 Apr 2020 07:17:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: herlesupreeth 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 Apr 30 07:22:49 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 07:22:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Get rid of PCU_Tests.ttcn tests In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 ) Change subject: pcu: Get rid of PCU_Tests.ttcn tests ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321/4/pcu/PCU_selftest.ttcn File pcu/PCU_selftest.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321/4/pcu/PCU_selftest.ttcn at 208 PS4, Line 208: // Some octstrings are concatenated to avoid Atom editor hanging: https://github.com/karolwiniarski/language-ttcn-3/issues/3 lol -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 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: Ie862a1525e9f4f9a3f2427ac3898810e3d044d2f Gerrit-Change-Number: 16321 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 30 Apr 2020 07:22:49 +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 Apr 30 07:35:27 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 30 Apr 2020 07:35:27 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: move net->sms_over_gsup check to gsm411_gsup_rx() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17871 ) Change subject: SMS-over-GSUP: move net->sms_over_gsup check to gsm411_gsup_rx() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I89988b7148b164af304ecae1f53b74f322fdc7bd Gerrit-Change-Number: 17871 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 30 Apr 2020 07: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 Thu Apr 30 07:35:47 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 30 Apr 2020 07:35:47 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: move net->sms_over_gsup check to gsm411_gsup_rx() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17871 ) Change subject: SMS-over-GSUP: move net->sms_over_gsup check to gsm411_gsup_rx() ...................................................................... SMS-over-GSUP: move net->sms_over_gsup check to gsm411_gsup_rx() Change-Id: I89988b7148b164af304ecae1f53b74f322fdc7bd --- M src/libmsc/gsm_04_11_gsup.c 1 file changed, 8 insertions(+), 16 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index dfc90cc..1751655 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -149,14 +149,6 @@ OSMO_ASSERT(0); } - /* Make sure that 'SMS over GSUP' is expected */ - if (!net->sms_over_gsup) { - /* TODO: notify sender about that? */ - LOGP(DLSMS, LOGL_NOTICE, "Unexpected MO SMS over GSUP " - "(sms-over-gsup is not enabled), ignoring message...\n"); - return -EIO; - } - /* Verify GSUP message */ if (!gsup_msg->sm_rp_mr) goto msg_error; @@ -241,14 +233,6 @@ LOGP(DLSMS, LOGL_DEBUG, "RX MT-forwardSM-Req\n"); - /* Make sure that 'SMS over GSUP' is expected */ - if (!net->sms_over_gsup) { - LOGP(DLSMS, LOGL_NOTICE, "Unexpected MT SMS over GSUP " - "(sms-over-gsup is not enabled), ignoring message...\n"); - /* TODO: notify sender about that? */ - return -EIO; - } - /** * Verify GSUP message * @@ -296,6 +280,14 @@ struct vlr_subscr *vsub; int rc; + /* Make sure that 'SMS over GSUP' is expected */ + if (!net->sms_over_gsup) { + /* TODO: notify sender about that? */ + LOGP(DLSMS, LOGL_NOTICE, "Unexpected MO/MT SMS over GSUP " + "(sms-over-gsup is not enabled), ignoring message...\n"); + return -EIO; + } + vsub = vlr_subscr_find_by_imsi(net->vlr, gsup_msg->imsi, __func__); if (!vsub) { LOGP(DLSMS, LOGL_ERROR, "Rx %s for unknown subscriber, rejecting\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I89988b7148b164af304ecae1f53b74f322fdc7bd Gerrit-Change-Number: 17871 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 Thu Apr 30 07:35:48 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 30 Apr 2020 07:35:48 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: respond with error if net->sms_over_gsup is false In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17872 ) Change subject: SMS-over-GSUP: respond with error if net->sms_over_gsup is false ...................................................................... SMS-over-GSUP: respond with error if net->sms_over_gsup is false Change-Id: If14f8a394e691f86e0acbffb283c3862fe62ffd2 --- M src/libmsc/gsm_04_11_gsup.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index 1751655..a24c617 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -282,9 +282,9 @@ /* Make sure that 'SMS over GSUP' is expected */ if (!net->sms_over_gsup) { - /* TODO: notify sender about that? */ LOGP(DLSMS, LOGL_NOTICE, "Unexpected MO/MT SMS over GSUP " "(sms-over-gsup is not enabled), ignoring message...\n"); + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_GPRS_NOTALLOWED); return -EIO; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17872 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If14f8a394e691f86e0acbffb283c3862fe62ffd2 Gerrit-Change-Number: 17872 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 Thu Apr 30 07:35:49 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 30 Apr 2020 07:35:49 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: notify sender about unhandled GSUP messages In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17873 ) Change subject: SMS-over-GSUP: notify sender about unhandled GSUP messages ...................................................................... SMS-over-GSUP: notify sender about unhandled GSUP messages Change-Id: I7970349bd9d5c56a64c409e619e8b581682fef0b --- M src/libmsc/gsm_04_11_gsup.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index a24c617..cf9d11d 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -315,6 +315,7 @@ default: LOGP(DMM, LOGL_ERROR, "No handler found for %s, dropping message...\n", osmo_gsup_message_type_name(gsup_msg->message_type)); + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL); rc = -GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I7970349bd9d5c56a64c409e619e8b581682fef0b Gerrit-Change-Number: 17873 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 Thu Apr 30 07:35:51 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 30 Apr 2020 07:35:51 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: notify sender about malformed GSUP messages In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17874 ) Change subject: SMS-over-GSUP: notify sender about malformed GSUP messages ...................................................................... SMS-over-GSUP: notify sender about malformed GSUP messages Change-Id: I27f00e69ff045cbf641ef21adf44fcd55cb8f889 --- M src/libmsc/gsm_04_11_gsup.c 1 file changed, 3 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index cf9d11d..7c9b6fb 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -178,9 +178,8 @@ return 0; msg_error: - /* TODO: notify sender about that? */ - LOGP(DLSMS, LOGL_NOTICE, "RX malformed %s-%s\n", - msg_name, msg_is_err ? "Err" : "Res"); + LOGP(DLSMS, LOGL_NOTICE, "RX malformed %s-%s\n", msg_name, msg_is_err ? "Err" : "Res"); + gsup_client_mux_tx_error_reply(net->gcm, gsup_msg, GMM_CAUSE_INV_MAND_INFO); return -EINVAL; } @@ -269,8 +268,8 @@ return 0; msg_error: - /* TODO: notify sender about that? */ LOGP(DLSMS, LOGL_NOTICE, "RX malformed MT-forwardSM-Req\n"); + gsup_client_mux_tx_error_reply(net->gcm, gsup_msg, GMM_CAUSE_INV_MAND_INFO); return -EINVAL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I27f00e69ff045cbf641ef21adf44fcd55cb8f889 Gerrit-Change-Number: 17874 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 Thu Apr 30 07:43:08 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 30 Apr 2020 07:43:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Get rid of PCU_Tests.ttcn tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 ) Change subject: pcu: Get rid of PCU_Tests.ttcn tests ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 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: Ie862a1525e9f4f9a3f2427ac3898810e3d044d2f Gerrit-Change-Number: 16321 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 30 Apr 2020 07:43: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 Apr 30 08:00:56 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 08:00:56 +0000 Subject: Change in mncc-python[master]: rtpsource: CTRL call rtp_create: add codec arg In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/mncc-python/+/17979 ) Change subject: rtpsource: CTRL call rtp_create: add codec arg ...................................................................... rtpsource: CTRL call rtp_create: add codec arg Instead of hardcoding FR in rtpsource, add an argument to set the codec from mncc_mt_loadgen.py via CTRL call rtp_create. Hardcode FR in mncc_mt_loadgen.py for now, a follow up patch will make it configurable there, too. Related: SYS#4924 Change-Id: If75e902b451d7e202a03e93afcd55bd24f517813 --- M mncc_mt_loadgen.py M rtpsource/ctrl_if.c M rtpsource/internal.h M rtpsource/rtp_provider.c M rtpsource/rtp_provider.h M rtpsource/rtpsource.c 6 files changed, 60 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/79/17979/2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17979 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: If75e902b451d7e202a03e93afcd55bd24f517813 Gerrit-Change-Number: 17979 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 30 08:00:56 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 08:00:56 +0000 Subject: Change in mncc-python[master]: mncc_mt_loadgen.py: add codec arg In-Reply-To: References: Message-ID: Hello laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/mncc-python/+/17980 to look at the new patch set (#2). Change subject: mncc_mt_loadgen.py: add codec arg ...................................................................... mncc_mt_loadgen.py: add codec arg Add codec parameter to start_call() and convenience functions mt_call() and calls() with FR as default. While at it, update the help text. Related: SYS#4924 Change-Id: I5879b8b9ccc63908b9f6629487e66eff1e4a1ab4 --- M mncc_mt_loadgen.py 1 file changed, 10 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/80/17980/2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17980 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I5879b8b9ccc63908b9f6629487e66eff1e4a1ab4 Gerrit-Change-Number: 17980 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 30 08:01:28 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 08:01:28 +0000 Subject: Change in mncc-python[master]: rtpsource: CTRL call rtp_create: add codec arg In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17979 ) Change subject: rtpsource: CTRL call rtp_create: add codec arg ...................................................................... Patch Set 2: > Patch Set 1: > > why use some magic integer number that requires python and C code to agre on numbering and whihc will be difficult to understand/debug? CTRL uses strings, so you could juts as well send strings like fr/efr/... Ack, that's better. Updated. -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17979 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: If75e902b451d7e202a03e93afcd55bd24f517813 Gerrit-Change-Number: 17979 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 30 Apr 2020 08:01: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 Thu Apr 30 08:01:37 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 08:01:37 +0000 Subject: Change in mncc-python[master]: rtpsource: Modularize generation of RTP frames In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17978 ) Change subject: rtpsource: Modularize generation of RTP frames ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17978 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Iad98e1753fef1927c0e8a7493372141372a38224 Gerrit-Change-Number: 17978 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 30 Apr 2020 08:01: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 Apr 30 08:01:41 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 08:01:41 +0000 Subject: Change in mncc-python[master]: rtpsource: CTRL call rtp_create: add codec arg In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17979 ) Change subject: rtpsource: CTRL call rtp_create: add codec arg ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17979 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: If75e902b451d7e202a03e93afcd55bd24f517813 Gerrit-Change-Number: 17979 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 30 Apr 2020 08:01: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 Apr 30 08:01:45 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 08:01:45 +0000 Subject: Change in mncc-python[master]: mncc_mt_loadgen.py: add codec arg In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17980 ) Change subject: mncc_mt_loadgen.py: add codec arg ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17980 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I5879b8b9ccc63908b9f6629487e66eff1e4a1ab4 Gerrit-Change-Number: 17980 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 30 Apr 2020 08:01: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 Thu Apr 30 08:03:05 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 08:03:05 +0000 Subject: Change in mncc-python[master]: rtpsource: CTRL call rtp_create: add codec arg In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17979 ) Change subject: rtpsource: CTRL call rtp_create: add codec arg ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/mncc-python/+/17979/2/rtpsource/rtpsource.c File rtpsource/rtpsource.c: https://gerrit.osmocom.org/c/mncc-python/+/17979/2/rtpsource/rtpsource.c at 104 PS2, Line 104: conn->local_host, conn->local_port, codec); I should also display the name here, patching... -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17979 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: If75e902b451d7e202a03e93afcd55bd24f517813 Gerrit-Change-Number: 17979 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 30 Apr 2020 08:03: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 Thu Apr 30 08:07:04 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 08:07:04 +0000 Subject: Change in mncc-python[master]: rtpsource: CTRL call rtp_create: add codec arg In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#3). ( https://gerrit.osmocom.org/c/mncc-python/+/17979 ) Change subject: rtpsource: CTRL call rtp_create: add codec arg ...................................................................... rtpsource: CTRL call rtp_create: add codec arg Instead of hardcoding FR in rtpsource, add an argument to set the codec from mncc_mt_loadgen.py via CTRL call rtp_create. Hardcode FR in mncc_mt_loadgen.py for now, a follow up patch will make it configurable there, too. Related: SYS#4924 Change-Id: If75e902b451d7e202a03e93afcd55bd24f517813 --- M mncc_mt_loadgen.py M rtpsource/ctrl_if.c M rtpsource/internal.h M rtpsource/rtp_provider.c M rtpsource/rtp_provider.h M rtpsource/rtpsource.c 6 files changed, 60 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/79/17979/3 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17979 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: If75e902b451d7e202a03e93afcd55bd24f517813 Gerrit-Change-Number: 17979 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 30 08:07:26 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 08:07:26 +0000 Subject: Change in mncc-python[master]: mncc_mt_loadgen.py: add codec arg In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17980 ) Change subject: mncc_mt_loadgen.py: add codec arg ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17980 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I5879b8b9ccc63908b9f6629487e66eff1e4a1ab4 Gerrit-Change-Number: 17980 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 30 Apr 2020 08:07: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 Apr 30 08:07:21 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 08:07:21 +0000 Subject: Change in mncc-python[master]: rtpsource: CTRL call rtp_create: add codec arg In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17979 ) Change subject: rtpsource: CTRL call rtp_create: add codec arg ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17979 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: If75e902b451d7e202a03e93afcd55bd24f517813 Gerrit-Change-Number: 17979 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 30 Apr 2020 08:07: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 Apr 30 08:55:15 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 08:55:15 +0000 Subject: Change in osmocom-bb[master]: mobile: add audio config, with unused audio loopback setting In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17593 ) Change subject: mobile: add audio config, with unused audio loopback setting ...................................................................... Patch Set 2: (2 comments) Somehow I've missed that we have this patch on gerrit already :\ https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/doc/examples/mobile/multi_ms.cfg File doc/examples/mobile/multi_ms.cfg: https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/doc/examples/mobile/multi_ms.cfg at 63 PS2, Line 63: io-target none > io-target sounds confusing. [?] Fine with me, but since this isn't my patch: Vadim, Neels: what do you think about "route" instead of "io-target"? I could do the rename. https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/src/host/layer23/src/mobile/vty_interface.c File src/host/layer23/src/mobile/vty_interface.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/src/host/layer23/src/mobile/vty_interface.c at 1538 PS2, Line 1538: vty_out(vty, " no io-target%s", VTY_NEWLINE); > why there's a "no"? simply have io-target none. Agreed > And if it's the default, then don't print it. It should probably be printed if !hide_default is set, to match the code above. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie03e4a6c6f81ea3925266dd22e87506d722a6e1a Gerrit-Change-Number: 17593 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 30 Apr 2020 08:55:15 +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 Apr 30 08:56:12 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 08:56:12 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback voice frames In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17381 ) Change subject: mobile: loopback voice frames ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Icd0b8d00c855db1a6ff5e35e10c8ff67b7ad5c83 Gerrit-Change-Number: 17381 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 30 Apr 2020 08:56: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 Apr 30 11:06:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 11:06:40 +0000 Subject: Change in osmo-pcu[master]: pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data ... In-Reply-To: References: Message-ID: pespin has removed fixeria from this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17983 ) Change subject: pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data block ...................................................................... Removed reviewer fixeria with the following votes: * Code-Review+1 by fixeria -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17983 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I853679ce8907d46fcb84ae4127335c10623f09c9 Gerrit-Change-Number: 17983 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: deleteReviewer -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 30 11:07:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 11:07:44 +0000 Subject: Change in osmo-pcu[master]: pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data ... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17983 ) Change subject: pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data block ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17983/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/17983/1//COMMIT_MSG at 10 PS1, Line 10: otherwise the generic : UNKNOWN gsmtap message will be sent. > See my comment to your previous change. Return code should not redefine the GSMTAP channel type. Well a lot of stuff shouldn't be done how it is in osmo-pcu right now, but it does it this way. Complete refactoring of all code paths to change that logic is out of the scope for this patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17983 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I853679ce8907d46fcb84ae4127335c10623f09c9 Gerrit-Change-Number: 17983 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 30 Apr 2020 11:07:44 +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 Thu Apr 30 11:12:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 11:12:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Get rid of PCU_Tests.ttcn tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 ) Change subject: pcu: Get rid of PCU_Tests.ttcn tests ...................................................................... Patch Set 4: Code-Review+2 +1+1=+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 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: Ie862a1525e9f4f9a3f2427ac3898810e3d044d2f Gerrit-Change-Number: 16321 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 30 Apr 2020 11:12: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 Apr 30 11:12:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 11:12:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Rename PCU*RAW* content to PCU In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17975 ) Change subject: pcu: Rename PCU*RAW* content to PCU ...................................................................... Patch Set 3: Code-Review+2 +1+1=+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17975 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: Iacaddb56e41012ba58ef6d1b9e79d2c012259bed Gerrit-Change-Number: 17975 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 30 Apr 2020 11:12: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 Apr 30 11:12:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 11:12:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Rename PCU*RAW* content to PCU In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17975 ) Change subject: pcu: Rename PCU*RAW* content to PCU ...................................................................... pcu: Rename PCU*RAW* content to PCU Basically what's done here: * mv PCU_Tests_RAW${suffix}.ttcn -> PCU_Tests${suffix}.ttcn * mv PCUIF_RAW_Components.ttcn -> PCUIF_Components.ttcn * Change module names according to file names and fix all references in code and configuration. Change-Id: Iacaddb56e41012ba58ef6d1b9e79d2c012259bed --- R pcu/PCUIF_Components.ttcn M pcu/PCU_Tests.cfg M pcu/PCU_Tests.ttcn R pcu/PCU_Tests_NS.ttcn D pcu/PCU_Tests_RAW.ttcn M pcu/PCU_Tests_SNS.cfg R pcu/PCU_Tests_SNS.ttcn M pcu/README.md 8 files changed, 1,913 insertions(+), 1,915 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/pcu/PCUIF_RAW_Components.ttcn b/pcu/PCUIF_Components.ttcn similarity index 99% rename from pcu/PCUIF_RAW_Components.ttcn rename to pcu/PCUIF_Components.ttcn index 4ed57e5..c0266fb 100644 --- a/pcu/PCUIF_RAW_Components.ttcn +++ b/pcu/PCUIF_Components.ttcn @@ -1,4 +1,4 @@ -module PCUIF_RAW_Components { +module PCUIF_Components { /* * Components for (RAW) PCU test cases. diff --git a/pcu/PCU_Tests.cfg b/pcu/PCU_Tests.cfg index 692ebbd..db6f56e 100644 --- a/pcu/PCU_Tests.cfg +++ b/pcu/PCU_Tests.cfg @@ -21,5 +21,5 @@ [MAIN_CONTROLLER] [EXECUTE] -PCU_Tests_RAW.control -PCU_Tests_RAW_NS.control +PCU_Tests.control +PCU_Tests_NS.control diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 43a6178..24c198e 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1,2 +1,1906 @@ module PCU_Tests { + +/* "RAW" PCU tests: Talk directly to the PCU socket of OsmoPCU on the one hand side (emulating + the BTS/BSC side PCU socket server) and the Gb interface on the other hand side. No NS/BSSGP + Emulation is used; rather, we simply use the NS_CodecPort to implement both standard and non- + standard procedures on the NS and BSSGP level. The goal of these tests is to test exactly + those NS and BSSGP implementations on the BSS (PCU) side. */ + +/* (C) 2018-2019 Harald Welte + * (C) 2019 Vadim Yanitskiy + * 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 + */ + +friend module PCU_Tests_NS; + +import from General_Types all; +import from Osmocom_Types all; +import from GSM_Types all; +import from GSM_RR_Types all; + +import from Osmocom_VTY_Functions all; +import from TELNETasp_PortType all; + +import from MobileL3_GMM_SM_Types all; +import from RLCMAC_CSN1_Types all; +import from RLCMAC_Types all; + +import from MobileL3_CommonIE_Types all; +import from L3_Templates all; + +import from NS_Types all; +import from BSSGP_Types all; +import from Osmocom_Gb_Types all; + +import from BSSGP_Emulation all; /* BssgpConfig */ +import from NS_Emulation all; /* NSConfiguration */ + +import from UD_Types all; +import from PCUIF_Types all; +import from PCUIF_CodecPort all; +import from PCUIF_Components all; +import from IPL4asp_Types all; +import from Native_Functions all; +import from SGSN_Components all; + +modulepar { + charstring mp_pcu_sock_path := PCU_SOCK_DEFAULT; + + float X2002 := 0.2; /* Timer -2002, IMM ASSIGN confirm delay */ +} + + +/* FIXME: make sure to use parameters from mp_gb_cfg.cell_id in the PCU INFO IND */ +private template (value) PCUIF_info_ind ts_PCUIF_INFO_default := { + version := PCU_IF_VERSION, + flags := c_PCUIF_Flags_default, + trx := valueof(ts_PCUIF_InfoTrxs_def), + bsic := 7, + mcc := 262, + mnc := 42, + mnc_3_digits := 0, + lac := 13135, + rac := 0, + nsei := mp_nsconfig.nsei, + nse_timer := { 3, 3, 3, 3, 30, 3, 10 }, + cell_timer := { 3, 3, 3, 3, 3, 10, 3, 10, 3, 10, 3 }, + cell_id := 20960, + repeat_time := 5 * 50, + repeat_count := 3, + bvci := mp_gb_cfg.bvci, + t3142 := 20, + t3169 := 5, + t3191 := 5, + t3193_10ms := 160, + t3195 := 5, + t3101 := 10, + t3103 := 4, + t3105 := 8, + cv_countdown := 15, + dl_tbf_ext := 250 * 10, /* ms */ + ul_tbf_ext := 250 * 10, /* ms */ + initial_cs := 2, + initial_mcs := 6, + nsvci := { mp_nsconfig.nsvci, 0 }, + local_pprt := { mp_nsconfig.remote_udp_port, 0 }, + remote_port := { mp_nsconfig.local_udp_port, 0 }, + remote_ip := { f_inet_haddr(mp_nsconfig.local_ip) , '00000000'O } +} + +type record lqual_range { + /* component reference to the IPA_Client component used for RSL */ + uint8_t low, + uint8_t high +} + +type component RAW_PCU_Test_CT extends bssgp_CT { + /* Connection to the BTS component (one for now) */ + port RAW_PCU_MSG_PT BTS; + /* Connection to the PCUIF component */ + port RAW_PCU_MSG_PT PCUIF; + /* VTY connection to the PCU */ + port TELNETasp_PT PCUVTY; + + /* Uplink CS/MCS thresholds, default from pcu_main.c: */ + var lqual_range g_cs_lqual_ranges[4] := {{low := 0, high := 6}, + {low := 5, high := 8}, + {low := 7, high := 13}, + {low := 12,high := 35}}; + var lqual_range g_mcs_lqual_ranges[9] := {{low := 0, high := 6}, + {low := 5, high := 8}, + {low := 7, high := 13}, + {low := 12,high := 15}, + {low := 14, high := 17}, + {low := 16, high := 18}, + {low := 17,high := 20}, + {low := 19, high := 24}, + {low := 23,high := 35}}; + var uint8_t g_cs_initial_dl := 1; + var uint8_t g_cs_initial_ul := 1; + var uint8_t g_mcs_initial_dl := 1; + var uint8_t g_mcs_initial_ul := 1; + var uint8_t g_cs_max_dl := 4; + var uint8_t g_cs_max_ul := 4; + var uint8_t g_mcs_max_dl := 9; + var uint8_t g_mcs_max_ul := 9; + + var boolean g_egprs_only := false; + + /* Guard timeout */ + timer g_T_guard := 60.0; +}; + +private altstep as_Tguard_RAW() runs on RAW_PCU_Test_CT { + [] g_T_guard.timeout { + setverdict(fail, "Timeout of T_guard"); + mtc.stop; + } +} + +private function f_pcuvty_set_allowed_cs_mcs() runs on RAW_PCU_Test_CT { + f_vty_config2(PCUVTY, {"pcu"}, "cs " & int2str(g_cs_initial_dl) & " " & int2str(g_cs_initial_ul)); + f_vty_config2(PCUVTY, {"pcu"}, "cs max " & int2str(g_cs_max_dl) & " " & int2str(g_cs_max_ul)); + + f_vty_config2(PCUVTY, {"pcu"}, "mcs " & int2str(g_mcs_initial_dl) & " " & int2str(g_mcs_initial_ul)); + f_vty_config2(PCUVTY, {"pcu"}, "mcs max " & int2str(g_mcs_max_dl) & " " & int2str(g_mcs_max_ul)); +} + +private function f_pcuvty_set_link_quality_ranges() runs on RAW_PCU_Test_CT { + var charstring cmd; + + cmd := "cs link-quality-ranges" & + " cs1 " & int2str(g_cs_lqual_ranges[0].high) & + " cs2 " & int2str(g_cs_lqual_ranges[1].low) & " " & int2str(g_cs_lqual_ranges[1].high) & + " cs3 " & int2str(g_cs_lqual_ranges[2].low) & " " & int2str(g_cs_lqual_ranges[2].high) & + " cs4 " & int2str(g_cs_lqual_ranges[3].low); + f_vty_config2(PCUVTY, {"pcu"}, cmd); + + cmd := "mcs link-quality-ranges" & + " mcs1 " & int2str(g_mcs_lqual_ranges[0].high) & + " mcs2 " & int2str(g_mcs_lqual_ranges[1].low) & " " & int2str(g_mcs_lqual_ranges[1].high) & + " mcs3 " & int2str(g_mcs_lqual_ranges[2].low) & " " & int2str(g_mcs_lqual_ranges[2].high) & + " mcs4 " & int2str(g_mcs_lqual_ranges[3].low) & " " & int2str(g_mcs_lqual_ranges[3].high) & + " mcs5 " & int2str(g_mcs_lqual_ranges[4].low) & " " & int2str(g_mcs_lqual_ranges[4].high) & + " mcs6 " & int2str(g_mcs_lqual_ranges[5].low) & " " & int2str(g_mcs_lqual_ranges[5].high) & + " mcs7 " & int2str(g_mcs_lqual_ranges[6].low) & " " & int2str(g_mcs_lqual_ranges[6].high) & + " mcs8 " & int2str(g_mcs_lqual_ranges[7].low) & " " & int2str(g_mcs_lqual_ranges[7].high) & + " mcs9 " & int2str(g_mcs_lqual_ranges[8].low); + f_vty_config2(PCUVTY, {"pcu"}, cmd); +} + +private function f_init_vty(charstring id) runs on RAW_PCU_Test_CT { + map(self:PCUVTY, system:PCUVTY); + f_vty_set_prompts(PCUVTY); + f_vty_transceive(PCUVTY, "enable"); + + if (g_egprs_only) { + f_vty_config2(PCUVTY, {"pcu"}, "egprs only"); + } else { + f_vty_config2(PCUVTY, {"pcu"}, "no egprs"); + } +} + +private function f_init_raw(charstring id, template (value) PCUIF_info_ind info_ind := ts_PCUIF_INFO_default) +runs on RAW_PCU_Test_CT { + var RAW_PCUIF_CT vc_PCUIF; + var RAW_PCU_BTS_CT vc_BTS; + + /* Start the guard timer */ + g_T_guard.start; + activate(as_Tguard_RAW()); + + /* Init PCU interface component */ + vc_PCUIF := RAW_PCUIF_CT.create("PCUIF-" & id); + connect(vc_PCUIF:MTC, self:PCUIF); + map(vc_PCUIF:PCU, system:PCU); + + /* Create one BTS component (we may want more some day) */ + vc_BTS := RAW_PCU_BTS_CT.create("BTS-" & id); + connect(vc_BTS:PCUIF, vc_PCUIF:BTS); + connect(vc_BTS:TC, self:BTS); + + f_init_vty(id); + + vc_PCUIF.start(f_PCUIF_CT_handler(mp_pcu_sock_path)); + vc_BTS.start(f_BTS_CT_handler(0, valueof(info_ind))); + + /* Wait until the BTS is ready (SI13 negotiated) */ + BTS.receive(tr_RAW_PCU_EV(BTS_EV_SI13_NEGO)); +} + +template AckNackDescription t_AckNackDescription_init := { + final_ack := '0'B, + starting_seq_nr := 0, + receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B +} + +private function f_rlcmac_dl_block_get_tfi(RlcmacDlBlock dl_block) return uint5_t { + if (ischosen(dl_block.data)) { + return dl_block.data.mac_hdr.hdr_ext.tfi; + } else { + return dl_block.data_egprs.mac_hdr.tfi; + } +} + +/* TS 44.060 sec 12.3 Ack/Nack Description */ +private function f_acknackdesc_ack_block(inout AckNackDescription desc, RlcmacDlBlock dl_block, BIT1 final_ack := '0'B) +{ + var uint7_t bsn; + var integer i; + var integer inc; + + if (ischosen(dl_block.data)) { + bsn := dl_block.data.mac_hdr.hdr_ext.bsn; + } else { + bsn := dl_block.data_egprs.mac_hdr.bsn1; + } + + inc := bsn - desc.starting_seq_nr + 1; + /* Filling hole? */ + if (bsn < desc.starting_seq_nr) { + desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - (desc.starting_seq_nr - bsn)] := int2bit(1, 1); + return; + } + + /* SSN is increased, and so RBB values need to be moved */ + for (i := 0; i < lengthof(desc.receive_block_bitmap) - inc; i := i+1) { + desc.receive_block_bitmap[i] := desc.receive_block_bitmap[i + inc]; + } + for (i := lengthof(desc.receive_block_bitmap) - inc; i < lengthof(desc.receive_block_bitmap) - 1; i := i+1) { + desc.receive_block_bitmap[i] := int2bit(0, 1); + } + /* Now we can set current bit and update SSN */ + desc.starting_seq_nr := bsn + 1; + desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - 1] := int2bit(1, 1); + + /* Finally update the final_ack bit as requested: */ + desc.final_ack := final_ack; +} + +/* This function can be used to send DATA.cnf in response to the IUT originated DATA.req. + * NOTE: it's the responsibility of caller to make sure that pcu_msg contains u.data_req. */ +private function f_pcuif_tx_data_cnf(in PCUIF_Message pcu_msg) +runs on RAW_PCU_Test_CT { + var PCUIF_Message pcu_msg_cnf := { + msg_type := PCU_IF_MSG_DATA_CNF, + bts_nr := pcu_msg.bts_nr, + spare := pcu_msg.spare, + u := { data_cnf := pcu_msg.u.data_req } + }; + + /* PCU wants DATA.cnf containing basically everything that was in DATA.req, + * but PCU_IF_SAPI_PCH is a special case - paging group shall be excluded. */ + if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { + pcu_msg_cnf.u.data_cnf.data := substr(pcu_msg.u.data_req.data, 3, + pcu_msg.u.data_req.len - 3); + } + + BTS.send(pcu_msg_cnf); +} + +private function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, + template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, + template GsmRrMessage t_imm_ass := ?, + uint8_t bts_nr := 0) +runs on RAW_PCU_Test_CT return boolean { + var PCUIF_Message pcu_msg; + var octetstring data; + timer T; + + T.start(2.0); + alt { + [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, + sapi := sapi, data := ?)) -> value pcu_msg { + /* On PCH the payload is prefixed with paging group (3 octets): skip it. + * TODO: add an additional template parameter, so we can match it. */ + if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { + data := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); + } else { + data := pcu_msg.u.data_req.data; + } + + rr_imm_ass := dec_GsmRrMessage(data); + if (not match(rr_imm_ass, t_imm_ass)) { + /* Not for us? Wait for more. */ + repeat; + } + + log("Rx Immediate Assignment: ", rr_imm_ass); + setverdict(pass); + return true; + } + [] BTS.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for Immediate Assignment"); + } + } + + return false; +} + +/* FIXME: properly encode RA (see TS 24.060, table 11.2.5.2) */ +private function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, + uint16_t ra := oct2int('3A'O), uint8_t is_11bit := 0, + PCUIF_BurstType burst_type := BURST_TYPE_0, + TimingAdvance ta := 0) +runs on RAW_PCU_Test_CT return boolean { + var uint32_t fn; + + /* FIXME: ask the BTS component to give us the current TDMA fn */ + fn := 1337 + ta; + + /* Send RACH.ind */ + log("Sending RACH.ind on fn=", fn, " with RA=", ra, ", TA=", ta); + BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, + ra := ra, is_11bit := is_11bit, + burst_type := burst_type, + fn := fn, arfcn := 871, + qta := ta * 4)); + + /* 3GPP TS 44.018, table 9.1.8.1, note 2b: Request Reference shall be set to 127 + * when Immediate Assignment is triggered by EGPRS Packet Channel Request. Here + * we assume that 11 bit RA always contains EGPRS Packet Channel Request. */ + if (is_11bit != 0) { ra := 127; } + + /* Expect Immediate (TBF) Assignment on TS0/AGCH */ + return f_pcuif_rx_imm_ass(rr_imm_ass, PCU_IF_SAPI_AGCH, + tr_IMM_TBF_ASS(?, ra, fn), + bts_nr := bts_nr); +} + +private function f_imm_ass_verify_ul_tbf_ass(GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) +runs on RAW_PCU_Test_CT return boolean { + + /* Make sure we received an UL TBF Assignment */ + if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { + ul_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; + log("Rx Uplink TBF assignment: ", ul_tbf_ass); + setverdict(pass); + } else { + setverdict(fail, "Failed to match UL TBF Assignment"); + return false; + } + + /* Make sure we have got a TBF with Dynamic Block Allocation */ + if (ul_tbf_ass.dynamic == omit) { + setverdict(fail, "Single Block Allocation is not handled by ", testcasename()); + return false; + } + + return true; +} + +private function f_imm_ass_verify_dl_tbf_ass(GsmRrMessage rr_imm_ass, out PacketDlAssign dl_tbf_ass) +runs on RAW_PCU_Test_CT return boolean { + + /* Make sure we received a DL TBF Assignment */ + if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := true, rest := tr_IaRestOctets_DLAss(?)))) { + dl_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.dl; + log("Rx Downlink TBF assignment: ", dl_tbf_ass); + setverdict(pass); + } else { + setverdict(fail, "Failed to match DL TBF Assignment"); + return false; + } + + return true; +} + +/* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ +private function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0) +runs on RAW_PCU_Test_CT { + var template RAW_PCU_EventParam ev_param := {tdma_fn := ? }; + BTS.send(ts_PCUIF_DATA_IND(bts_nr := 0, trx_nr := 0, ts_nr := 7, block_nr := 0, + sapi := PCU_IF_SAPI_PDTCH, data := data, + fn := fn, arfcn := 871, lqual_cb := lqual_cb)); + if (fn != 0) { + ev_param := {tdma_fn := fn }; + } + BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_SENT, ev_param)); +} + +/* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ +private function f_pcuif_rx_data_req(out PCUIF_Message pcu_msg) +runs on RAW_PCU_Test_CT { + BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := 871, block_nr := 0)); + BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PDTCH)) -> value pcu_msg; +} + +/* Expect an Immediate Assignment (paging) from PCU on PCUIF on specified sapi. */ +private function f_pcuif_rx_pch_imm_tbf_ass(out GsmRrMessage rr_imm_ass) +runs on RAW_PCU_Test_CT { + var PCUIF_Message pcu_msg; + var octetstring macblock; + BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, + sapi := PCU_IF_SAPI_PCH)) -> value pcu_msg; + /* First 3 bytes contain paging group: */ + macblock := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); + rr_imm_ass := dec_GsmRrMessage(macblock); + if (not match(rr_imm_ass, tr_IMM_TBF_ASS())) { + setverdict(fail, "Failed to match Immediate Assignment: ", rr_imm_ass); + mtc.stop; + } + f_pcuif_tx_data_cnf(pcu_msg); +} + +/* Expect a Paging Request Type 1 from PCU on PCUIF on specified sapi. */ +private function f_pcuif_rx_pch_pag_req1(template MobileIdentityV mi1 := ?, + template integer pag_group := ?) +runs on RAW_PCU_Test_CT return GsmRrMessage { + var GsmRrMessage rr_pag_req1; + var PCUIF_Message pcu_msg; + var octetstring imsi_suff_octstr; + var integer pag_group_rx; + var octetstring macblock; + + BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, + sapi := PCU_IF_SAPI_PCH)) -> value pcu_msg; + + /* First 3 bytes contain IMSI suffix to calculate paging group: */ + imsi_suff_octstr := substr(pcu_msg.u.data_req.data, 0, 3); + pag_group_rx := str2int(oct2char(imsi_suff_octstr[0])) * 100 + + str2int(oct2char(imsi_suff_octstr[1])) * 10 + + str2int(oct2char(imsi_suff_octstr[2])); + + /* Make sure we've got RR Paging Request Type 1 for a given MI */ + macblock := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); + rr_pag_req1 := dec_GsmRrMessage(macblock); + if (not match(rr_pag_req1, tr_PAG_REQ1(tr_MI_LV(mi1)))) { + setverdict(fail, "Failed to match Paging Request Type 1: ", rr_pag_req1); + mtc.stop; + } + + /* Make sure that received paging froup matches the expected one */ + if (not match(pag_group_rx, pag_group)) { + setverdict(fail, "Paging group", pag_group_rx, " does not match expected ", pag_group); + mtc.stop; + } + + f_pcuif_tx_data_cnf(pcu_msg); + return rr_pag_req1; +} + +private function f_tx_rlcmac_ul_block(template (value) RlcmacUlBlock ul_data, int16_t lqual_cb := 0, uint32_t fn := 0) +runs on RAW_PCU_Test_CT { + var octetstring data; + /* Encode the payload of DATA.ind */ + data := enc_RlcmacUlBlock(valueof(ul_data)); + data := f_pad_oct(data, 23, '00'O); /* CS-1 */ + + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ + f_pcuif_tx_data_ind(data, lqual_cb, fn); +} + +private function f_tx_rlcmac_ul_n_blocks(PacketUlAssign ul_tbf_ass, integer num_blocks := 1) +runs on RAW_PCU_Test_CT { + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( + tfi := ul_tbf_ass.dynamic.tfi_assignment, + cv := num_blocks - 1, /* num UL blocks to be sent (to be overridden in loop) */ + bsn := 0, /* TODO: what should be here? */ + blocks := { /* To be generated in loop */ }); + + /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ + ul_data.data.tlli := '00000001'O; + + for (var integer i := 0; i < num_blocks; i := i + 1) { + /* Prepare a new UL block (CV, random payload) */ + ul_data.data.mac_hdr.countdown := (num_blocks - i - 1); + ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; + f_tx_rlcmac_ul_block(ul_data); + } +} + +private function f_rx_rlcmac_dl_block(out RlcmacDlBlock dl_block, out uint32_t dl_fn, template (present) CodingScheme exp_cs_mcs := ?) +runs on RAW_PCU_Test_CT { + var PCUIF_Message pcu_msg; + f_pcuif_rx_data_req(pcu_msg); + dl_block := dec_RlcmacDlBlock(pcu_msg.u.data_req.data); + dl_fn := pcu_msg.u.data_req.fn; + + var integer len := lengthof(pcu_msg.u.data_req.data); + var CodingScheme cs_mcs := f_rlcmac_block_len2cs_mcs(len) + if (not match(f_rlcmac_block_len2cs_mcs(len), exp_cs_mcs)) { + setverdict(fail, "Failed to match Coding Scheme exp ", exp_cs_mcs, " vs ", cs_mcs, " (", len, ")"); + mtc.stop; + } +} + +private function f_rx_rlcmac_dl_block_exp_ack_nack(out RlcmacDlBlock dl_block, out uint32_t poll_fn) +runs on RAW_PCU_Test_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK(ul_tfi := ?, tlli := ?))) { + setverdict(fail, "Failed to match Packet Uplink ACK / NACK"); + mtc.stop; + } + + poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); +} + +private function f_rx_rlcmac_dl_block_exp_dummy(out RlcmacDlBlock dl_block) +runs on RAW_PCU_Test_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { + setverdict(fail, "Failed to match Packet DUMMY DL"); + mtc.stop; + } +} + +private function f_rx_rlcmac_dl_block_exp_pkt_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) +runs on RAW_PCU_Test_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { + setverdict(fail, "Failed to match Packet Downlink Assignment"); + mtc.stop; + } + + poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); +} + +private function f_rx_rlcmac_dl_block_exp_pkt_ul_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) +runs on RAW_PCU_Test_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_UL_PACKET_ASS())) { + setverdict(fail, "Failed to match Packet Uplink Assignment"); + mtc.stop; + } + + poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); +} + + +private function f_rx_rlcmac_dl_block_exp_pkt_pag_req(out RlcmacDlBlock dl_block) +runs on RAW_PCU_Test_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_PACKET_PAG_REQ())) { + setverdict(fail, "Failed to match Packet Paging Request: ", dl_block, " vs ", tr_RLCMAC_PACKET_PAG_REQ()); + mtc.stop; + } +} + +private function f_rlcmac_dl_block_verify_data_gprs(RlcmacDlBlock dl_block, uint32_t dl_fn, out uint32_t ack_fn, octetstring data, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) +{ + log("verifying dl data block (gprs): ", dl_block); + + ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data.mac_hdr.mac_hdr.rrbp); + + if (not match(dl_block.data.mac_hdr.hdr_ext.bsn, exp_bsn)) { + setverdict(fail, "DL block BSN doesn't match: ", + dl_block.data.blocks[0].hdr.length_ind, " vs exp ", exp_bsn); + } + + if (lengthof(dl_block.data.blocks) < 1) { + setverdict(fail, "DL block has no LLC payload: ", dl_block); + mtc.stop; + } + + if (ispresent(dl_block.data.blocks[0].hdr) and dl_block.data.blocks[0].hdr.length_ind != lengthof(data)) { + setverdict(fail, "DL block has LLC header with wrong expected size: ", + dl_block.data.blocks[0].hdr.length_ind, " vs ", lengthof(data)); + mtc.stop; + } + + if (dl_block.data.blocks[0].payload != data) { + setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); + mtc.stop; + } + + /* Check next data blocks contain dummy frames */ + if (lengthof(dl_block.data.blocks) > 1 and substr(dl_block.data.blocks[1].payload, 0, 3) != '43C001'O) { + setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); + mtc.stop; + } + + /* TODO: check exp_cs */ +} + +private function f_rlcmac_dl_block_verify_data_egprs(RlcmacDlBlock dl_block, uint32_t dl_fn, out uint32_t ack_fn, octetstring data, template (present) uint14_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) +{ + log("verifying dl data block (egprs): ", dl_block); + + ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data_egprs.mac_hdr.rrbp); + + if (not match(dl_block.data_egprs.mac_hdr.bsn1, exp_bsn)) { + setverdict(fail, "DL block BSN doesn't match: ", + dl_block.data_egprs.blocks[0].hdr.length_ind, " vs exp ", exp_bsn); + } + + if (lengthof(dl_block.data_egprs.blocks) < 1) { + setverdict(fail, "DL block has no LLC payload: ", dl_block); + mtc.stop; + } + + if (ispresent(dl_block.data_egprs.blocks[0].hdr) and dl_block.data_egprs.blocks[0].hdr.length_ind != lengthof(data)) { + setverdict(fail, "DL block has LLC header with wrong expected size: ", + dl_block.data_egprs.blocks[0].hdr.length_ind, " vs ", lengthof(data)); + mtc.stop; + } + + if (dl_block.data_egprs.blocks[0].payload != data) { + setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); + mtc.stop; + } + + /* Check next data blocks contain dummy frames */ + if (lengthof(dl_block.data_egprs.blocks) > 1 and substr(dl_block.data_egprs.blocks[1].payload, 0, 3) != '43C001'O) { + setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); + mtc.stop; + } + + /* TODO: Check exp_cs. In the case of EGPRS, first check mac_hdr.header_type and then decode CPS = exp_cs based on mac_hdr.header_type. + See wireshark's egprs_Header_type1_coding_puncturing_scheme_to_mcs. */ +} + +private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t ack_fn, octetstring data, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) +runs on RAW_PCU_Test_CT { + var PCUIF_Message pcu_msg; + var uint32_t dl_fn; + var boolean is_egprs := false; + var template RlcmacDlBlock dl_template := tr_RLCMAC_DATA_RRBP; + dl_template.data.blocks := ?; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, dl_template)) { + dl_template := tr_RLCMAC_DATA_EGPRS; + dl_template.data_egprs.blocks := ?; + if (not match(dl_block, dl_template)) { + setverdict(fail, "Failed to match Packet data: ", dl_block, " vs ", dl_template); + mtc.stop; + } + is_egprs := true; + } + + if (is_egprs) { + f_rlcmac_dl_block_verify_data_egprs(dl_block, dl_fn, ack_fn, data, exp_bsn, exp_cs); + } else { + f_rlcmac_dl_block_verify_data_gprs(dl_block, dl_fn, ack_fn, data, exp_bsn, exp_cs); + } +} + +testcase TC_pcuif_suspend() runs on RAW_PCU_Test_CT { + var octetstring ra_id := enc_RoutingAreaIdentification(mp_gb_cfg.cell_id.ra_id); + var GprsTlli tlli := 'FFFFFFFF'O; + timer T; + + /* 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(); + + BTS.send(ts_PCUIF_SUSP_REQ(0, tlli, ra_id, 0)); + + T.start(2.0); + alt { + [] BSSGP_SIG[0].receive(tr_BSSGP_SUSPEND(tlli, mp_gb_cfg.cell_id.ra_id)) { + setverdict(pass); + } + [] T.timeout { + setverdict(fail, "Timeout waiting for BSSGP SUSPEND"); + } + } +} + +/* Test of correct Timing Advance at the time of TBF establishment + * (derived from timing offset of the Access Burst). */ +testcase TC_ta_rach_imm_ass() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_msg; + var boolean ok; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* We cannot send too many TBF requests in a short time because + * at some point the PCU will fail to allocate a new TBF. */ + for (var TimingAdvance ta := 0; ta < 64; ta := ta + 16) { + /* Establish an Uplink TBF (send RACH.ind with current TA) */ + ok := f_establish_tbf(rr_msg, bts_nr := 0, ta := ta); + if (not ok) { + setverdict(fail, "Failed to establish an Uplink TBF"); + mtc.stop; + } + + /* Make sure Timing Advance IE matches out expectations */ + if (match(rr_msg, tr_IMM_TBF_ASS(dl := false, ta := ta))) { + setverdict(pass); + } + } +} + +/* 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 + * no active TBF exists at the moment of establishment (idle mode). */ +testcase TC_ta_idle_dl_tbf_ass() runs on RAW_PCU_Test_CT { + var OCT4 tlli := f_rnd_octstring(4); + var GsmRrMessage rr_imm_ass; + + /* 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('FFFFFFFF'O, tlli); + + /* SGSN sends some DL data, PCU will initiate Packet Downlink + * Assignment on CCCH (PCH). We don't care about the payload. */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, f_rnd_octstring(10))); + f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); // TODO: match by TLLI! + + /* Make sure that Timing Advance is 0 (the actual value is not known yet). + * As per 3GPP S 44.018, section 3.5.3.1.2, the network *shall* initiate + * the procedures defined in 3GPP TS 44.060 or use the polling mechanism. */ + if (not match(rr_imm_ass, tr_IMM_TBF_ASS(ta := 0))) { + setverdict(fail, "Timing Advance value doesn't match"); + mtc.stop; + } +} + +/* Verify that the PCU generates valid PTCCH/D messages + * while neither Uplink nor Downlink TBF is established. */ +testcase TC_ta_ptcch_idle() runs on RAW_PCU_Test_CT { + var PTCCHDownlinkMsg ptcch_msg; + var PCUIF_Message pcu_msg; + timer T; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Sent an RTS.req for PTCCH/D */ + BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PTCCH, fn := 0, + arfcn := 871, block_nr := 0)); + T.start(5.0); + alt { + [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PTCCH)) -> value pcu_msg { + log("Rx DATA.req message: ", pcu_msg); + setverdict(pass); + } + [] BTS.receive(PCUIF_Message:?) { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for a PTCCH/D block"); + mtc.stop; + } + } + + ptcch_msg := dec_PTCCHDownlinkMsg(pcu_msg.u.data_req.data); + log("Decoded PTCCH/D message: ", ptcch_msg); + + /* Make sure the message is encoded correctly + * TODO: do we expect all TA values to be equal '1111111'B? */ + if (not match(ptcch_msg, tr_PTCCHDownlinkMsg)) { + setverdict(fail, "Malformed PTCCH/D message"); + mtc.stop; + } +} + +/* Test of correct Timing Advance during an active Uplink TBF. + * + * Unlike the circuit-switched domain, Uplink transmissions on PDCH time-slots + * are not continuous and there can be long time gaps between them. This happens + * due to a bursty nature of packet data. The actual Timing Advance of a MS may + * significantly change between such rare Uplink transmissions, so GPRS introduces + * additional mechanisms to control Timing Advance, and thus reduce interference + * between neighboring TDMA time-slots. + * + * At the moment of Uplink TBF establishment, initial Timing Advance is measured + * from ToA (Timing of Arrival) of an Access Burst. This is covered by another + * test case - TC_ta_rach_imm_ass. In response to that Access Burst the network + * sends Immediate Assignment on AGCH, which _may_ contain Timing Advance Index + * among with the initial Timing Advance value. And here PTCCH comes to play. + * + * PTCCH is a unidirectional channel on which the network can instruct a sub-set + * of 16 MS (whether TBFs are active or not) to adjust their Timing Advance + * continuously. To ensure continuous measurements of the signal propagation + * delay, the MSs shall transmit Access Bursts on Uplink (PTCCH/U) on sub-slots + * defined by an assigned Timing Advance Index (see 3GPP TS 45.002). + * + * The purpose of this test case is to verify the assignment of Timing Advance + * Index, and the process of Timing Advance notification on PTCCH/D. The MTC + * first establishes several Uplink TBFs, but does not transmit any Uplink + * blocks on them. During 4 TDMA multi-frame periods the MTC is sending RACH + * indications to the PCU, checking the correctness of two received PTCCH/D + * messages (period of PTCCH/D is two multi-frames). + */ + +/* List of ToA values for Access Bursts to be sent on PTCCH/U, + * each ToA (Timing of Arrival) value is in units of 1/4 of + * a symbol (i.e. 1 symbol is 4 QTA units). */ +type record length(16) of int16_t PTCCH_TAI_ToA_MAP; +const PTCCH_TAI_ToA_MAP ptcch_toa_map_def := { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0 +}; + +private altstep as_ta_ptcch(uint8_t bts_nr := 0, uint8_t trx_nr := 0, uint8_t ts_nr := 7, + in PTCCH_TAI_ToA_MAP toa_map := ptcch_toa_map_def) +runs on RAW_PCU_Test_CT { + var RAW_PCU_Event event; + var integer ss; + + /* Send Access Bursts on PTCCH/U for every TA Index */ + [] BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PTCCH_UL_BURST)) -> value event { + ss := f_tdma_ptcch_fn2ss(event.data.tdma_fn); + if (ss < 0) { mtc.stop; } /* Shall not happen */ + + log("Sending an Access Burst on PTCCH/U", + ", sub-slot=", ss, " (TAI)", + ", fn=", event.data.tdma_fn, + ", ToA=", toa_map[ss], " (QTA)"); + /* TODO: do we care about RA and burst format? */ + BTS.send(ts_PCUIF_RACH_IND(bts_nr, trx_nr, ts_nr, + ra := oct2int('3A'O), + is_11bit := 0, + burst_type := BURST_TYPE_0, + fn := event.data.tdma_fn, + arfcn := 871, + qta := toa_map[ss], + sapi := PCU_IF_SAPI_PTCCH)); + repeat; + } +} + +private function f_TC_ta_ptcch_ul_multi_tbf(in PTCCH_TAI_ToA_MAP ptcch_toa_map, + template PTCCHDownlinkMsg t_ta_msg) +runs on RAW_PCU_Test_CT { + var PTCCHDownlinkMsg ta_msg; + var PCUIF_Message pcu_msg; + timer T; + + /* First, send an RTS.req for the upcoming PTCCH/D block */ + BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PTCCH, fn := 0, + arfcn := 871, block_nr := 0)); + T.start(2.0); + alt { + /* Keep sending of Access Bursts during two multi-frames (period of PTCCH/D) + * with increasing ToA (Timing of Arrival) values: 0, 7, 14, 28, 35... */ + [] as_ta_ptcch(bts_nr := 0, trx_nr := 0, ts_nr := 7, toa_map := ptcch_toa_map); + /* In the end of 2nd multi-frame we should receive a PTCCH/D block */ + [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PTCCH)) -> value pcu_msg { + ta_msg := dec_PTCCHDownlinkMsg(pcu_msg.u.data_req.data); + log("Rx PTCCH/D message: ", ta_msg); + + /* Make sure Timing Advance values match our expectations */ + if (match(ta_msg, t_ta_msg)) { + setverdict(pass); + } else { + setverdict(fail, "PTCCH/D message does not match: ", t_ta_msg); + } + } + [] BTS.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for a PTCCH/D block"); + mtc.stop; + } + } +} + +testcase TC_ta_ptcch_ul_multi_tbf() runs on RAW_PCU_Test_CT { + var template PacketUlAssign t_ul_tbf_ass; + var PacketUlAssign ul_tbf_ass[7]; + var GsmRrMessage rr_msg[7]; + var boolean ok; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Enable forwarding of PTCCH/U TDMA events to us */ + BTS.send(ts_RAW_PCU_CMD(TDMA_CMD_ENABLE_PTCCH_UL_FWD)); + + /* Establish 7 Uplink TBFs (USF flag is 3 bits long, '111'B is reserved) */ + for (var integer i := 0; i < 7; i := i + 1) { + ok := f_establish_tbf(rr_msg[i], ta := 0); + if (not ok) { + setverdict(fail, "Failed to establish an Uplink TBF #", i); + mtc.stop; + } + + /* Make sure we received an UL TBF Assignment */ + if (match(rr_msg[i], tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { + ul_tbf_ass[i] := rr_msg[i].payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; + log("Rx Uplink TBF assignment for #", i, ": ", ul_tbf_ass[i]); + } else { + setverdict(fail, "Failed to match UL TBF Assignment for #", i); + mtc.stop; + } + + /* We expect incremental TFI/USF assignment (dynamic allocation) */ + t_ul_tbf_ass := tr_PacketUlDynAssign(tfi := i, usf := i); + if (not match(ul_tbf_ass[i], t_ul_tbf_ass)) { + setverdict(fail, "Failed to match Packet Uplink Assignment for #", i); + mtc.stop; + } + + /* We also expect Timing Advance Index to be a part of the assignment */ + if (ul_tbf_ass[i].dynamic.ta_index != i) { + setverdict(fail, "Failed to match Timing Advance Index for #", i); + /* Keep going, the current OsmoPCU does not assign TA Index */ + } + } + + /* Prepare a list of ToA values for Access Bursts to be sent on PTCCH/U */ + var PTCCH_TAI_ToA_MAP toa_map := ptcch_toa_map_def; + for (var integer i := 0; i < 7; i := i + 1) { + /* ToA in units of 1/4 of a symbol */ + toa_map[i] := (i + 1) * 7 * 4; + } + + /* Now we have all 7 TBFs established in one-phase access mode, + * however we will not be sending any data on them. Instead, we + * will be sending RACH.ind on PTCCH/U during 4 multi-frame + * periods (TAI 0..8), and then will check two PTCCH/D blocks. + * + * Why not 4 TBFs at once? Because Uplink is delayed by 3 TDMA + * time-slots, so at the moment of scheduling a PTCCH/D block + * the PCU has odd number of PTCCH/U Access Bursts received. */ + f_TC_ta_ptcch_ul_multi_tbf(toa_map, tr_PTCCHDownlinkMsg( + tai0_ta := 7, tai1_ta := 14, tai2_ta := 21, + /* Other values are not known (yet) */ + tai3_ta := ?)); + f_TC_ta_ptcch_ul_multi_tbf(toa_map, tr_PTCCHDownlinkMsg( + tai0_ta := 7, tai1_ta := 14, tai2_ta := 21, + tai3_ta := 28, tai4_ta := 35, tai5_ta := 42, + /* Other values are out of our interest */ + tai6_ta := ?)); +} + +/* Default link quality adaptation (Coding Scheme) ranges (inclusive). + * OsmoPCU (VTY): cs link-quality-ranges cs1 6 cs2 5 8 cs3 7 13 cs4 12 + * + * NOTE: the ranges are intentionally overlapping because OsmoPCU + * does not change CS/MCS on the range borders (5-6, 7-8, 12-13). */ +private template integer CS1_lqual_dB_range := (-infinity .. 6); +private template integer CS2_lqual_dB_range := (5 .. 8); +private template integer CS3_lqual_dB_range := (7 .. 13); +private template integer CS4_lqual_dB_range := (12 .. infinity); + +testcase TC_cs_lqual_ul_tbf() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var PCUIF_Message pcu_msg; + var octetstring data; + var boolean ok; + var uint32_t unused_fn; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + f_pcuvty_set_allowed_cs_mcs(); + f_pcuvty_set_link_quality_ranges(); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + mtc.stop; + } + + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( + tfi := ul_tbf_ass.dynamic.tfi_assignment, + cv := 15, /* 16 UL blocks to be sent (to be overridden in loop) */ + bsn := 0, /* TODO: what should be here? */ + blocks := { /* To be generated in loop */ }); + + /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ + ul_data.data.tlli := '00000001'O; + + /* The actual / old link quality values. We need to keep track of the old + * (basically previous) link quality value, because OsmoPCU actually + * changes the coding scheme if not only the actual, but also the old + * value leaves the current link quality range (window). */ + var integer lqual := 0; + var integer lqual_old; + + /* 16 UL blocks (0 .. 15 dB, step = 1 dB) */ + for (var integer i := 0; i < 16; i := i + 1) { + /* Prepare a new UL block (CV, random payload) */ + ul_data.data.mac_hdr.countdown := (15 - i); + ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; + + /* Update the old / actual link quality */ + lqual_old := lqual; + lqual := i; + + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ + log("Sending DATA.ind with link quality (dB): ", lqual); + f_tx_rlcmac_ul_block(ul_data, lqual * 10); + + /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); + + log("Rx Packet Uplink ACK / NACK with Channel Coding Command: ", + dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd); + + /* Match the received Channel Coding Command. Since we are increasing + * the link quality value on each iteration and not decreasing, there + * is no need to check the both old and current link quality values. */ + var template ChCodingCommand ch_coding; + select (lqual_old) { + case (CS1_lqual_dB_range) { ch_coding := CH_CODING_CS1; } + case (CS2_lqual_dB_range) { ch_coding := CH_CODING_CS2; } + case (CS3_lqual_dB_range) { ch_coding := CH_CODING_CS3; } + case (CS4_lqual_dB_range) { ch_coding := CH_CODING_CS4; } + } + + if (not match(dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd, ch_coding)) { + setverdict(fail, "Channel Coding does not match our expectations: ", ch_coding); + } else { + setverdict(pass); + } + } +} + +/* Test the max UL CS set by VTY works fine */ +testcase TC_cs_initial_ul() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var boolean ok; + var integer lqual_cb; + var ChCodingCommand last_ch_coding; + var uint32_t unused_fn; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Set initial UL CS to 3 */ + g_cs_initial_ul := 3; + f_pcuvty_set_allowed_cs_mcs(); + f_pcuvty_set_link_quality_ranges(); + + /* Take lqual (dB->cB) so that we stay in that CS */ + lqual_cb := g_cs_lqual_ranges[2].low * 10; + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + mtc.stop; + } + + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( + tfi := ul_tbf_ass.dynamic.tfi_assignment, + cv := 3, /* 8 UL blocks to be sent (to be overridden in loop) */ + bsn := 0, /* TODO: what should be here? */ + blocks := { /* To be generated in loop */ }); + + /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ + ul_data.data.tlli := '00000001'O; + + /* 3 UL blocks, check we are in same initial CS: */ + for (var integer i := 0; i < 3; i := i + 1) { + /* Prepare a new UL block (CV, random payload) */ + ul_data.data.mac_hdr.countdown := (7 - i); + ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; + + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ + f_tx_rlcmac_ul_block(ul_data, lqual_cb); + + /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); + last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; + } + + if (last_ch_coding != CH_CODING_CS3) { + setverdict(fail, "Channel Coding does not match our expectations (CS-3): ", last_ch_coding); + mtc.stop; + } + + setverdict(pass); + + /* Remaining UL blocks are used to make sure regardless of initial + /* lqual, we can go lower at any time */ + + /* 5 UL blocks, check we are in same initial CS: */ + for (var integer i := 3; i < 8; i := i + 1) { + /* Prepare a new UL block (CV, random payload) */ + ul_data.data.mac_hdr.countdown := (7 - i); + ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; + + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ + f_tx_rlcmac_ul_block(ul_data, 0); /* 0 dB, make sure we downgrade CS */ + + /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); + + last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; + } + + if (last_ch_coding != CH_CODING_CS1) { + setverdict(fail, "Channel Coding does not match our expectations (CS-1): ", last_ch_coding); + } else { + setverdict(pass); + } +} + +/* Test the max UL CS set by VTY works fine */ +testcase TC_cs_max_ul() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var boolean ok; + var ChCodingCommand last_ch_coding; + var uint32_t unused_fn; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Set maximum allowed UL CS to 3 */ + g_cs_max_ul := 3; + f_pcuvty_set_allowed_cs_mcs(); + f_pcuvty_set_link_quality_ranges(); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + mtc.stop; + } + + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( + tfi := ul_tbf_ass.dynamic.tfi_assignment, + cv := 15, /* 16 UL blocks to be sent (to be overridden in loop) */ + bsn := 0, /* TODO: what should be here? */ + blocks := { /* To be generated in loop */ }); + + /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ + ul_data.data.tlli := '00000001'O; + + /* 16 UL blocks */ + for (var integer i := 0; i < 16; i := i + 1) { + /* Prepare a new UL block (CV, random payload) */ + ul_data.data.mac_hdr.countdown := (15 - i); + ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; + + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ + f_tx_rlcmac_ul_block(ul_data, 40*10); /* 40 dB */ + + /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); + + last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; + } + + if (last_ch_coding != CH_CODING_CS3) { + setverdict(fail, "Channel Coding does not match our expectations (CS-3): ", last_ch_coding); + } else { + setverdict(pass); + } +} + +/* Verify PCU drops TBF after some time of inactivity. */ +testcase TC_t3169() runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var PCUIF_Message pcu_msg; + var octetstring data; + var boolean ok; + var uint32_t unused_fn; + var OCT4 tlli := '00000001'O; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + info_ind := valueof(ts_PCUIF_INFO_default); + /* Set timer to 1 sec (default 5) to speedup test: */ + info_ind.t3169 := 1; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename(), info_ind); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + mtc.stop; + } + + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + /* Send one UL block and make sure it is ACKED fine */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); + /* UL block should be received in SGSN */ + BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); + + /* Wait until T3169 fires (plus 1 extra sec to make sure) */ + f_sleep(int2float(info_ind.t3169) + 1.0); + + /* Send an UL block once again, the TBF should be gone by now so no ACK */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + f_rx_rlcmac_dl_block_exp_dummy(dl_block); +} + +/* Verify that a Downlink TBF can be assigned using PACCH shortly after the + * release of prev DL TBF due to MS staying in PDCH for a while (T3192, in PCU + * T3193) after DL TBF release */ +testcase TC_t3193() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketDlAssign dl_tbf_ass; + var RlcmacDlBlock dl_block; + var octetstring data := f_rnd_octstring(10); + var boolean ok; + var uint32_t sched_fn; + var OCT4 tlli := '00000001'O; + var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + + /* 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('FFFFFFFF'O, tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); + f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); + ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not a Downlink TBF"); + mtc.stop; + } + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); + + /* ACK the DL block */ + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + /* we are done with the DL-TBF here so far, let's clean up our local state: */ + ack_nack_desc := valueof(t_AckNackDescription_init) + + /* Now that final DL block is ACKED and TBF is released, T3193 in PCU + (T3192 in MS) was started and until it fires the MS will be abailable + on PDCH in case new data arrives from SGSN. Let's verify it: */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); + f_rx_rlcmac_dl_block_exp_pkt_ass(dl_block, sched_fn); + f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + + /* Now that we confirmed the new assignment in the dl-tbf, lets receive the data and ack it */ + f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); +} + +/* Test scenario where MS wants to send some data on PDCH against SGSN and it is + * answered, so TBFs for uplink and later for downlink are created. + */ +private function f_TC_mo_ping_pong(template (omit) MSRadioAccessCapabilityV ms_racap := omit, template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var PacketDlAssign dl_tbf_ass; + var RlcmacDlBlock dl_block; + var PCUIF_Message pcu_msg; + var octetstring data := f_rnd_octstring(10); + var boolean ok; + var uint32_t sched_fn; + var OCT4 tlli := '00000001'O; + var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + + /* 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('FFFFFFFF'O, tlli); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + mtc.stop; + } + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + if (not istemplatekind(ms_racap, "omit")) { + /* Send PACKET RESOURCE REQUEST to upgrade to EGPRS + * (see 3GPP TS 04.60 "7.1.3.1 Initiation of the Packet resource request procedure") + */ + f_tx_rlcmac_ul_block(ts_RLC_UL_CTRL_ACK(valueof(ts_RlcMacUlCtrl_PKT_RES_REQ(tlli, ms_racap))), 0); + f_rx_rlcmac_dl_block_exp_pkt_ul_ass(dl_block, sched_fn); + if (dl_block.ctrl.payload.u.ul_assignment.identity.tlli.tlli != tlli) { + setverdict(fail, "Wrong TLLI ", dl_block.ctrl.payload.u.ul_assignment.identity.tlli, " received vs exp ", tlli); + mtc.stop; + } + } + + /* Send one UL block and make sure it is ACKED fine */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + + /* UL block should be received in SGSN */ + BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); + + /* Now SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); + f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); + + ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not a Downlink TBF"); + mtc.stop; + } + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0, exp_cs_mcs); + + /* ACK the DL block */ + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); +} + +/* Test scenario where MS wants to send some data on PDCH against SGSN and it is + * answered, so TBFs for uplink and later for downlink are created. + */ +testcase TC_mo_ping_pong() runs on RAW_PCU_Test_CT { + var CodingScheme exp_cs_mcs := CS_1; + f_TC_mo_ping_pong(omit, exp_cs_mcs); +} + + +testcase TC_mo_ping_pong_with_ul_racap() runs on RAW_PCU_Test_CT { + var MultislotCap_GPRS mscap_gprs := { + gprsmultislotclass := '00011'B, + gprsextendeddynalloccap := '0'B + }; + var MSRadioAccessCapabilityV ms_racap := { valueof(ts_RaCapRec('0001'B /* E-GSM */, mscap_gprs, omit)) }; + var CodingScheme exp_cs_mcs := CS_2; + + f_TC_mo_ping_pong(ms_racap, exp_cs_mcs); +} + +/* Test scenario where SGSN wants to send some data against MS and it is + * answered by the MS on PDCH, so TBFs for downlink and later for uplink are created. + */ +private function f_TC_mt_ping_pong(template (omit) MSRadioAccessCapabilityV_BSSGP ms_racap := omit, template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var PacketDlAssign dl_tbf_ass; + var RlcmacDlBlock dl_block; + var PCUIF_Message pcu_msg; + var octetstring data := f_rnd_octstring(10); + var boolean ok; + var uint32_t sched_fn; + var OCT4 tlli := '00000001'O; + var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + + /* 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('FFFFFFFF'O, tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data, ms_racap)); + f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); + + ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not a Downlink TBF"); + mtc.stop; + } + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0, exp_cs_mcs); + + /* ACK the DL block */ + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + + /* Now MS wants to answer the DL data, Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + mtc.stop; + } + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + /* Send one UL block and make sure it is ACKED fine */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + + /* UL block should be received in SGSN */ + BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); +} + +testcase TC_mt_ping_pong() runs on RAW_PCU_Test_CT { + var CodingScheme exp_cs_mcs := CS_1; + f_TC_mt_ping_pong(omit, exp_cs_mcs); +} + +/* TC_mt_ping_pong, but DL-UNITDATA contains RA Access capability with (M)CS +/* information about the MS */ +testcase TC_mt_ping_pong_with_dl_racap() runs on RAW_PCU_Test_CT { + var MultislotCap_GPRS_BSSGP mscap_gprs := { + gprsmultislotclass := '00011'B, + gprsextendeddynalloccap := '0'B + } ; + var MSRadioAccessCapabilityV_BSSGP ms_racap := { valueof(ts_RaCapRec_BSSGP('0001'B /* E-GSM */, mscap_gprs, omit)) }; + var CodingScheme exp_cs_mcs := CS_2; + f_TC_mt_ping_pong(ms_racap, exp_cs_mcs); +} + +/* Verify that if PCU doesn't get an ACK for first DL block after IMM ASS, it + * will retry by retransmitting both the IMM ASS + DL block after poll (ack) + * timeout occurs (specified by sent RRBP on DL block). */ +testcase TC_imm_ass_dl_block_retrans() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketDlAssign dl_tbf_ass; + var RlcmacDlBlock dl_block; + var octetstring data := f_rnd_octstring(10); + var boolean ok; + var uint32_t sched_fn; + var OCT4 tlli := '00000001'O; + var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + + /* 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('FFFFFFFF'O, tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); + f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); + ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not a Downlink TBF"); + mtc.stop; + } + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); + + /* Now we don't ack the dl block (emulate MS failed receiveing IMM ASS + * or GPRS DL, or DL ACK was lost for some reason). As a result, PCU + * should retrigger IMM ASS + GPRS DL procedure after poll timeout. */ + f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); + ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not a Downlink TBF"); + mtc.stop; + } + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); + + /* ACK the DL block */ + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); +} + +private function f_pkt_paging_match_imsi(in PacketPagingReq req, hexstring imsi) { + var MobileIdentityLV_Paging mi_lv := req.repeated_pageinfo.cs.mobile_identity; + var MobileIdentityV mi := dec_MobileIdentityV(mi_lv.mobile_id); + + if (mi_lv.len != 8) { /* 8 octets: type of ID (3 bits) + even/odd flag (1 bit) + 15 BCD-encoded digits (60 bits) */ + setverdict(fail, "Mobile Identity length mismatch: ", + "expected: 8, got: ", mi_lv.len); + mtc.stop; + } + + /* Make sure MI contains IMSI before referencing it */ + if (mi.typeOfIdentity != '001'B) { + setverdict(fail, "Mobile Identity must be of type IMSI ('001'B), ", + "got: ", mi.typeOfIdentity); + mtc.stop; + } else if (mi.oddEvenInd_identity.imsi.digits != imsi) { + setverdict(fail, "Mobile Identity contains unexpected IMSI, ", + "expected: ", imsi, " got: ", mi.oddEvenInd_identity.imsi.digits); + mtc.stop; + } +} + +private function f_pkt_paging_match_tmsi(in PacketPagingReq req, template GsmTmsi tmsi) { + if (not match(req.repeated_pageinfo.cs.tmsi, tmsi)) { + setverdict(fail, "Mobile Identity (TMSI/P-TMSI) mismatch: ", + "expected: ", tmsi, "got: ", req.repeated_pageinfo.cs.tmsi); + mtc.stop; + } +} + +/* Test CS paging over the BTS<->PCU socket. + * When a (class B or C, not A) MS has an active TBF (or is on the PDCH), the MS can not react on CS paging over CCCH. + * Paging should be send on the PACCH. + * + * 1. Send a Paging Request over PCU socket. + * 2. Send a Ready-To-Send message over PCU socket + * 3. Expect a Paging Frame + */ +testcase TC_paging_cs_from_bts() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var boolean ok; + var OCT4 tlli := '00000001'O; + var MobileIdentityLV mi; + var octetstring mi_enc_lv; + var hexstring imsi := f_gen_imsi(42); + + /* 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('FFFFFFFF'O, tlli); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + mtc.stop; + } + + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + + /* build mobile Identity */ + mi := valueof(ts_MI_IMSI_LV(imsi)); + mi_enc_lv := enc_MobileIdentityLV(mi); + /* Send paging request */ + BTS.send(ts_PCUIF_PAG_REQ(bts_nr := 0, id_lv := mi_enc_lv, chan_needed := 0, + sapi :=PCU_IF_SAPI_PDTCH)); + + /* Receive it on BTS side towards MS */ + f_rx_rlcmac_dl_block_exp_pkt_pag_req(dl_block); + + /* Make sure that Packet Paging Request contains the same IMSI */ + f_pkt_paging_match_imsi(dl_block.ctrl.payload.u.paging, imsi); + + setverdict(pass); +} + +/* Test CS paging over Gb (SGSN->PCU->BTS[PDCH]). + */ +private function f_tc_paging_cs_from_sgsn(Nsvci bvci, boolean use_ptmsi := false) +runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var boolean ok; + var OCT4 tlli := '00000001'O; + var hexstring imsi := f_gen_imsi(42); + var GsmTmsi tmsi; + + /* 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('FFFFFFFF'O, tlli); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + mtc.stop; + } + + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + /* Send paging request with or without TMSI */ + if (use_ptmsi) { + tmsi := oct2int(f_rnd_octstring(4)); /* Random P-TMSI */ + BSSGP[0].send(ts_BSSGP_CS_PAGING_PTMSI(bvci, imsi, tmsi)); + } else { + BSSGP[0].send(ts_BSSGP_CS_PAGING_IMSI(bvci, imsi)); + } + + /* Receive it on BTS side towards MS */ + f_rx_rlcmac_dl_block_exp_pkt_pag_req(dl_block); + + /* Make sure that Packet Paging Request contains the same P-TMSI/IMSI */ + if (use_ptmsi) { + f_pkt_paging_match_tmsi(dl_block.ctrl.payload.u.paging, tmsi); + } else { + f_pkt_paging_match_imsi(dl_block.ctrl.payload.u.paging, imsi); + } + + setverdict(pass); +} + +testcase TC_paging_cs_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { + f_tc_paging_cs_from_sgsn(0, true); +} + +testcase TC_paging_cs_from_sgsn_sign() runs on RAW_PCU_Test_CT { + f_tc_paging_cs_from_sgsn(0); +} + +testcase TC_paging_cs_from_sgsn_ptp() runs on RAW_PCU_Test_CT { + f_tc_paging_cs_from_sgsn(mp_gb_cfg.bvci); +} + +/* Test PS paging over Gb (SGSN->PCU->BTS[CCCH]). + */ +private function f_tc_paging_ps_from_sgsn(Nsvci bvci, boolean use_ptmsi := false) +runs on RAW_PCU_Test_CT { + var OCT4 tlli := '00000001'O; + var integer imsi_suff_tx := 423; + var hexstring imsi := f_gen_imsi(imsi_suff_tx); + + /* 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('FFFFFFFF'O, tlli); + + /* Send BSSGP PAGING-PS (with or without TMSI), wait for RR Paging Request Type 1. + * Make sure that both paging group (IMSI suffix) and Mobile Identity match. */ + if (use_ptmsi) { + var OCT4 tmsi := f_rnd_octstring(4); /* Random P-TMSI */ + BSSGP[0].send(ts_BSSGP_PS_PAGING_PTMSI(bvci, imsi, oct2int(tmsi))); + f_pcuif_rx_pch_pag_req1(t_MI_TMSI(tmsi), imsi_suff_tx); + } else { + BSSGP[0].send(ts_BSSGP_PS_PAGING_IMSI(bvci, imsi)); + f_pcuif_rx_pch_pag_req1(tr_MI_IMSI(imsi), imsi_suff_tx); + } + + setverdict(pass); +} + +testcase TC_paging_ps_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { + f_tc_paging_ps_from_sgsn(0, true); +} + +testcase TC_paging_ps_from_sgsn_sign() runs on RAW_PCU_Test_CT { + f_tc_paging_ps_from_sgsn(0); +} + +testcase TC_paging_ps_from_sgsn_ptp() runs on RAW_PCU_Test_CT { + f_tc_paging_ps_from_sgsn(mp_gb_cfg.bvci); +} + +private function f_TC_egprs_pkt_chan_req(in EGPRSPktChRequest req, + template GsmRrMessage t_imm_ass := ?, + PCUIF_BurstType bt := BURST_TYPE_1) +runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_msg; + var uint16_t ra11; + var boolean ok; + + ra11 := enc_EGPRSPktChRequest2uint(req); + log("Sending EGPRS Packet Channel Request (", ra11, "): ", req); + + ok := f_establish_tbf(rr_msg, ra := ra11, is_11bit := 1, burst_type := bt); + if (not ok) { + setverdict(fail, "Failed to establush an Uplink TBF"); + mtc.stop; + } + + if (not match(rr_msg, t_imm_ass)) { + setverdict(fail, "Immediate Assignment does not match"); + mtc.stop; + } + + setverdict(pass); +} + +testcase TC_egprs_pkt_chan_req_signalling() runs on RAW_PCU_Test_CT { + var template GsmRrMessage imm_ass; + var template IaRestOctets rest; + var template EgprsUlAss ul_ass; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + var EGPRSPktChRequest req := { + /* NOTE: other fields are set in the loop */ + signalling := { tag := '110011'B } + }; + + for (var integer i := 0; i < 6; i := i + 1) { + var BIT5 ext_ra := int2bit(f_rnd_int(32), 5); + req.signalling.random_bits := ext_ra; + + /* For signalling, do we expect Multiblock UL TBF Assignment? */ + ul_ass := tr_EgprsUlAssMultiblock(ext_ra := ext_ra); + rest := tr_IaRestOctets_EGPRSULAss(ul_ass); + imm_ass := tr_IMM_TBF_ASS(dl := false, rest := rest); + + f_TC_egprs_pkt_chan_req(req, imm_ass); + } +} + +testcase TC_egprs_pkt_chan_req_one_phase() runs on RAW_PCU_Test_CT { + var template GsmRrMessage imm_ass; + var template IaRestOctets rest; + var template EgprsUlAss ul_ass; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + var EGPRSPktChRequest req := { + /* NOTE: other fields are set in the loop */ + one_phase := { tag := '0'B } + }; + + for (var integer i := 0; i < 6; i := i + 1) { + var BIT5 ext_ra := int2bit(f_rnd_int(32), 5); + var BIT5 mslot_class := int2bit(f_rnd_int(32), 5); + var BIT2 priority := substr(ext_ra, 0, 2); + var BIT3 rand := substr(ext_ra, 2, 3); + + req.one_phase.multislot_class := mslot_class; + req.one_phase.priority := priority; + req.one_phase.random_bits := rand; + + /* For one phase access, do we expect Dynamic UL TBF Assignment? */ + ul_ass := tr_EgprsUlAssDynamic(ext_ra := ext_ra); + rest := tr_IaRestOctets_EGPRSULAss(ul_ass); + imm_ass := tr_IMM_TBF_ASS(dl := false, rest := rest); + + f_TC_egprs_pkt_chan_req(req, imm_ass); + } +} + +testcase TC_egprs_pkt_chan_req_two_phase() runs on RAW_PCU_Test_CT { + var template GsmRrMessage imm_ass; + var template IaRestOctets rest; + var template EgprsUlAss ul_ass; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + var EGPRSPktChRequest req := { + /* NOTE: other fields are set in the loop */ + two_phase := { tag := '110000'B } + }; + + for (var integer i := 0; i < 6; i := i + 1) { + var BIT5 ext_ra := int2bit(f_rnd_int(32), 5); + var BIT2 priority := substr(ext_ra, 0, 2); + var BIT3 rand := substr(ext_ra, 2, 3); + + req.two_phase.priority := priority; + req.two_phase.random_bits := rand; + + /* For two phase access, do we expect Multiblock UL TBF Assignment? */ + ul_ass := tr_EgprsUlAssMultiblock(ext_ra := ext_ra); + rest := tr_IaRestOctets_EGPRSULAss(ul_ass); + imm_ass := tr_IMM_TBF_ASS(dl := false, rest := rest); + + f_TC_egprs_pkt_chan_req(req, imm_ass); + } +} + +control { + execute( TC_pcuif_suspend() ); + execute( TC_ta_ptcch_idle() ); + execute( TC_ta_rach_imm_ass() ); + execute( TC_ta_idle_dl_tbf_ass() ); + execute( TC_ta_ptcch_ul_multi_tbf() ); + execute( TC_cs_lqual_ul_tbf() ); + execute( TC_cs_initial_ul() ); + execute( TC_cs_max_ul() ); + execute( TC_t3169() ); + execute( TC_t3193() ); + execute( TC_mo_ping_pong() ); + execute( TC_mo_ping_pong_with_ul_racap() ); + execute( TC_mt_ping_pong() ); + execute( TC_mt_ping_pong_with_dl_racap() ); + execute( TC_imm_ass_dl_block_retrans() ); + execute( TC_paging_cs_from_bts() ); + execute( TC_paging_cs_from_sgsn_sign_ptmsi() ); + execute( TC_paging_cs_from_sgsn_sign() ); + execute( TC_paging_cs_from_sgsn_ptp() ); + execute( TC_paging_ps_from_sgsn_sign_ptmsi() ); + execute( TC_paging_ps_from_sgsn_sign() ); + execute( TC_paging_ps_from_sgsn_ptp() ); + + /* EGPRS specific test cases */ + execute( TC_egprs_pkt_chan_req_signalling() ); + execute( TC_egprs_pkt_chan_req_one_phase() ); + execute( TC_egprs_pkt_chan_req_two_phase() ); +} + + + + + + } diff --git a/pcu/PCU_Tests_RAW_NS.ttcn b/pcu/PCU_Tests_NS.ttcn similarity index 99% rename from pcu/PCU_Tests_RAW_NS.ttcn rename to pcu/PCU_Tests_NS.ttcn index 81b60c3..9ea5149 100644 --- a/pcu/PCU_Tests_RAW_NS.ttcn +++ b/pcu/PCU_Tests_NS.ttcn @@ -1,4 +1,4 @@ -module PCU_Tests_RAW_NS { +module PCU_Tests_NS { /* Osmocom PCU test suite for IP Sub-Network-Service (SNS) in TTCN-3 * (C) 2018-2019 Harald Welte @@ -12,7 +12,7 @@ import from General_Types all; import from Osmocom_Types all; -import from PCU_Tests_RAW all; +import from PCU_Tests all; import from SGSN_Components all; import from Osmocom_Gb_Types all; import from NS_CodecPort all; diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn deleted file mode 100644 index 1348a8e..0000000 --- a/pcu/PCU_Tests_RAW.ttcn +++ /dev/null @@ -1,1906 +0,0 @@ -module PCU_Tests_RAW { - -/* "RAW" PCU tests: Talk directly to the PCU socket of OsmoPCU on the one hand side (emulating - the BTS/BSC side PCU socket server) and the Gb interface on the other hand side. No NS/BSSGP - Emulation is used; rather, we simply use the NS_CodecPort to implement both standard and non- - standard procedures on the NS and BSSGP level. The goal of these tests is to test exactly - those NS and BSSGP implementations on the BSS (PCU) side. */ - -/* (C) 2018-2019 Harald Welte - * (C) 2019 Vadim Yanitskiy - * 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 - */ - -friend module PCU_Tests_RAW_NS; - -import from General_Types all; -import from Osmocom_Types all; -import from GSM_Types all; -import from GSM_RR_Types all; - -import from Osmocom_VTY_Functions all; -import from TELNETasp_PortType all; - -import from MobileL3_GMM_SM_Types all; -import from RLCMAC_CSN1_Types all; -import from RLCMAC_Types all; - -import from MobileL3_CommonIE_Types all; -import from L3_Templates all; - -import from NS_Types all; -import from BSSGP_Types all; -import from Osmocom_Gb_Types all; - -import from BSSGP_Emulation all; /* BssgpConfig */ -import from NS_Emulation all; /* NSConfiguration */ - -import from UD_Types all; -import from PCUIF_Types all; -import from PCUIF_CodecPort all; -import from PCUIF_RAW_Components all; -import from IPL4asp_Types all; -import from Native_Functions all; -import from SGSN_Components all; - -modulepar { - charstring mp_pcu_sock_path := PCU_SOCK_DEFAULT; - - float X2002 := 0.2; /* Timer -2002, IMM ASSIGN confirm delay */ -} - - -/* FIXME: make sure to use parameters from mp_gb_cfg.cell_id in the PCU INFO IND */ -private template (value) PCUIF_info_ind ts_PCUIF_INFO_default := { - version := PCU_IF_VERSION, - flags := c_PCUIF_Flags_default, - trx := valueof(ts_PCUIF_InfoTrxs_def), - bsic := 7, - mcc := 262, - mnc := 42, - mnc_3_digits := 0, - lac := 13135, - rac := 0, - nsei := mp_nsconfig.nsei, - nse_timer := { 3, 3, 3, 3, 30, 3, 10 }, - cell_timer := { 3, 3, 3, 3, 3, 10, 3, 10, 3, 10, 3 }, - cell_id := 20960, - repeat_time := 5 * 50, - repeat_count := 3, - bvci := mp_gb_cfg.bvci, - t3142 := 20, - t3169 := 5, - t3191 := 5, - t3193_10ms := 160, - t3195 := 5, - t3101 := 10, - t3103 := 4, - t3105 := 8, - cv_countdown := 15, - dl_tbf_ext := 250 * 10, /* ms */ - ul_tbf_ext := 250 * 10, /* ms */ - initial_cs := 2, - initial_mcs := 6, - nsvci := { mp_nsconfig.nsvci, 0 }, - local_pprt := { mp_nsconfig.remote_udp_port, 0 }, - remote_port := { mp_nsconfig.local_udp_port, 0 }, - remote_ip := { f_inet_haddr(mp_nsconfig.local_ip) , '00000000'O } -} - -type record lqual_range { - /* component reference to the IPA_Client component used for RSL */ - uint8_t low, - uint8_t high -} - -type component RAW_PCU_Test_CT extends bssgp_CT { - /* Connection to the BTS component (one for now) */ - port RAW_PCU_MSG_PT BTS; - /* Connection to the PCUIF component */ - port RAW_PCU_MSG_PT PCUIF; - /* VTY connection to the PCU */ - port TELNETasp_PT PCUVTY; - - /* Uplink CS/MCS thresholds, default from pcu_main.c: */ - var lqual_range g_cs_lqual_ranges[4] := {{low := 0, high := 6}, - {low := 5, high := 8}, - {low := 7, high := 13}, - {low := 12,high := 35}}; - var lqual_range g_mcs_lqual_ranges[9] := {{low := 0, high := 6}, - {low := 5, high := 8}, - {low := 7, high := 13}, - {low := 12,high := 15}, - {low := 14, high := 17}, - {low := 16, high := 18}, - {low := 17,high := 20}, - {low := 19, high := 24}, - {low := 23,high := 35}}; - var uint8_t g_cs_initial_dl := 1; - var uint8_t g_cs_initial_ul := 1; - var uint8_t g_mcs_initial_dl := 1; - var uint8_t g_mcs_initial_ul := 1; - var uint8_t g_cs_max_dl := 4; - var uint8_t g_cs_max_ul := 4; - var uint8_t g_mcs_max_dl := 9; - var uint8_t g_mcs_max_ul := 9; - - var boolean g_egprs_only := false; - - /* Guard timeout */ - timer g_T_guard := 60.0; -}; - -private altstep as_Tguard_RAW() runs on RAW_PCU_Test_CT { - [] g_T_guard.timeout { - setverdict(fail, "Timeout of T_guard"); - mtc.stop; - } -} - -private function f_pcuvty_set_allowed_cs_mcs() runs on RAW_PCU_Test_CT { - f_vty_config2(PCUVTY, {"pcu"}, "cs " & int2str(g_cs_initial_dl) & " " & int2str(g_cs_initial_ul)); - f_vty_config2(PCUVTY, {"pcu"}, "cs max " & int2str(g_cs_max_dl) & " " & int2str(g_cs_max_ul)); - - f_vty_config2(PCUVTY, {"pcu"}, "mcs " & int2str(g_mcs_initial_dl) & " " & int2str(g_mcs_initial_ul)); - f_vty_config2(PCUVTY, {"pcu"}, "mcs max " & int2str(g_mcs_max_dl) & " " & int2str(g_mcs_max_ul)); -} - -private function f_pcuvty_set_link_quality_ranges() runs on RAW_PCU_Test_CT { - var charstring cmd; - - cmd := "cs link-quality-ranges" & - " cs1 " & int2str(g_cs_lqual_ranges[0].high) & - " cs2 " & int2str(g_cs_lqual_ranges[1].low) & " " & int2str(g_cs_lqual_ranges[1].high) & - " cs3 " & int2str(g_cs_lqual_ranges[2].low) & " " & int2str(g_cs_lqual_ranges[2].high) & - " cs4 " & int2str(g_cs_lqual_ranges[3].low); - f_vty_config2(PCUVTY, {"pcu"}, cmd); - - cmd := "mcs link-quality-ranges" & - " mcs1 " & int2str(g_mcs_lqual_ranges[0].high) & - " mcs2 " & int2str(g_mcs_lqual_ranges[1].low) & " " & int2str(g_mcs_lqual_ranges[1].high) & - " mcs3 " & int2str(g_mcs_lqual_ranges[2].low) & " " & int2str(g_mcs_lqual_ranges[2].high) & - " mcs4 " & int2str(g_mcs_lqual_ranges[3].low) & " " & int2str(g_mcs_lqual_ranges[3].high) & - " mcs5 " & int2str(g_mcs_lqual_ranges[4].low) & " " & int2str(g_mcs_lqual_ranges[4].high) & - " mcs6 " & int2str(g_mcs_lqual_ranges[5].low) & " " & int2str(g_mcs_lqual_ranges[5].high) & - " mcs7 " & int2str(g_mcs_lqual_ranges[6].low) & " " & int2str(g_mcs_lqual_ranges[6].high) & - " mcs8 " & int2str(g_mcs_lqual_ranges[7].low) & " " & int2str(g_mcs_lqual_ranges[7].high) & - " mcs9 " & int2str(g_mcs_lqual_ranges[8].low); - f_vty_config2(PCUVTY, {"pcu"}, cmd); -} - -private function f_init_vty(charstring id) runs on RAW_PCU_Test_CT { - map(self:PCUVTY, system:PCUVTY); - f_vty_set_prompts(PCUVTY); - f_vty_transceive(PCUVTY, "enable"); - - if (g_egprs_only) { - f_vty_config2(PCUVTY, {"pcu"}, "egprs only"); - } else { - f_vty_config2(PCUVTY, {"pcu"}, "no egprs"); - } -} - -private function f_init_raw(charstring id, template (value) PCUIF_info_ind info_ind := ts_PCUIF_INFO_default) -runs on RAW_PCU_Test_CT { - var RAW_PCUIF_CT vc_PCUIF; - var RAW_PCU_BTS_CT vc_BTS; - - /* Start the guard timer */ - g_T_guard.start; - activate(as_Tguard_RAW()); - - /* Init PCU interface component */ - vc_PCUIF := RAW_PCUIF_CT.create("PCUIF-" & id); - connect(vc_PCUIF:MTC, self:PCUIF); - map(vc_PCUIF:PCU, system:PCU); - - /* Create one BTS component (we may want more some day) */ - vc_BTS := RAW_PCU_BTS_CT.create("BTS-" & id); - connect(vc_BTS:PCUIF, vc_PCUIF:BTS); - connect(vc_BTS:TC, self:BTS); - - f_init_vty(id); - - vc_PCUIF.start(f_PCUIF_CT_handler(mp_pcu_sock_path)); - vc_BTS.start(f_BTS_CT_handler(0, valueof(info_ind))); - - /* Wait until the BTS is ready (SI13 negotiated) */ - BTS.receive(tr_RAW_PCU_EV(BTS_EV_SI13_NEGO)); -} - -template AckNackDescription t_AckNackDescription_init := { - final_ack := '0'B, - starting_seq_nr := 0, - receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B -} - -private function f_rlcmac_dl_block_get_tfi(RlcmacDlBlock dl_block) return uint5_t { - if (ischosen(dl_block.data)) { - return dl_block.data.mac_hdr.hdr_ext.tfi; - } else { - return dl_block.data_egprs.mac_hdr.tfi; - } -} - -/* TS 44.060 sec 12.3 Ack/Nack Description */ -private function f_acknackdesc_ack_block(inout AckNackDescription desc, RlcmacDlBlock dl_block, BIT1 final_ack := '0'B) -{ - var uint7_t bsn; - var integer i; - var integer inc; - - if (ischosen(dl_block.data)) { - bsn := dl_block.data.mac_hdr.hdr_ext.bsn; - } else { - bsn := dl_block.data_egprs.mac_hdr.bsn1; - } - - inc := bsn - desc.starting_seq_nr + 1; - /* Filling hole? */ - if (bsn < desc.starting_seq_nr) { - desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - (desc.starting_seq_nr - bsn)] := int2bit(1, 1); - return; - } - - /* SSN is increased, and so RBB values need to be moved */ - for (i := 0; i < lengthof(desc.receive_block_bitmap) - inc; i := i+1) { - desc.receive_block_bitmap[i] := desc.receive_block_bitmap[i + inc]; - } - for (i := lengthof(desc.receive_block_bitmap) - inc; i < lengthof(desc.receive_block_bitmap) - 1; i := i+1) { - desc.receive_block_bitmap[i] := int2bit(0, 1); - } - /* Now we can set current bit and update SSN */ - desc.starting_seq_nr := bsn + 1; - desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - 1] := int2bit(1, 1); - - /* Finally update the final_ack bit as requested: */ - desc.final_ack := final_ack; -} - -/* This function can be used to send DATA.cnf in response to the IUT originated DATA.req. - * NOTE: it's the responsibility of caller to make sure that pcu_msg contains u.data_req. */ -private function f_pcuif_tx_data_cnf(in PCUIF_Message pcu_msg) -runs on RAW_PCU_Test_CT { - var PCUIF_Message pcu_msg_cnf := { - msg_type := PCU_IF_MSG_DATA_CNF, - bts_nr := pcu_msg.bts_nr, - spare := pcu_msg.spare, - u := { data_cnf := pcu_msg.u.data_req } - }; - - /* PCU wants DATA.cnf containing basically everything that was in DATA.req, - * but PCU_IF_SAPI_PCH is a special case - paging group shall be excluded. */ - if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { - pcu_msg_cnf.u.data_cnf.data := substr(pcu_msg.u.data_req.data, 3, - pcu_msg.u.data_req.len - 3); - } - - BTS.send(pcu_msg_cnf); -} - -private function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, - template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, - template GsmRrMessage t_imm_ass := ?, - uint8_t bts_nr := 0) -runs on RAW_PCU_Test_CT return boolean { - var PCUIF_Message pcu_msg; - var octetstring data; - timer T; - - T.start(2.0); - alt { - [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, - sapi := sapi, data := ?)) -> value pcu_msg { - /* On PCH the payload is prefixed with paging group (3 octets): skip it. - * TODO: add an additional template parameter, so we can match it. */ - if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { - data := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); - } else { - data := pcu_msg.u.data_req.data; - } - - rr_imm_ass := dec_GsmRrMessage(data); - if (not match(rr_imm_ass, t_imm_ass)) { - /* Not for us? Wait for more. */ - repeat; - } - - log("Rx Immediate Assignment: ", rr_imm_ass); - setverdict(pass); - return true; - } - [] BTS.receive { repeat; } - [] T.timeout { - setverdict(fail, "Timeout waiting for Immediate Assignment"); - } - } - - return false; -} - -/* FIXME: properly encode RA (see TS 24.060, table 11.2.5.2) */ -private function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, - uint16_t ra := oct2int('3A'O), uint8_t is_11bit := 0, - PCUIF_BurstType burst_type := BURST_TYPE_0, - TimingAdvance ta := 0) -runs on RAW_PCU_Test_CT return boolean { - var uint32_t fn; - - /* FIXME: ask the BTS component to give us the current TDMA fn */ - fn := 1337 + ta; - - /* Send RACH.ind */ - log("Sending RACH.ind on fn=", fn, " with RA=", ra, ", TA=", ta); - BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, - ra := ra, is_11bit := is_11bit, - burst_type := burst_type, - fn := fn, arfcn := 871, - qta := ta * 4)); - - /* 3GPP TS 44.018, table 9.1.8.1, note 2b: Request Reference shall be set to 127 - * when Immediate Assignment is triggered by EGPRS Packet Channel Request. Here - * we assume that 11 bit RA always contains EGPRS Packet Channel Request. */ - if (is_11bit != 0) { ra := 127; } - - /* Expect Immediate (TBF) Assignment on TS0/AGCH */ - return f_pcuif_rx_imm_ass(rr_imm_ass, PCU_IF_SAPI_AGCH, - tr_IMM_TBF_ASS(?, ra, fn), - bts_nr := bts_nr); -} - -private function f_imm_ass_verify_ul_tbf_ass(GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) -runs on RAW_PCU_Test_CT return boolean { - - /* Make sure we received an UL TBF Assignment */ - if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { - ul_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; - log("Rx Uplink TBF assignment: ", ul_tbf_ass); - setverdict(pass); - } else { - setverdict(fail, "Failed to match UL TBF Assignment"); - return false; - } - - /* Make sure we have got a TBF with Dynamic Block Allocation */ - if (ul_tbf_ass.dynamic == omit) { - setverdict(fail, "Single Block Allocation is not handled by ", testcasename()); - return false; - } - - return true; -} - -private function f_imm_ass_verify_dl_tbf_ass(GsmRrMessage rr_imm_ass, out PacketDlAssign dl_tbf_ass) -runs on RAW_PCU_Test_CT return boolean { - - /* Make sure we received a DL TBF Assignment */ - if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := true, rest := tr_IaRestOctets_DLAss(?)))) { - dl_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.dl; - log("Rx Downlink TBF assignment: ", dl_tbf_ass); - setverdict(pass); - } else { - setverdict(fail, "Failed to match DL TBF Assignment"); - return false; - } - - return true; -} - -/* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ -private function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0) -runs on RAW_PCU_Test_CT { - var template RAW_PCU_EventParam ev_param := {tdma_fn := ? }; - BTS.send(ts_PCUIF_DATA_IND(bts_nr := 0, trx_nr := 0, ts_nr := 7, block_nr := 0, - sapi := PCU_IF_SAPI_PDTCH, data := data, - fn := fn, arfcn := 871, lqual_cb := lqual_cb)); - if (fn != 0) { - ev_param := {tdma_fn := fn }; - } - BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_SENT, ev_param)); -} - -/* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ -private function f_pcuif_rx_data_req(out PCUIF_Message pcu_msg) -runs on RAW_PCU_Test_CT { - BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, - sapi := PCU_IF_SAPI_PDTCH, fn := 0, - arfcn := 871, block_nr := 0)); - BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, - sapi := PCU_IF_SAPI_PDTCH)) -> value pcu_msg; -} - -/* Expect an Immediate Assignment (paging) from PCU on PCUIF on specified sapi. */ -private function f_pcuif_rx_pch_imm_tbf_ass(out GsmRrMessage rr_imm_ass) -runs on RAW_PCU_Test_CT { - var PCUIF_Message pcu_msg; - var octetstring macblock; - BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, - sapi := PCU_IF_SAPI_PCH)) -> value pcu_msg; - /* First 3 bytes contain paging group: */ - macblock := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); - rr_imm_ass := dec_GsmRrMessage(macblock); - if (not match(rr_imm_ass, tr_IMM_TBF_ASS())) { - setverdict(fail, "Failed to match Immediate Assignment: ", rr_imm_ass); - mtc.stop; - } - f_pcuif_tx_data_cnf(pcu_msg); -} - -/* Expect a Paging Request Type 1 from PCU on PCUIF on specified sapi. */ -private function f_pcuif_rx_pch_pag_req1(template MobileIdentityV mi1 := ?, - template integer pag_group := ?) -runs on RAW_PCU_Test_CT return GsmRrMessage { - var GsmRrMessage rr_pag_req1; - var PCUIF_Message pcu_msg; - var octetstring imsi_suff_octstr; - var integer pag_group_rx; - var octetstring macblock; - - BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, - sapi := PCU_IF_SAPI_PCH)) -> value pcu_msg; - - /* First 3 bytes contain IMSI suffix to calculate paging group: */ - imsi_suff_octstr := substr(pcu_msg.u.data_req.data, 0, 3); - pag_group_rx := str2int(oct2char(imsi_suff_octstr[0])) * 100 + - str2int(oct2char(imsi_suff_octstr[1])) * 10 + - str2int(oct2char(imsi_suff_octstr[2])); - - /* Make sure we've got RR Paging Request Type 1 for a given MI */ - macblock := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); - rr_pag_req1 := dec_GsmRrMessage(macblock); - if (not match(rr_pag_req1, tr_PAG_REQ1(tr_MI_LV(mi1)))) { - setverdict(fail, "Failed to match Paging Request Type 1: ", rr_pag_req1); - mtc.stop; - } - - /* Make sure that received paging froup matches the expected one */ - if (not match(pag_group_rx, pag_group)) { - setverdict(fail, "Paging group", pag_group_rx, " does not match expected ", pag_group); - mtc.stop; - } - - f_pcuif_tx_data_cnf(pcu_msg); - return rr_pag_req1; -} - -private function f_tx_rlcmac_ul_block(template (value) RlcmacUlBlock ul_data, int16_t lqual_cb := 0, uint32_t fn := 0) -runs on RAW_PCU_Test_CT { - var octetstring data; - /* Encode the payload of DATA.ind */ - data := enc_RlcmacUlBlock(valueof(ul_data)); - data := f_pad_oct(data, 23, '00'O); /* CS-1 */ - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - f_pcuif_tx_data_ind(data, lqual_cb, fn); -} - -private function f_tx_rlcmac_ul_n_blocks(PacketUlAssign ul_tbf_ass, integer num_blocks := 1) -runs on RAW_PCU_Test_CT { - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := ul_tbf_ass.dynamic.tfi_assignment, - cv := num_blocks - 1, /* num UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* TODO: what should be here? */ - blocks := { /* To be generated in loop */ }); - - /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ - ul_data.data.tlli := '00000001'O; - - for (var integer i := 0; i < num_blocks; i := i + 1) { - /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (num_blocks - i - 1); - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; - f_tx_rlcmac_ul_block(ul_data); - } -} - -private function f_rx_rlcmac_dl_block(out RlcmacDlBlock dl_block, out uint32_t dl_fn, template (present) CodingScheme exp_cs_mcs := ?) -runs on RAW_PCU_Test_CT { - var PCUIF_Message pcu_msg; - f_pcuif_rx_data_req(pcu_msg); - dl_block := dec_RlcmacDlBlock(pcu_msg.u.data_req.data); - dl_fn := pcu_msg.u.data_req.fn; - - var integer len := lengthof(pcu_msg.u.data_req.data); - var CodingScheme cs_mcs := f_rlcmac_block_len2cs_mcs(len) - if (not match(f_rlcmac_block_len2cs_mcs(len), exp_cs_mcs)) { - setverdict(fail, "Failed to match Coding Scheme exp ", exp_cs_mcs, " vs ", cs_mcs, " (", len, ")"); - mtc.stop; - } -} - -private function f_rx_rlcmac_dl_block_exp_ack_nack(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK(ul_tfi := ?, tlli := ?))) { - setverdict(fail, "Failed to match Packet Uplink ACK / NACK"); - mtc.stop; - } - - poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); -} - -private function f_rx_rlcmac_dl_block_exp_dummy(out RlcmacDlBlock dl_block) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { - setverdict(fail, "Failed to match Packet DUMMY DL"); - mtc.stop; - } -} - -private function f_rx_rlcmac_dl_block_exp_pkt_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { - setverdict(fail, "Failed to match Packet Downlink Assignment"); - mtc.stop; - } - - poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); -} - -private function f_rx_rlcmac_dl_block_exp_pkt_ul_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_UL_PACKET_ASS())) { - setverdict(fail, "Failed to match Packet Uplink Assignment"); - mtc.stop; - } - - poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); -} - - -private function f_rx_rlcmac_dl_block_exp_pkt_pag_req(out RlcmacDlBlock dl_block) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_PACKET_PAG_REQ())) { - setverdict(fail, "Failed to match Packet Paging Request: ", dl_block, " vs ", tr_RLCMAC_PACKET_PAG_REQ()); - mtc.stop; - } -} - -private function f_rlcmac_dl_block_verify_data_gprs(RlcmacDlBlock dl_block, uint32_t dl_fn, out uint32_t ack_fn, octetstring data, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) -{ - log("verifying dl data block (gprs): ", dl_block); - - ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data.mac_hdr.mac_hdr.rrbp); - - if (not match(dl_block.data.mac_hdr.hdr_ext.bsn, exp_bsn)) { - setverdict(fail, "DL block BSN doesn't match: ", - dl_block.data.blocks[0].hdr.length_ind, " vs exp ", exp_bsn); - } - - if (lengthof(dl_block.data.blocks) < 1) { - setverdict(fail, "DL block has no LLC payload: ", dl_block); - mtc.stop; - } - - if (ispresent(dl_block.data.blocks[0].hdr) and dl_block.data.blocks[0].hdr.length_ind != lengthof(data)) { - setverdict(fail, "DL block has LLC header with wrong expected size: ", - dl_block.data.blocks[0].hdr.length_ind, " vs ", lengthof(data)); - mtc.stop; - } - - if (dl_block.data.blocks[0].payload != data) { - setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); - mtc.stop; - } - - /* Check next data blocks contain dummy frames */ - if (lengthof(dl_block.data.blocks) > 1 and substr(dl_block.data.blocks[1].payload, 0, 3) != '43C001'O) { - setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); - mtc.stop; - } - - /* TODO: check exp_cs */ -} - -private function f_rlcmac_dl_block_verify_data_egprs(RlcmacDlBlock dl_block, uint32_t dl_fn, out uint32_t ack_fn, octetstring data, template (present) uint14_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) -{ - log("verifying dl data block (egprs): ", dl_block); - - ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data_egprs.mac_hdr.rrbp); - - if (not match(dl_block.data_egprs.mac_hdr.bsn1, exp_bsn)) { - setverdict(fail, "DL block BSN doesn't match: ", - dl_block.data_egprs.blocks[0].hdr.length_ind, " vs exp ", exp_bsn); - } - - if (lengthof(dl_block.data_egprs.blocks) < 1) { - setverdict(fail, "DL block has no LLC payload: ", dl_block); - mtc.stop; - } - - if (ispresent(dl_block.data_egprs.blocks[0].hdr) and dl_block.data_egprs.blocks[0].hdr.length_ind != lengthof(data)) { - setverdict(fail, "DL block has LLC header with wrong expected size: ", - dl_block.data_egprs.blocks[0].hdr.length_ind, " vs ", lengthof(data)); - mtc.stop; - } - - if (dl_block.data_egprs.blocks[0].payload != data) { - setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); - mtc.stop; - } - - /* Check next data blocks contain dummy frames */ - if (lengthof(dl_block.data_egprs.blocks) > 1 and substr(dl_block.data_egprs.blocks[1].payload, 0, 3) != '43C001'O) { - setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); - mtc.stop; - } - - /* TODO: Check exp_cs. In the case of EGPRS, first check mac_hdr.header_type and then decode CPS = exp_cs based on mac_hdr.header_type. - See wireshark's egprs_Header_type1_coding_puncturing_scheme_to_mcs. */ -} - -private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t ack_fn, octetstring data, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) -runs on RAW_PCU_Test_CT { - var PCUIF_Message pcu_msg; - var uint32_t dl_fn; - var boolean is_egprs := false; - var template RlcmacDlBlock dl_template := tr_RLCMAC_DATA_RRBP; - dl_template.data.blocks := ?; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, dl_template)) { - dl_template := tr_RLCMAC_DATA_EGPRS; - dl_template.data_egprs.blocks := ?; - if (not match(dl_block, dl_template)) { - setverdict(fail, "Failed to match Packet data: ", dl_block, " vs ", dl_template); - mtc.stop; - } - is_egprs := true; - } - - if (is_egprs) { - f_rlcmac_dl_block_verify_data_egprs(dl_block, dl_fn, ack_fn, data, exp_bsn, exp_cs); - } else { - f_rlcmac_dl_block_verify_data_gprs(dl_block, dl_fn, ack_fn, data, exp_bsn, exp_cs); - } -} - -testcase TC_pcuif_suspend() runs on RAW_PCU_Test_CT { - var octetstring ra_id := enc_RoutingAreaIdentification(mp_gb_cfg.cell_id.ra_id); - var GprsTlli tlli := 'FFFFFFFF'O; - timer T; - - /* 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(); - - BTS.send(ts_PCUIF_SUSP_REQ(0, tlli, ra_id, 0)); - - T.start(2.0); - alt { - [] BSSGP_SIG[0].receive(tr_BSSGP_SUSPEND(tlli, mp_gb_cfg.cell_id.ra_id)) { - setverdict(pass); - } - [] T.timeout { - setverdict(fail, "Timeout waiting for BSSGP SUSPEND"); - } - } -} - -/* Test of correct Timing Advance at the time of TBF establishment - * (derived from timing offset of the Access Burst). */ -testcase TC_ta_rach_imm_ass() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_msg; - var boolean ok; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - /* We cannot send too many TBF requests in a short time because - * at some point the PCU will fail to allocate a new TBF. */ - for (var TimingAdvance ta := 0; ta < 64; ta := ta + 16) { - /* Establish an Uplink TBF (send RACH.ind with current TA) */ - ok := f_establish_tbf(rr_msg, bts_nr := 0, ta := ta); - if (not ok) { - setverdict(fail, "Failed to establish an Uplink TBF"); - mtc.stop; - } - - /* Make sure Timing Advance IE matches out expectations */ - if (match(rr_msg, tr_IMM_TBF_ASS(dl := false, ta := ta))) { - setverdict(pass); - } - } -} - -/* 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 - * no active TBF exists at the moment of establishment (idle mode). */ -testcase TC_ta_idle_dl_tbf_ass() runs on RAW_PCU_Test_CT { - var OCT4 tlli := f_rnd_octstring(4); - var GsmRrMessage rr_imm_ass; - - /* 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('FFFFFFFF'O, tlli); - - /* SGSN sends some DL data, PCU will initiate Packet Downlink - * Assignment on CCCH (PCH). We don't care about the payload. */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, f_rnd_octstring(10))); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); // TODO: match by TLLI! - - /* Make sure that Timing Advance is 0 (the actual value is not known yet). - * As per 3GPP S 44.018, section 3.5.3.1.2, the network *shall* initiate - * the procedures defined in 3GPP TS 44.060 or use the polling mechanism. */ - if (not match(rr_imm_ass, tr_IMM_TBF_ASS(ta := 0))) { - setverdict(fail, "Timing Advance value doesn't match"); - mtc.stop; - } -} - -/* Verify that the PCU generates valid PTCCH/D messages - * while neither Uplink nor Downlink TBF is established. */ -testcase TC_ta_ptcch_idle() runs on RAW_PCU_Test_CT { - var PTCCHDownlinkMsg ptcch_msg; - var PCUIF_Message pcu_msg; - timer T; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - /* Sent an RTS.req for PTCCH/D */ - BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, - sapi := PCU_IF_SAPI_PTCCH, fn := 0, - arfcn := 871, block_nr := 0)); - T.start(5.0); - alt { - [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, - sapi := PCU_IF_SAPI_PTCCH)) -> value pcu_msg { - log("Rx DATA.req message: ", pcu_msg); - setverdict(pass); - } - [] BTS.receive(PCUIF_Message:?) { repeat; } - [] T.timeout { - setverdict(fail, "Timeout waiting for a PTCCH/D block"); - mtc.stop; - } - } - - ptcch_msg := dec_PTCCHDownlinkMsg(pcu_msg.u.data_req.data); - log("Decoded PTCCH/D message: ", ptcch_msg); - - /* Make sure the message is encoded correctly - * TODO: do we expect all TA values to be equal '1111111'B? */ - if (not match(ptcch_msg, tr_PTCCHDownlinkMsg)) { - setverdict(fail, "Malformed PTCCH/D message"); - mtc.stop; - } -} - -/* Test of correct Timing Advance during an active Uplink TBF. - * - * Unlike the circuit-switched domain, Uplink transmissions on PDCH time-slots - * are not continuous and there can be long time gaps between them. This happens - * due to a bursty nature of packet data. The actual Timing Advance of a MS may - * significantly change between such rare Uplink transmissions, so GPRS introduces - * additional mechanisms to control Timing Advance, and thus reduce interference - * between neighboring TDMA time-slots. - * - * At the moment of Uplink TBF establishment, initial Timing Advance is measured - * from ToA (Timing of Arrival) of an Access Burst. This is covered by another - * test case - TC_ta_rach_imm_ass. In response to that Access Burst the network - * sends Immediate Assignment on AGCH, which _may_ contain Timing Advance Index - * among with the initial Timing Advance value. And here PTCCH comes to play. - * - * PTCCH is a unidirectional channel on which the network can instruct a sub-set - * of 16 MS (whether TBFs are active or not) to adjust their Timing Advance - * continuously. To ensure continuous measurements of the signal propagation - * delay, the MSs shall transmit Access Bursts on Uplink (PTCCH/U) on sub-slots - * defined by an assigned Timing Advance Index (see 3GPP TS 45.002). - * - * The purpose of this test case is to verify the assignment of Timing Advance - * Index, and the process of Timing Advance notification on PTCCH/D. The MTC - * first establishes several Uplink TBFs, but does not transmit any Uplink - * blocks on them. During 4 TDMA multi-frame periods the MTC is sending RACH - * indications to the PCU, checking the correctness of two received PTCCH/D - * messages (period of PTCCH/D is two multi-frames). - */ - -/* List of ToA values for Access Bursts to be sent on PTCCH/U, - * each ToA (Timing of Arrival) value is in units of 1/4 of - * a symbol (i.e. 1 symbol is 4 QTA units). */ -type record length(16) of int16_t PTCCH_TAI_ToA_MAP; -const PTCCH_TAI_ToA_MAP ptcch_toa_map_def := { - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0 -}; - -private altstep as_ta_ptcch(uint8_t bts_nr := 0, uint8_t trx_nr := 0, uint8_t ts_nr := 7, - in PTCCH_TAI_ToA_MAP toa_map := ptcch_toa_map_def) -runs on RAW_PCU_Test_CT { - var RAW_PCU_Event event; - var integer ss; - - /* Send Access Bursts on PTCCH/U for every TA Index */ - [] BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PTCCH_UL_BURST)) -> value event { - ss := f_tdma_ptcch_fn2ss(event.data.tdma_fn); - if (ss < 0) { mtc.stop; } /* Shall not happen */ - - log("Sending an Access Burst on PTCCH/U", - ", sub-slot=", ss, " (TAI)", - ", fn=", event.data.tdma_fn, - ", ToA=", toa_map[ss], " (QTA)"); - /* TODO: do we care about RA and burst format? */ - BTS.send(ts_PCUIF_RACH_IND(bts_nr, trx_nr, ts_nr, - ra := oct2int('3A'O), - is_11bit := 0, - burst_type := BURST_TYPE_0, - fn := event.data.tdma_fn, - arfcn := 871, - qta := toa_map[ss], - sapi := PCU_IF_SAPI_PTCCH)); - repeat; - } -} - -private function f_TC_ta_ptcch_ul_multi_tbf(in PTCCH_TAI_ToA_MAP ptcch_toa_map, - template PTCCHDownlinkMsg t_ta_msg) -runs on RAW_PCU_Test_CT { - var PTCCHDownlinkMsg ta_msg; - var PCUIF_Message pcu_msg; - timer T; - - /* First, send an RTS.req for the upcoming PTCCH/D block */ - BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, - sapi := PCU_IF_SAPI_PTCCH, fn := 0, - arfcn := 871, block_nr := 0)); - T.start(2.0); - alt { - /* Keep sending of Access Bursts during two multi-frames (period of PTCCH/D) - * with increasing ToA (Timing of Arrival) values: 0, 7, 14, 28, 35... */ - [] as_ta_ptcch(bts_nr := 0, trx_nr := 0, ts_nr := 7, toa_map := ptcch_toa_map); - /* In the end of 2nd multi-frame we should receive a PTCCH/D block */ - [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, - sapi := PCU_IF_SAPI_PTCCH)) -> value pcu_msg { - ta_msg := dec_PTCCHDownlinkMsg(pcu_msg.u.data_req.data); - log("Rx PTCCH/D message: ", ta_msg); - - /* Make sure Timing Advance values match our expectations */ - if (match(ta_msg, t_ta_msg)) { - setverdict(pass); - } else { - setverdict(fail, "PTCCH/D message does not match: ", t_ta_msg); - } - } - [] BTS.receive { repeat; } - [] T.timeout { - setverdict(fail, "Timeout waiting for a PTCCH/D block"); - mtc.stop; - } - } -} - -testcase TC_ta_ptcch_ul_multi_tbf() runs on RAW_PCU_Test_CT { - var template PacketUlAssign t_ul_tbf_ass; - var PacketUlAssign ul_tbf_ass[7]; - var GsmRrMessage rr_msg[7]; - var boolean ok; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - /* Enable forwarding of PTCCH/U TDMA events to us */ - BTS.send(ts_RAW_PCU_CMD(TDMA_CMD_ENABLE_PTCCH_UL_FWD)); - - /* Establish 7 Uplink TBFs (USF flag is 3 bits long, '111'B is reserved) */ - for (var integer i := 0; i < 7; i := i + 1) { - ok := f_establish_tbf(rr_msg[i], ta := 0); - if (not ok) { - setverdict(fail, "Failed to establish an Uplink TBF #", i); - mtc.stop; - } - - /* Make sure we received an UL TBF Assignment */ - if (match(rr_msg[i], tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { - ul_tbf_ass[i] := rr_msg[i].payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; - log("Rx Uplink TBF assignment for #", i, ": ", ul_tbf_ass[i]); - } else { - setverdict(fail, "Failed to match UL TBF Assignment for #", i); - mtc.stop; - } - - /* We expect incremental TFI/USF assignment (dynamic allocation) */ - t_ul_tbf_ass := tr_PacketUlDynAssign(tfi := i, usf := i); - if (not match(ul_tbf_ass[i], t_ul_tbf_ass)) { - setverdict(fail, "Failed to match Packet Uplink Assignment for #", i); - mtc.stop; - } - - /* We also expect Timing Advance Index to be a part of the assignment */ - if (ul_tbf_ass[i].dynamic.ta_index != i) { - setverdict(fail, "Failed to match Timing Advance Index for #", i); - /* Keep going, the current OsmoPCU does not assign TA Index */ - } - } - - /* Prepare a list of ToA values for Access Bursts to be sent on PTCCH/U */ - var PTCCH_TAI_ToA_MAP toa_map := ptcch_toa_map_def; - for (var integer i := 0; i < 7; i := i + 1) { - /* ToA in units of 1/4 of a symbol */ - toa_map[i] := (i + 1) * 7 * 4; - } - - /* Now we have all 7 TBFs established in one-phase access mode, - * however we will not be sending any data on them. Instead, we - * will be sending RACH.ind on PTCCH/U during 4 multi-frame - * periods (TAI 0..8), and then will check two PTCCH/D blocks. - * - * Why not 4 TBFs at once? Because Uplink is delayed by 3 TDMA - * time-slots, so at the moment of scheduling a PTCCH/D block - * the PCU has odd number of PTCCH/U Access Bursts received. */ - f_TC_ta_ptcch_ul_multi_tbf(toa_map, tr_PTCCHDownlinkMsg( - tai0_ta := 7, tai1_ta := 14, tai2_ta := 21, - /* Other values are not known (yet) */ - tai3_ta := ?)); - f_TC_ta_ptcch_ul_multi_tbf(toa_map, tr_PTCCHDownlinkMsg( - tai0_ta := 7, tai1_ta := 14, tai2_ta := 21, - tai3_ta := 28, tai4_ta := 35, tai5_ta := 42, - /* Other values are out of our interest */ - tai6_ta := ?)); -} - -/* Default link quality adaptation (Coding Scheme) ranges (inclusive). - * OsmoPCU (VTY): cs link-quality-ranges cs1 6 cs2 5 8 cs3 7 13 cs4 12 - * - * NOTE: the ranges are intentionally overlapping because OsmoPCU - * does not change CS/MCS on the range borders (5-6, 7-8, 12-13). */ -private template integer CS1_lqual_dB_range := (-infinity .. 6); -private template integer CS2_lqual_dB_range := (5 .. 8); -private template integer CS3_lqual_dB_range := (7 .. 13); -private template integer CS4_lqual_dB_range := (12 .. infinity); - -testcase TC_cs_lqual_ul_tbf() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var RlcmacDlBlock dl_block; - var PCUIF_Message pcu_msg; - var octetstring data; - var boolean ok; - var uint32_t unused_fn; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - f_pcuvty_set_allowed_cs_mcs(); - f_pcuvty_set_link_quality_ranges(); - - /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - mtc.stop; - } - - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; - } - - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := ul_tbf_ass.dynamic.tfi_assignment, - cv := 15, /* 16 UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* TODO: what should be here? */ - blocks := { /* To be generated in loop */ }); - - /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ - ul_data.data.tlli := '00000001'O; - - /* The actual / old link quality values. We need to keep track of the old - * (basically previous) link quality value, because OsmoPCU actually - * changes the coding scheme if not only the actual, but also the old - * value leaves the current link quality range (window). */ - var integer lqual := 0; - var integer lqual_old; - - /* 16 UL blocks (0 .. 15 dB, step = 1 dB) */ - for (var integer i := 0; i < 16; i := i + 1) { - /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (15 - i); - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; - - /* Update the old / actual link quality */ - lqual_old := lqual; - lqual := i; - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - log("Sending DATA.ind with link quality (dB): ", lqual); - f_tx_rlcmac_ul_block(ul_data, lqual * 10); - - /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); - - log("Rx Packet Uplink ACK / NACK with Channel Coding Command: ", - dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd); - - /* Match the received Channel Coding Command. Since we are increasing - * the link quality value on each iteration and not decreasing, there - * is no need to check the both old and current link quality values. */ - var template ChCodingCommand ch_coding; - select (lqual_old) { - case (CS1_lqual_dB_range) { ch_coding := CH_CODING_CS1; } - case (CS2_lqual_dB_range) { ch_coding := CH_CODING_CS2; } - case (CS3_lqual_dB_range) { ch_coding := CH_CODING_CS3; } - case (CS4_lqual_dB_range) { ch_coding := CH_CODING_CS4; } - } - - if (not match(dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd, ch_coding)) { - setverdict(fail, "Channel Coding does not match our expectations: ", ch_coding); - } else { - setverdict(pass); - } - } -} - -/* Test the max UL CS set by VTY works fine */ -testcase TC_cs_initial_ul() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var RlcmacDlBlock dl_block; - var boolean ok; - var integer lqual_cb; - var ChCodingCommand last_ch_coding; - var uint32_t unused_fn; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - /* Set initial UL CS to 3 */ - g_cs_initial_ul := 3; - f_pcuvty_set_allowed_cs_mcs(); - f_pcuvty_set_link_quality_ranges(); - - /* Take lqual (dB->cB) so that we stay in that CS */ - lqual_cb := g_cs_lqual_ranges[2].low * 10; - - /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - mtc.stop; - } - - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; - } - - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := ul_tbf_ass.dynamic.tfi_assignment, - cv := 3, /* 8 UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* TODO: what should be here? */ - blocks := { /* To be generated in loop */ }); - - /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ - ul_data.data.tlli := '00000001'O; - - /* 3 UL blocks, check we are in same initial CS: */ - for (var integer i := 0; i < 3; i := i + 1) { - /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (7 - i); - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - f_tx_rlcmac_ul_block(ul_data, lqual_cb); - - /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); - last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; - } - - if (last_ch_coding != CH_CODING_CS3) { - setverdict(fail, "Channel Coding does not match our expectations (CS-3): ", last_ch_coding); - mtc.stop; - } - - setverdict(pass); - - /* Remaining UL blocks are used to make sure regardless of initial - /* lqual, we can go lower at any time */ - - /* 5 UL blocks, check we are in same initial CS: */ - for (var integer i := 3; i < 8; i := i + 1) { - /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (7 - i); - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - f_tx_rlcmac_ul_block(ul_data, 0); /* 0 dB, make sure we downgrade CS */ - - /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); - - last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; - } - - if (last_ch_coding != CH_CODING_CS1) { - setverdict(fail, "Channel Coding does not match our expectations (CS-1): ", last_ch_coding); - } else { - setverdict(pass); - } -} - -/* Test the max UL CS set by VTY works fine */ -testcase TC_cs_max_ul() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var RlcmacDlBlock dl_block; - var boolean ok; - var ChCodingCommand last_ch_coding; - var uint32_t unused_fn; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - /* Set maximum allowed UL CS to 3 */ - g_cs_max_ul := 3; - f_pcuvty_set_allowed_cs_mcs(); - f_pcuvty_set_link_quality_ranges(); - - /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - mtc.stop; - } - - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; - } - - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := ul_tbf_ass.dynamic.tfi_assignment, - cv := 15, /* 16 UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* TODO: what should be here? */ - blocks := { /* To be generated in loop */ }); - - /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ - ul_data.data.tlli := '00000001'O; - - /* 16 UL blocks */ - for (var integer i := 0; i < 16; i := i + 1) { - /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (15 - i); - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - f_tx_rlcmac_ul_block(ul_data, 40*10); /* 40 dB */ - - /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); - - last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; - } - - if (last_ch_coding != CH_CODING_CS3) { - setverdict(fail, "Channel Coding does not match our expectations (CS-3): ", last_ch_coding); - } else { - setverdict(pass); - } -} - -/* Verify PCU drops TBF after some time of inactivity. */ -testcase TC_t3169() runs on RAW_PCU_Test_CT { - var PCUIF_info_ind info_ind; - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var RlcmacDlBlock dl_block; - var PCUIF_Message pcu_msg; - var octetstring data; - var boolean ok; - var uint32_t unused_fn; - var OCT4 tlli := '00000001'O; - - /* Initialize NS/BSSGP side */ - f_init_bssgp(); - - info_ind := valueof(ts_PCUIF_INFO_default); - /* Set timer to 1 sec (default 5) to speedup test: */ - info_ind.t3169 := 1; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename(), info_ind); - - /* Establish BSSGP connection to the PCU */ - f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); - - /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - mtc.stop; - } - - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; - } - - /* Send one UL block and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); - /* UL block should be received in SGSN */ - BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); - - /* Wait until T3169 fires (plus 1 extra sec to make sure) */ - f_sleep(int2float(info_ind.t3169) + 1.0); - - /* Send an UL block once again, the TBF should be gone by now so no ACK */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); - f_rx_rlcmac_dl_block_exp_dummy(dl_block); -} - -/* Verify that a Downlink TBF can be assigned using PACCH shortly after the - * release of prev DL TBF due to MS staying in PDCH for a while (T3192, in PCU - * T3193) after DL TBF release */ -testcase TC_t3193() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketDlAssign dl_tbf_ass; - var RlcmacDlBlock dl_block; - var octetstring data := f_rnd_octstring(10); - var boolean ok; - var uint32_t sched_fn; - var OCT4 tlli := '00000001'O; - var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); - - /* 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('FFFFFFFF'O, tlli); - - /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; - } - /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ - f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); - - /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); - /* we are done with the DL-TBF here so far, let's clean up our local state: */ - ack_nack_desc := valueof(t_AckNackDescription_init) - - /* Now that final DL block is ACKED and TBF is released, T3193 in PCU - (T3192 in MS) was started and until it fires the MS will be abailable - on PDCH in case new data arrives from SGSN. Let's verify it: */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_rx_rlcmac_dl_block_exp_pkt_ass(dl_block, sched_fn); - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); - - /* Now that we confirmed the new assignment in the dl-tbf, lets receive the data and ack it */ - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); -} - -/* Test scenario where MS wants to send some data on PDCH against SGSN and it is - * answered, so TBFs for uplink and later for downlink are created. - */ -private function f_TC_mo_ping_pong(template (omit) MSRadioAccessCapabilityV ms_racap := omit, template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var PacketDlAssign dl_tbf_ass; - var RlcmacDlBlock dl_block; - var PCUIF_Message pcu_msg; - var octetstring data := f_rnd_octstring(10); - var boolean ok; - var uint32_t sched_fn; - var OCT4 tlli := '00000001'O; - var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); - - /* 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('FFFFFFFF'O, tlli); - - /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - mtc.stop; - } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; - } - - if (not istemplatekind(ms_racap, "omit")) { - /* Send PACKET RESOURCE REQUEST to upgrade to EGPRS - * (see 3GPP TS 04.60 "7.1.3.1 Initiation of the Packet resource request procedure") - */ - f_tx_rlcmac_ul_block(ts_RLC_UL_CTRL_ACK(valueof(ts_RlcMacUlCtrl_PKT_RES_REQ(tlli, ms_racap))), 0); - f_rx_rlcmac_dl_block_exp_pkt_ul_ass(dl_block, sched_fn); - if (dl_block.ctrl.payload.u.ul_assignment.identity.tlli.tlli != tlli) { - setverdict(fail, "Wrong TLLI ", dl_block.ctrl.payload.u.ul_assignment.identity.tlli, " received vs exp ", tlli); - mtc.stop; - } - } - - /* Send one UL block and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); - /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); - - /* UL block should be received in SGSN */ - BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); - - /* Now SGSN sends some DL data, PCU will page on CCCH (PCH) */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; - } - - /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ - f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0, exp_cs_mcs); - - /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); -} - -/* Test scenario where MS wants to send some data on PDCH against SGSN and it is - * answered, so TBFs for uplink and later for downlink are created. - */ -testcase TC_mo_ping_pong() runs on RAW_PCU_Test_CT { - var CodingScheme exp_cs_mcs := CS_1; - f_TC_mo_ping_pong(omit, exp_cs_mcs); -} - - -testcase TC_mo_ping_pong_with_ul_racap() runs on RAW_PCU_Test_CT { - var MultislotCap_GPRS mscap_gprs := { - gprsmultislotclass := '00011'B, - gprsextendeddynalloccap := '0'B - }; - var MSRadioAccessCapabilityV ms_racap := { valueof(ts_RaCapRec('0001'B /* E-GSM */, mscap_gprs, omit)) }; - var CodingScheme exp_cs_mcs := CS_2; - - f_TC_mo_ping_pong(ms_racap, exp_cs_mcs); -} - -/* Test scenario where SGSN wants to send some data against MS and it is - * answered by the MS on PDCH, so TBFs for downlink and later for uplink are created. - */ -private function f_TC_mt_ping_pong(template (omit) MSRadioAccessCapabilityV_BSSGP ms_racap := omit, template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var PacketDlAssign dl_tbf_ass; - var RlcmacDlBlock dl_block; - var PCUIF_Message pcu_msg; - var octetstring data := f_rnd_octstring(10); - var boolean ok; - var uint32_t sched_fn; - var OCT4 tlli := '00000001'O; - var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); - - /* 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('FFFFFFFF'O, tlli); - - /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data, ms_racap)); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; - } - - /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ - f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0, exp_cs_mcs); - - /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); - - /* Now MS wants to answer the DL data, Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - mtc.stop; - } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; - } - - /* Send one UL block and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); - /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); - - /* UL block should be received in SGSN */ - BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); -} - -testcase TC_mt_ping_pong() runs on RAW_PCU_Test_CT { - var CodingScheme exp_cs_mcs := CS_1; - f_TC_mt_ping_pong(omit, exp_cs_mcs); -} - -/* TC_mt_ping_pong, but DL-UNITDATA contains RA Access capability with (M)CS -/* information about the MS */ -testcase TC_mt_ping_pong_with_dl_racap() runs on RAW_PCU_Test_CT { - var MultislotCap_GPRS_BSSGP mscap_gprs := { - gprsmultislotclass := '00011'B, - gprsextendeddynalloccap := '0'B - } ; - var MSRadioAccessCapabilityV_BSSGP ms_racap := { valueof(ts_RaCapRec_BSSGP('0001'B /* E-GSM */, mscap_gprs, omit)) }; - var CodingScheme exp_cs_mcs := CS_2; - f_TC_mt_ping_pong(ms_racap, exp_cs_mcs); -} - -/* Verify that if PCU doesn't get an ACK for first DL block after IMM ASS, it - * will retry by retransmitting both the IMM ASS + DL block after poll (ack) - * timeout occurs (specified by sent RRBP on DL block). */ -testcase TC_imm_ass_dl_block_retrans() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketDlAssign dl_tbf_ass; - var RlcmacDlBlock dl_block; - var octetstring data := f_rnd_octstring(10); - var boolean ok; - var uint32_t sched_fn; - var OCT4 tlli := '00000001'O; - var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); - - /* 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('FFFFFFFF'O, tlli); - - /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; - } - - /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ - f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); - - /* Now we don't ack the dl block (emulate MS failed receiveing IMM ASS - * or GPRS DL, or DL ACK was lost for some reason). As a result, PCU - * should retrigger IMM ASS + GPRS DL procedure after poll timeout. */ - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; - } - /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ - f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); - - /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); -} - -private function f_pkt_paging_match_imsi(in PacketPagingReq req, hexstring imsi) { - var MobileIdentityLV_Paging mi_lv := req.repeated_pageinfo.cs.mobile_identity; - var MobileIdentityV mi := dec_MobileIdentityV(mi_lv.mobile_id); - - if (mi_lv.len != 8) { /* 8 octets: type of ID (3 bits) + even/odd flag (1 bit) + 15 BCD-encoded digits (60 bits) */ - setverdict(fail, "Mobile Identity length mismatch: ", - "expected: 8, got: ", mi_lv.len); - mtc.stop; - } - - /* Make sure MI contains IMSI before referencing it */ - if (mi.typeOfIdentity != '001'B) { - setverdict(fail, "Mobile Identity must be of type IMSI ('001'B), ", - "got: ", mi.typeOfIdentity); - mtc.stop; - } else if (mi.oddEvenInd_identity.imsi.digits != imsi) { - setverdict(fail, "Mobile Identity contains unexpected IMSI, ", - "expected: ", imsi, " got: ", mi.oddEvenInd_identity.imsi.digits); - mtc.stop; - } -} - -private function f_pkt_paging_match_tmsi(in PacketPagingReq req, template GsmTmsi tmsi) { - if (not match(req.repeated_pageinfo.cs.tmsi, tmsi)) { - setverdict(fail, "Mobile Identity (TMSI/P-TMSI) mismatch: ", - "expected: ", tmsi, "got: ", req.repeated_pageinfo.cs.tmsi); - mtc.stop; - } -} - -/* Test CS paging over the BTS<->PCU socket. - * When a (class B or C, not A) MS has an active TBF (or is on the PDCH), the MS can not react on CS paging over CCCH. - * Paging should be send on the PACCH. - * - * 1. Send a Paging Request over PCU socket. - * 2. Send a Ready-To-Send message over PCU socket - * 3. Expect a Paging Frame - */ -testcase TC_paging_cs_from_bts() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var RlcmacDlBlock dl_block; - var boolean ok; - var OCT4 tlli := '00000001'O; - var MobileIdentityLV mi; - var octetstring mi_enc_lv; - var hexstring imsi := f_gen_imsi(42); - - /* 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('FFFFFFFF'O, tlli); - - /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - mtc.stop; - } - - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; - } - - - /* build mobile Identity */ - mi := valueof(ts_MI_IMSI_LV(imsi)); - mi_enc_lv := enc_MobileIdentityLV(mi); - /* Send paging request */ - BTS.send(ts_PCUIF_PAG_REQ(bts_nr := 0, id_lv := mi_enc_lv, chan_needed := 0, - sapi :=PCU_IF_SAPI_PDTCH)); - - /* Receive it on BTS side towards MS */ - f_rx_rlcmac_dl_block_exp_pkt_pag_req(dl_block); - - /* Make sure that Packet Paging Request contains the same IMSI */ - f_pkt_paging_match_imsi(dl_block.ctrl.payload.u.paging, imsi); - - setverdict(pass); -} - -/* Test CS paging over Gb (SGSN->PCU->BTS[PDCH]). - */ -private function f_tc_paging_cs_from_sgsn(Nsvci bvci, boolean use_ptmsi := false) -runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var RlcmacDlBlock dl_block; - var boolean ok; - var OCT4 tlli := '00000001'O; - var hexstring imsi := f_gen_imsi(42); - var GsmTmsi tmsi; - - /* 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('FFFFFFFF'O, tlli); - - /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - mtc.stop; - } - - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; - } - - /* Send paging request with or without TMSI */ - if (use_ptmsi) { - tmsi := oct2int(f_rnd_octstring(4)); /* Random P-TMSI */ - BSSGP[0].send(ts_BSSGP_CS_PAGING_PTMSI(bvci, imsi, tmsi)); - } else { - BSSGP[0].send(ts_BSSGP_CS_PAGING_IMSI(bvci, imsi)); - } - - /* Receive it on BTS side towards MS */ - f_rx_rlcmac_dl_block_exp_pkt_pag_req(dl_block); - - /* Make sure that Packet Paging Request contains the same P-TMSI/IMSI */ - if (use_ptmsi) { - f_pkt_paging_match_tmsi(dl_block.ctrl.payload.u.paging, tmsi); - } else { - f_pkt_paging_match_imsi(dl_block.ctrl.payload.u.paging, imsi); - } - - setverdict(pass); -} - -testcase TC_paging_cs_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { - f_tc_paging_cs_from_sgsn(0, true); -} - -testcase TC_paging_cs_from_sgsn_sign() runs on RAW_PCU_Test_CT { - f_tc_paging_cs_from_sgsn(0); -} - -testcase TC_paging_cs_from_sgsn_ptp() runs on RAW_PCU_Test_CT { - f_tc_paging_cs_from_sgsn(mp_gb_cfg.bvci); -} - -/* Test PS paging over Gb (SGSN->PCU->BTS[CCCH]). - */ -private function f_tc_paging_ps_from_sgsn(Nsvci bvci, boolean use_ptmsi := false) -runs on RAW_PCU_Test_CT { - var OCT4 tlli := '00000001'O; - var integer imsi_suff_tx := 423; - var hexstring imsi := f_gen_imsi(imsi_suff_tx); - - /* 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('FFFFFFFF'O, tlli); - - /* Send BSSGP PAGING-PS (with or without TMSI), wait for RR Paging Request Type 1. - * Make sure that both paging group (IMSI suffix) and Mobile Identity match. */ - if (use_ptmsi) { - var OCT4 tmsi := f_rnd_octstring(4); /* Random P-TMSI */ - BSSGP[0].send(ts_BSSGP_PS_PAGING_PTMSI(bvci, imsi, oct2int(tmsi))); - f_pcuif_rx_pch_pag_req1(t_MI_TMSI(tmsi), imsi_suff_tx); - } else { - BSSGP[0].send(ts_BSSGP_PS_PAGING_IMSI(bvci, imsi)); - f_pcuif_rx_pch_pag_req1(tr_MI_IMSI(imsi), imsi_suff_tx); - } - - setverdict(pass); -} - -testcase TC_paging_ps_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { - f_tc_paging_ps_from_sgsn(0, true); -} - -testcase TC_paging_ps_from_sgsn_sign() runs on RAW_PCU_Test_CT { - f_tc_paging_ps_from_sgsn(0); -} - -testcase TC_paging_ps_from_sgsn_ptp() runs on RAW_PCU_Test_CT { - f_tc_paging_ps_from_sgsn(mp_gb_cfg.bvci); -} - -private function f_TC_egprs_pkt_chan_req(in EGPRSPktChRequest req, - template GsmRrMessage t_imm_ass := ?, - PCUIF_BurstType bt := BURST_TYPE_1) -runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_msg; - var uint16_t ra11; - var boolean ok; - - ra11 := enc_EGPRSPktChRequest2uint(req); - log("Sending EGPRS Packet Channel Request (", ra11, "): ", req); - - ok := f_establish_tbf(rr_msg, ra := ra11, is_11bit := 1, burst_type := bt); - if (not ok) { - setverdict(fail, "Failed to establush an Uplink TBF"); - mtc.stop; - } - - if (not match(rr_msg, t_imm_ass)) { - setverdict(fail, "Immediate Assignment does not match"); - mtc.stop; - } - - setverdict(pass); -} - -testcase TC_egprs_pkt_chan_req_signalling() runs on RAW_PCU_Test_CT { - var template GsmRrMessage imm_ass; - var template IaRestOctets rest; - var template EgprsUlAss ul_ass; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - var EGPRSPktChRequest req := { - /* NOTE: other fields are set in the loop */ - signalling := { tag := '110011'B } - }; - - for (var integer i := 0; i < 6; i := i + 1) { - var BIT5 ext_ra := int2bit(f_rnd_int(32), 5); - req.signalling.random_bits := ext_ra; - - /* For signalling, do we expect Multiblock UL TBF Assignment? */ - ul_ass := tr_EgprsUlAssMultiblock(ext_ra := ext_ra); - rest := tr_IaRestOctets_EGPRSULAss(ul_ass); - imm_ass := tr_IMM_TBF_ASS(dl := false, rest := rest); - - f_TC_egprs_pkt_chan_req(req, imm_ass); - } -} - -testcase TC_egprs_pkt_chan_req_one_phase() runs on RAW_PCU_Test_CT { - var template GsmRrMessage imm_ass; - var template IaRestOctets rest; - var template EgprsUlAss ul_ass; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - var EGPRSPktChRequest req := { - /* NOTE: other fields are set in the loop */ - one_phase := { tag := '0'B } - }; - - for (var integer i := 0; i < 6; i := i + 1) { - var BIT5 ext_ra := int2bit(f_rnd_int(32), 5); - var BIT5 mslot_class := int2bit(f_rnd_int(32), 5); - var BIT2 priority := substr(ext_ra, 0, 2); - var BIT3 rand := substr(ext_ra, 2, 3); - - req.one_phase.multislot_class := mslot_class; - req.one_phase.priority := priority; - req.one_phase.random_bits := rand; - - /* For one phase access, do we expect Dynamic UL TBF Assignment? */ - ul_ass := tr_EgprsUlAssDynamic(ext_ra := ext_ra); - rest := tr_IaRestOctets_EGPRSULAss(ul_ass); - imm_ass := tr_IMM_TBF_ASS(dl := false, rest := rest); - - f_TC_egprs_pkt_chan_req(req, imm_ass); - } -} - -testcase TC_egprs_pkt_chan_req_two_phase() runs on RAW_PCU_Test_CT { - var template GsmRrMessage imm_ass; - var template IaRestOctets rest; - var template EgprsUlAss ul_ass; - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - var EGPRSPktChRequest req := { - /* NOTE: other fields are set in the loop */ - two_phase := { tag := '110000'B } - }; - - for (var integer i := 0; i < 6; i := i + 1) { - var BIT5 ext_ra := int2bit(f_rnd_int(32), 5); - var BIT2 priority := substr(ext_ra, 0, 2); - var BIT3 rand := substr(ext_ra, 2, 3); - - req.two_phase.priority := priority; - req.two_phase.random_bits := rand; - - /* For two phase access, do we expect Multiblock UL TBF Assignment? */ - ul_ass := tr_EgprsUlAssMultiblock(ext_ra := ext_ra); - rest := tr_IaRestOctets_EGPRSULAss(ul_ass); - imm_ass := tr_IMM_TBF_ASS(dl := false, rest := rest); - - f_TC_egprs_pkt_chan_req(req, imm_ass); - } -} - -control { - execute( TC_pcuif_suspend() ); - execute( TC_ta_ptcch_idle() ); - execute( TC_ta_rach_imm_ass() ); - execute( TC_ta_idle_dl_tbf_ass() ); - execute( TC_ta_ptcch_ul_multi_tbf() ); - execute( TC_cs_lqual_ul_tbf() ); - execute( TC_cs_initial_ul() ); - execute( TC_cs_max_ul() ); - execute( TC_t3169() ); - execute( TC_t3193() ); - execute( TC_mo_ping_pong() ); - execute( TC_mo_ping_pong_with_ul_racap() ); - execute( TC_mt_ping_pong() ); - execute( TC_mt_ping_pong_with_dl_racap() ); - execute( TC_imm_ass_dl_block_retrans() ); - execute( TC_paging_cs_from_bts() ); - execute( TC_paging_cs_from_sgsn_sign_ptmsi() ); - execute( TC_paging_cs_from_sgsn_sign() ); - execute( TC_paging_cs_from_sgsn_ptp() ); - execute( TC_paging_ps_from_sgsn_sign_ptmsi() ); - execute( TC_paging_ps_from_sgsn_sign() ); - execute( TC_paging_ps_from_sgsn_ptp() ); - - /* EGPRS specific test cases */ - execute( TC_egprs_pkt_chan_req_signalling() ); - execute( TC_egprs_pkt_chan_req_one_phase() ); - execute( TC_egprs_pkt_chan_req_two_phase() ); -} - - - - - - -} diff --git a/pcu/PCU_Tests_SNS.cfg b/pcu/PCU_Tests_SNS.cfg index 0368f36..022f91c 100644 --- a/pcu/PCU_Tests_SNS.cfg +++ b/pcu/PCU_Tests_SNS.cfg @@ -21,4 +21,4 @@ [MAIN_CONTROLLER] [EXECUTE] -PCU_Tests_RAW_SNS.control +PCU_Tests_SNS.control diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_SNS.ttcn similarity index 99% rename from pcu/PCU_Tests_RAW_SNS.ttcn rename to pcu/PCU_Tests_SNS.ttcn index 1690ad4..fc98979 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_SNS.ttcn @@ -1,4 +1,4 @@ -module PCU_Tests_RAW_SNS { +module PCU_Tests_SNS { /* Osmocom PCU test suite for IP Sub-Network-Service (SNS) in TTCN-3 * (C) 2018-2019 Harald Welte @@ -11,7 +11,7 @@ */ import from Osmocom_Types all; -import from PCU_Tests_RAW_NS all; +import from PCU_Tests_NS all; import from SGSN_Components all; import from Osmocom_Gb_Types all; import from NS_CodecPort all; diff --git a/pcu/README.md b/pcu/README.md index a711410..a2e439a 100644 --- a/pcu/README.md +++ b/pcu/README.md @@ -1,4 +1,4 @@ -# PCU_Tests_RAW.ttcn +# PCU_Tests.ttcn * external interfaces * Gb (emulates SGSN side NS/BSSGP) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17975 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: Iacaddb56e41012ba58ef6d1b9e79d2c012259bed Gerrit-Change-Number: 17975 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 Thu Apr 30 11:12:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 11:12:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Get rid of PCU_Tests.ttcn tests In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 ) Change subject: pcu: Get rid of PCU_Tests.ttcn tests ...................................................................... pcu: Get rid of PCU_Tests.ttcn tests Delete PCU_Tests.ttcn along with the configs, since they are broken and we are only adding new tests to PCU_Tests_RAW.ttcn. They are broken because it's not possible to run multiple tests after another. Some components which used to be in PCU_Tests.ttcn and which were used by other PCU_Tests*.ttcn files have been moved to SGSN_Components.ttcn Selftests have been moved to PCU_selftest.ttcn. Small placeholder for module PCU_Tests is left in PCU_Tests.ttcn to still be able to compile the binary as "PCU_Tests" and avoid changing that part of docker setup. We'll eventually rename RAW tests soon anyway. Change-Id: Ie862a1525e9f4f9a3f2427ac3898810e3d044d2f --- M pcu/PCU_Tests.cfg M pcu/PCU_Tests.default M pcu/PCU_Tests.ttcn M pcu/PCU_Tests_RAW.ttcn M pcu/PCU_Tests_RAW_NS.ttcn M pcu/PCU_Tests_RAW_SNS.ttcn M pcu/PCU_Tests_SNS.cfg A pcu/PCU_selftest.ttcn M pcu/README.md A pcu/SGSN_Components.ttcn M pcu/gen_links.sh D pcu/osmo-bsc.cfg D pcu/osmo-bts.cfg M pcu/regen_makefile.sh 14 files changed, 380 insertions(+), 990 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/pcu/PCU_Tests.cfg b/pcu/PCU_Tests.cfg index 0424e4f..692ebbd 100644 --- a/pcu/PCU_Tests.cfg +++ b/pcu/PCU_Tests.cfg @@ -7,7 +7,7 @@ [LOGGING] [MODULE_PARAMETERS] -PCU_Tests.mp_nsconfig := { +SGSN_Components.mp_nsconfig := { local_ip := "127.0.0.1", local_udp_port := 23000, remote_ip := "127.0.0.1", diff --git a/pcu/PCU_Tests.default b/pcu/PCU_Tests.default index 537744f..9d9e966 100644 --- a/pcu/PCU_Tests.default +++ b/pcu/PCU_Tests.default @@ -7,7 +7,7 @@ ConsoleMask := ERROR | WARNING | TESTCASE | TIMEROP_START | DEBUG_ENCDEC [MODULE_PARAMETERS] -PCU_Tests.mp_gb_cfg := { +SGSN_Components.mp_gb_cfg := { nsei := 1234, bvci := 1234, cell_id := { diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 7ef3d0a..43a6178 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1,706 +1,2 @@ module PCU_Tests { - -/* Osmocom PCU test suite in TTCN-3 - * (C) 2018-2019 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 - */ - -import from General_Types all; -import from Osmocom_Types all; -import from GSM_Types all; -import from GSM_RR_Types all; -import from Osmocom_Gb_Types all; -import from BSSGP_Types all; -import from BSSGP_Emulation all; -import from NS_Types all; -import from NS_Emulation all; -import from LLC_Types all; -import from LLC_Templates all; -import from RLCMAC_Types all; -import from RLCMAC_CSN1_Types all; -import from LAPDm_RAW_PT all; -import from GPRS_Context all; -import from GPRS_TBF all; -import from L1CTL_PortType all; -import from MobileL3_Types all; -import from MobileL3_CommonIE_Types all; -import from L3_Templates all; - -modulepar { - BssgpConfig mp_gb_cfg := { - nsei := 1234, - bvci := 1234, - cell_id := { - ra_id := { - lai := { - mcc_mnc := '262F42'H, lac := 13135 - }, - rac := 0 - }, - cell_id := 20960 - }, - sgsn_role := true, - depth := BSSGP_DECODE_DEPTH_BSSGP - }; - - NSConfiguration mp_nsconfig := { - local_udp_port := 23000, - local_ip := "127.0.0.1", - remote_udp_port := 21000, - remote_ip := "127.0.0.1", - nsvci := 0, - nsei := 2342, - role_sgsn := true, - handle_sns := true - }; } - -type component dummy_CT extends BSSGP_Client_CT { - var lapdm_CT lapdm_component; - port LAPDm_PT L1; - - var NS_CT ns_component; - var BSSGP_CT bssgp_component; - - var MmContext g_mmctx := { - tlli := 'FFFFFFFF'O, - n_u := 0 - }; - - var boolean g_initialized := false; -} - -function f_init() runs on dummy_CT { - if (g_initialized == true) { - return; - } - g_initialized := true; - /* create a new NS component */ - ns_component := NS_CT.create; - bssgp_component := BSSGP_CT.create; - /* connect our BSSGP port to the BSSGP Emulation */ - connect(self:BSSGP[0], bssgp_component:BSSGP_SP); - connect(self:BSSGP_SIG[0], bssgp_component:BSSGP_SP_SIG); - connect(self:BSSGP_PROC[0], bssgp_component:BSSGP_PROC); - /* connect lower-end of BSSGP with BSSGP_CODEC_PORT (maps to NS_PT*/ - connect(bssgp_component:BSCP, ns_component:NS_SP); - /* connect lower-end of NS emulation to NS_CODEC_PORT (on top of IPl4) */ - map(ns_component:NSCP, system:NS_CODEC_PORT); - ns_component.start(NSStart(mp_nsconfig)); - bssgp_component.start(BssgpStart(mp_gb_cfg)); - - lapdm_component := lapdm_CT.create; - connect(self:L1, lapdm_component:LAPDM_SP); - map(lapdm_component:L1CTL, system:L1CTL); - lapdm_component.start(LAPDmStart()); - - f_bssgp_client_register(g_mmctx.imsi, g_mmctx.tlli, mp_gb_cfg.cell_id); - f_bssgp_establish(); -} - -function f_exit() runs on dummy_CT { - lapdm_component.stop; - ns_component.stop; - bssgp_component.stop; -} - -function f_bssgp_dec_and_log(in octetstring inp) { - log("BSSGP Input: ", inp); - var PDU_BSSGP dec := dec_PDU_BSSGP(inp); - log("BSSGP Decoded: ", dec); -} - -testcase TC_selftest_bssgp() runs on dummy_CT { - const octetstring c_bvc_reset_pcu := '2204820000078108088832f44000c80051e0'O; - const octetstring c_bvc_reset_q := '2204820000078100'O; - const octetstring c_status_pcu := '4107810515882204820000078103'O; - const octetstring c_reset_ack_q := '2304820000'O; - const octetstring c_reset_ack_pcu := '23048200c4'O; - const octetstring c_unblock_pcu := '24048200c4'O; - const octetstring c_unblock_ack_q := '25048200c4'O; - const octetstring c_fc_bvc_pcu := '261e8101058200fa038200c8018200fa1c8200c806820000'O; - const octetstring c_fc_bvc_ack_q := '271e8101'O; - const octetstring c_gmm_mo_att_req := '01bb146ddd000004088832f44000c80051e000800e003b01c001080103e5e000110a0005f4fb146ddd32f44000c8001d1b53432b37159ef9090070000dd9c6321200e00019b32c642401c0002017057bf0ec'O; - const octetstring c_gmm_mt_ac_req := '00bb146ddd0050001682ffff0a8204030e9c41c001081200102198c72477ea104895e8b959acc58b108182f4d045'O; - const octetstring c_gmm_mo_ac_resp := '01bb146ddd000004088832f44000c80051e000800e000e01c00508130122fa361f5fdd623d'O; - const octetstring c_gmm_mt_att_acc := '00bb146ddd0050001682ffff0a8204030e9841c005080201340432f44000c8001805f4fb146ddd0967d0'O; - const octetstring c_gmm_mt_det_req := '00bb146ddd0050001682ffff0a8204030e8941c00908050215f0b6'O; - const octetstring c_gmm_mo_att_cpl := '01fb146ddd000004088832f44000c80051e000800e000801c009080339d7bc'O; - - f_bssgp_dec_and_log(c_bvc_reset_pcu); - f_bssgp_dec_and_log(c_bvc_reset_q); - f_bssgp_dec_and_log(c_status_pcu); - f_bssgp_dec_and_log(c_reset_ack_q); - f_bssgp_dec_and_log(c_reset_ack_pcu); - f_bssgp_dec_and_log(c_unblock_pcu); - f_bssgp_dec_and_log(c_unblock_ack_q); - f_bssgp_dec_and_log(c_fc_bvc_pcu); - f_bssgp_dec_and_log(c_fc_bvc_ack_q); - f_bssgp_dec_and_log(c_gmm_mo_att_req); - f_bssgp_dec_and_log(c_gmm_mt_ac_req); - f_bssgp_dec_and_log(c_gmm_mo_ac_resp); - f_bssgp_dec_and_log(c_gmm_mt_att_acc); - f_bssgp_dec_and_log(c_gmm_mt_det_req); - f_bssgp_dec_and_log(c_gmm_mo_att_cpl); - - log(ts_BSSGP_PS_PAGING_IMSI(196, '262420123456789'H)); -} - -function f_ns_assert_prepr(in octetstring a, in octetstring b) { - log("NS Input: ", a); - log("NS Expected: ", b); - - if (a != b) { - setverdict(fail, "Values mismatch", a, b); - mtc.stop; - } else { - setverdict(pass); - } -} - -function f_ns_dec_and_log(in octetstring inp) { - log("NS Input: ", inp); - var PDU_NS dec := dec_PDU_NS(inp); - log("NS Decoded: ", dec); -} - -testcase TC_selftest_ns() runs on dummy_CT { - const octetstring c_ns_reset_pcu := '000000c4271e813d'O; - - /* single byte length to two byte length */ - f_ns_assert_prepr('04058101'O, '0405000101'O); - f_ns_assert_prepr('040589000102030405060708'O, '04050009000102030405060708'O); - /* two byte length to two byte length */ - f_ns_assert_prepr('0405000101'O, '0405000101'O); - /* special case: NS-UNITDATA */ - f_ns_assert_prepr('00aabbccddeeffaa29822342'O, '00aabbccddeeffaa2900022342'O); - /* multiple TLVs */ - f_ns_assert_prepr('234281aa4382bbbb'O, '23420001aa430002bbbb'O); - /* zero-length */ - f_ns_assert_prepr('230080'O, '23000000'O); - - f_ns_dec_and_log(c_ns_reset_pcu); -} - -const octetstring gmm_auth_req := '081200102198c72477ea104895e8b959acc58b108182'O; - -/* Wrap downlink GMM into LLC, encode + send it via BSSGP to PCU */ -function tx_gmm(BIT1 c_r, in octetstring gmm_pdu, BIT4 sapi := c_LLC_SAPI_LLGMM) runs on dummy_CT { - var PDU_LLC llc; - - //log("GMM Tx: ", dec_PDU_L3_SGSN_MS(gmm_pdu)); - - log(c_r, g_mmctx.n_u, gmm_pdu, sapi); - llc := valueof(ts_LLC_UI(gmm_pdu, sapi, c_r, g_mmctx.n_u)); - log(llc); - g_mmctx.n_u := g_mmctx.n_u + 1; - - log(ts_BSSGP_DL_UD(g_mmctx.tlli, enc_PDU_LLC(llc))); - - BSSGP[0].send(ts_BSSGP_DL_UD(g_mmctx.tlli, enc_PDU_LLC(llc))); -} - -/* Establish BSSGP connection to PCU */ -function f_bssgp_establish() runs on BSSGP_Client_CT { - timer T:= 10.0; - - T.start - alt { - [] BSSGP[0].receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { } - [] BSSGP[0].receive { repeat; } - [] T.timeout { - setverdict(fail, "Timeout establishing BSSGP connection"); - mtc.stop; - } - } - T.stop - log("BSSGP successfully initialized"); -} - -function f_wait_paging_req_type1(template (present) MobileIdentityV mi) runs on dummy_CT { - var LAPDm_ph_data ph_data; - timer T := 5.0; - - T.start; - alt { - [] L1.receive(LAPDm_ph_data:{sacch:=?,sapi:=0,lapdm:={bbis:=?}}) -> value ph_data { - var octetstring payload := substr(ph_data.lapdm.bbis.payload, 1, lengthof(ph_data.lapdm.bbis.payload) - 1); - var PDU_ML3_NW_MS pdu; - - if (dec_PDU_ML3_NW_MS_backtrack(payload, pdu) != 0) { - repeat; - } - - if (not ischosen(pdu.msgs.rrm)) { - repeat; - } - - if (match(pdu, tr_PAGING_REQ1(tr_MI_LV(mi)))) { - setverdict(pass); - } else { - repeat; - } - } - [] L1.receive { repeat; } - [] T.timeout { setverdict(fail); } - } -} - -/* Send PS-PAGING via BSSGP to PCU, expect it to show up on L1/Um */ -testcase TC_paging() runs on dummy_CT { - var hexstring tmsi_hex := '01234567'H; - var GsmTmsi tmsi := hex2int(tmsi_hex); - - g_mmctx.imsi := '262420123456789'H; - g_mmctx.tlli := f_random_tlli(); - f_init(); - - var BCCH_tune_req tune_req := { { false, 871 }, true }; - L1.send(tune_req); - /* FIXME: wait for confirm */ - - /* Send paging on signalling BVCI 0 since osmo-pcu does not support paging on PTP yet. */ - /* - TODO: Paging by IMSI does not work yet because osmo-pcu does not copy IMSI into paging requests. - BSSGP_SIG[0].send(ts_BSSGP_PS_PAGING_IMSI(0, g_mmctx.imsi)); - f_wait_paging_req_type1(tr_MI_IMSI(g_mmctx.imsi)); - */ - - /* Page by TMSI */ - BSSGP_SIG[0].send(ts_BSSGP_PS_PAGING_PTMSI(0, g_mmctx.imsi, tmsi)); - f_wait_paging_req_type1(t_MI_TMSI(hex2oct(tmsi_hex))); -} - -/* Establish an UL TBF: Tune to ARFCN, send RACH, receive AGCH, enable TBF Rx */ -function f_establish_ul_tbf() runs on dummy_CT { - timer T := 5.0; - var BCCH_tune_req tune_req := { { false, 871 }, true }; - L1.send(tune_req); - /* FIXME: wait for confirm */ - - var TBF_UL_establish_req est_req := { tbf_nr := 0, ra := hex2int('7B'H) }; - L1.send(est_req); - T.start; - /* FIXME: wait for confirm */ - alt { - [] L1.receive(TBF_UL_establish_res:?) {} - [] L1.receive { repeat; } - [] T.timeout { - setverdict(fail, "Timeout establishing UL TBF"); - mtc.stop; - } - } - T.stop; -} - -/* compute a random TLLI; FIXME: what about TLLI prefix / local/foreign/...? */ -function f_random_tlli() return GprsTlli { - var GprsTlli tlli := f_rnd_octstring(4); - return tlli; -} - -/* Compute the frame number of the uplink block based on current fn + rrbp */ -function f_rrbp_fn(GsmFrameNumber fn, MacRrbp rrbp) return GsmFrameNumber { - var integer add; - select (rrbp) { - case (RRBP_Nplus13_mod_2715648) { - add := 13; - } - case (RRBP_Nplus17_or_18_mod_2715648) { - add := 17; /* FIXME: What about 'or 18'? */ - } - case (RRBP_Nplus21_or_22_mod_2715648) { - add := 21; /* FIXME: What about 'or 22'? */ - } - case (RRBP_Nplus26_mod_2715648) { - add := 26; - } - } - return (fn + add) mod 2715648; -} - - -function f_bssgp_wait_ul_ud(template PDU_BSSGP exp) runs on dummy_CT { - timer T := 5.0; - T.start; - alt { - [] BSSGP[0].receive(exp) { - log("found matching BSSGP UL-UNITDATA PDU"); - } - [] T.timeout { - setverdict(fail, "Timeout waiting for ", exp); - mtc.stop; - } - } -} - - -function f_ul_tbf(inout UlTbfState us) runs on dummy_CT { - var RLCMAC_ph_data_ind dl; - - /* Establish an UL-TBF */ - f_establish_ul_tbf(); - - while (true) { - var RlcmacUlBlock blk; - if (f_ul_tbf_get_next_block(blk, us, g_mmctx, true) == false) { - break; - } - - /* Send the block to L1 for transmission */ - log("L1=", blk); - L1.send(RLCMAC_ph_data_req:{dyn:={tbf_id := 0, cs := us.tbf.initial_cs, block := blk}}); - } - - alt { - [] L1.receive(RLCMAC_ph_data_ind:{cs:=?, ts_nr:=?, fn:=?, block:=tr_RLCMAC_UL_ACK_NACK(0, g_mmctx.tlli)}) -> value dl { - log("found matching ACK/NACK"); - /* send CTRL ACK in uplink */ - var GsmFrameNumber ul_fn := f_rrbp_fn(dl.fn, dl.block.ctrl.mac_hdr.rrbp); - var RlcmacUlCtrlMsg ctrl_ack := valueof(ts_RlcMacUlCtrl_PKT_CTRL_ACK(g_mmctx.tlli)); - var RlcmacUlBlock ul_block := valueof(ts_RLC_UL_CTRL_ACK(ctrl_ack)); - L1.send(ts_PH_DATA_ABS(0, CS1, dl.ts_nr, ul_fn, {false, 871}, ul_block)); - /* wait for the final ACK */ - if (dl.block.ctrl.payload.u.ul_ack_nack.gprs.ack_nack_desc.final_ack == '0'B) { - repeat; - } - } - [] L1.receive { repeat; } - } - - for (var integer i := 0; i < sizeof(us.tbf.llc_pdus_enc); i := i+1) { - f_bssgp_wait_ul_ud(tr_BSSGP_UL_UD(g_mmctx.tlli, ?, us.tbf.llc_pdus_enc[i])); - } - setverdict(pass); - - L1.send(DCCH_release_req:{}); -} - -testcase TC_rach() runs on dummy_CT { - var BssgpBvci bvci := 196; - g_mmctx.imsi := '262420123456789'H; - g_mmctx.tlli := f_random_tlli(); - - f_init(); - - f_bssgp_client_register(g_mmctx.imsi, g_mmctx.tlli, mp_gb_cfg.cell_id); - - f_bssgp_establish(); -} - - - -function f_llc_dec_and_log(in octetstring inp) { - log("LLC Input: ", inp); - var PDU_LLC dec := dec_PDU_LLC(inp); - log("LLC Decoded: ", dec); -} - -function f_llc_assert(in octetstring a, in octetstring b) { - log("LLC Input: ", a); - log("LLC Expected: ", b); - - if (a != b) { - setverdict(fail, "LLC input ", b, " != expected ", a); - mtc.stop; - } else { - setverdict(pass); - } -} - - -testcase TC_selftest_llc() runs on dummy_CT { - const octetstring c_gmm_att_pcu := '01c001080103e5e000210a0005f4fb146ddd32f44000c8001d1b53432b37159ef9090070000dd9c6321200e00019b32c642401c00020170580460b'O; - const octetstring c_gmm_att_pcu_nofcs := '01c001080103e5e000210a0005f4fb146ddd32f44000c8001d1b53432b37159ef9090070000dd9c6321200e00019b32c642401c000201705'O; - - f_llc_dec_and_log(c_gmm_att_pcu); - - //f_llc_assert(f_LLC_append_fcs(c_gmm_att_pcu_nofcs), c_gmm_att_pcu); - - log(valueof(ts_LLC_UI(gmm_auth_req, c_LLC_SAPI_LLGMM, LLC_CR_DL_CMD, g_mmctx.n_u))); - log(ts_LLC_UI(gmm_auth_req, c_LLC_SAPI_LLGMM, LLC_CR_DL_CMD, g_mmctx.n_u)); -} - -testcase TC_selftest_rlcmac() runs on dummy_CT { - var RlcmacDlCtrlBlock dcb; - var RlcmacUlCtrlBlock ucb; - const octetstring c_dl_ul_ack_nack := '40240080400000000000000077628dbba14b2b2b2b2b2b'O; - const octetstring c_dl_data := '0f00007341c001081200102198c72477ea104895e8b959acc58b108182f4d0454300'O; - const octetstring c_dl_data2 := '070002165dc0012b2b2b43c0012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b00'O; - const octetstring c_ul_ctrl_ack := '4006ec51b7772b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b'O; - const octetstring c_ul_dl_ack_nack := '4008004000000000000000701000edc0000b2b2b2b2b2b'O; - const octetstring c_dl_ul_assign := '482857628dbbaf0126e68800082b2b2b2b2b2b2b2b2b2b'O; - - log(c_dl_ul_ack_nack); - dcb := dec_RlcmacDlCtrlBlock(c_dl_ul_ack_nack); - log(dcb); - //log(dec_RlcmacDlCtrlMsg(dcb.payload)); - - f_rlcmac_dld_decenc(c_dl_data); - - f_rlcmac_dld_decenc(c_dl_data2); - - log(c_ul_ctrl_ack); - ucb := dec_RlcmacUlCtrlBlock(c_ul_ctrl_ack); - log(ucb); - //log(dec_RlcmacUlCtrlMsg(ucb.payload)); - - log(c_ul_dl_ack_nack); - ucb := dec_RlcmacUlCtrlBlock(c_ul_dl_ack_nack); - log(ucb); - //log(dec_RlcmacUlCtrlMsg(ucb.payload)); - - log(c_dl_ul_assign); - dcb := dec_RlcmacDlCtrlBlock(c_dl_ul_assign); - log(dcb); - //log(dec_RlcmacDlCtrlMsg(dcb.payload)); - - const octetstring c_uld_tlli_noext := '080101a61cab5201c001080103e5e000310a0005f4e61cab5232f44000c8001d1b00'O; - f_rlcmac_uld_decenc(c_uld_tlli_noext); - - const octetstring c_uld_tlli_ext7pad := '0001041da61cab5200201705a96e102b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b00'O; - log("ULD_decenc"); - f_rlcmac_uld_decenc(c_uld_tlli_ext7pad); - log("UL_decenc"); - f_rlcmac_ul_decenc(c_uld_tlli_ext7pad); - - f_rlcmac_ul_decenc(c_ul_dl_ack_nack); -} - -function f_rlcmac_ul_decenc(in octetstring buf) { - log("=================================="); - log("In: ", buf); - var RlcmacUlBlock udb := dec_RlcmacUlBlock(buf); - log("Dec: ", udb); - var octetstring enc := enc_RlcmacUlBlock(udb); - log("Enc: ", enc); - if (enc != buf) { - setverdict(fail, "Re-encoded data doesn't equal input data"); - mtc.stop; - } -} - -function f_rlcmac_uld_decenc(in octetstring buf) { - log("=================================="); - log("In: ", buf); - var RlcmacUlDataBlock udb := dec_RlcmacUlDataBlock(buf); - log("Dec: ", udb); - var octetstring enc := enc_RlcmacUlDataBlock(udb); - log("Enc: ", enc); - if (enc != buf) { - setverdict(fail, "Re-encoded data doesn't equal input data"); - mtc.stop; - } -} - -function f_rlcmac_dld_decenc(in octetstring buf) { - log("=================================="); - log("In: ", buf); - var RlcmacDlDataBlock udb := dec_RlcmacDlDataBlock(buf); - log("Dec: ", udb); - var octetstring enc := enc_RlcmacDlDataBlock(udb); - log("Enc: ", enc); - if (enc != buf) { - setverdict(fail, "Re-encoded data doesn't equal input data"); - mtc.stop; - } -} - - -testcase TC_selftest_rr() runs on dummy_CT { - //const octetstring c_paging_none := '06210001F02B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B'O - const octetstring c_paging_none := '1506210001F0'O; - const octetstring c_ia_tbf := '2d063f100fe3677bd8440000c800100b2b2b2b2b2b2b2b'O - log(c_paging_none); - log(dec_GsmRrMessage(c_paging_none)); - - log(c_ia_tbf); - log(dec_GsmRrMessage(c_ia_tbf)); -} - -function f_seq_octstr(integer len) return octetstring { - var octetstring payload := ''O; - for (var integer i := 0; i < len; i := i+1 ) { - payload := payload & int2oct(i mod 256, 1); - } - return payload; -} - -testcase TC_ul_tbf_single_llc_sizes() runs on dummy_CT { - g_mmctx.imsi := '262420123456789'H; - g_mmctx.tlli := f_random_tlli(); - f_init(); - - for (var integer len := 1; len <= 1560; len := len+1) { - log("Testing Uplink TBF with single LLC-PDU of ", len, " bytes"); - var octetstring payload := f_seq_octstr(len); - var UlTbfPars ul_tbf_pars := { - ack_mode := true, - initial_cs := CS1, - llc_pdus := { - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u)) - } - } - var UlTbfState ul_tbf_state; - f_UlTbfState_init(ul_tbf_state, ul_tbf_pars); - f_ul_tbf(ul_tbf_state); - f_sleep(1.0); - } - - f_exit(); -} - -testcase TC_ul_tbf() runs on dummy_CT { - g_mmctx.imsi := '262420123456789'H; - g_mmctx.tlli := f_random_tlli(); - f_init(); - - var octetstring payload := f_seq_octstr(1023); - var UlTbfPars ul_tbf_pars := { - ack_mode := true, - initial_cs := CS1, - llc_pdus := { - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u)), - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+1)), - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+2)), - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+3)), - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+4)), - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+5)) - } - }; - var UlTbfState ul_tbf_state; - f_UlTbfState_init(ul_tbf_state, ul_tbf_pars); - f_ul_tbf(ul_tbf_state); - - f_exit(); -} - -testcase TC_dl_tbf() runs on dummy_CT { - g_mmctx.imsi := '262420123456789'H; - g_mmctx.tlli := f_random_tlli(); - f_init(); - - f_establish_dl_tbf(); - - f_exit(); -} - -function f_wait_tbf_dl(TbfNr tbf_nr, GprsTlli tlli) runs on dummy_CT return ImmediateAssignment { - var template PacketDlAssign dl_ass := tr_PacketDlAssign(tlli); - var template IaRestOctets rest := tr_IaRestOctets_DLAss(dl_ass); - var LAPDm_ph_data ph_data; - var GsmRrMessage rr; - timer T := 10.0; - T.start; - alt { - [] L1.receive(LAPDm_ph_data:{sacch:=?,sapi:=0,lapdm:={bbis:=?}}) -> value ph_data { - rr := dec_GsmRrMessage(ph_data.lapdm.bbis.payload); - log("PCH/AGCH DL RR: ", rr); - if (match(rr, tr_IMM_TBF_ASS(dl := true, rest := rest))) { - var TbfPars tbf_pars := valueof(t_TbfParsInit); - log("Received IMM.ASS for our TLLI!"); - tbf_pars.tfi[rr.payload.imm_ass.pkt_chan_desc.tn] := - rr.payload.imm_ass.rest_octets.hh.pa.uldl.ass.dl.group1.tfi_assignment; - L1.send(TBF_DL_establish_req:{tbf_nr, tbf_pars}); - } else { - repeat; - } - } - [] L1.receive { repeat }; - [] T.timeout { - setverdict(fail, "Timeout waiting for IMM ASS") - mtc.stop; - } - } - T.stop; - return rr.payload.imm_ass; -} - -/* Establish an UL TBF: Tune to ARFCN, send RACH, receive AGCH, enable TBF Rx */ -function f_establish_dl_tbf() runs on dummy_CT { - timer T := 5.0; - var BCCH_tune_req tune_req := { { false, 871 }, true }; - L1.send(tune_req); - /* FIXME: wait for confirm */ - - /* sending a GMM PDU as DL-UNITDATA should trigger Paging + DL TBF Assignment */ - tx_gmm('1'B, '01020304'O, c_LLC_SAPI_LLGMM); - - /* Expect an IMM.ASS for PDCH on the AGCH */ - f_wait_tbf_dl(0, g_mmctx.tlli); - - var RLCMAC_ph_data_ind dl; - alt { - [] L1.receive(RLCMAC_ph_data_ind:{cs:=?, ts_nr:=?, fn:=?, block:=tr_RLCMAC_DATA_RRBP}) -> value dl { - var uint6_t tfi := dl.block.data.mac_hdr.hdr_ext.tfi; - var GsmFrameNumber ul_fn := f_rrbp_fn(dl.fn, dl.block.data.mac_hdr.mac_hdr.rrbp); - var AckNackDescription an_desc := { /* FIXME: compute this based on state */ - final_ack := '1'B, - starting_seq_nr := 0, - receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000001'B - } - var RlcmacUlCtrlMsg ctrl_ack; - ctrl_ack := valueof(ts_RlcMacUlCtrl_PKT_DL_ACK(tfi, an_desc)); - var RlcmacUlBlock ul_block := valueof(ts_RLC_UL_CTRL_ACK(ctrl_ack)); - L1.send(ts_PH_DATA_ABS(0, CS1, dl.ts_nr, ul_fn, {false, 871}, ul_block)); - log("Sent DL ACK: ", ul_block); - } - [] L1.receive { repeat; } - } - - f_sleep(10.0); -} - -/* FIXME: merge this into BSSGP_Client_CT ? */ -type component bssgp_CT extends BSSGP_Client_CT { - var NS_CT ns_component; - var BSSGP_CT bssgp_component; - var boolean g_initialized := false; -} - -/* FIXME: merge this into BSSGP_Client_CT ? */ -function f_init_bssgp() runs on bssgp_CT { - var MmContext mmctx := { - imsi := '262420000000001'H, - tlli := 'FFFFFFFF'O, - n_u := 0 - }; - - - if (g_initialized == true) { - return; - } - g_initialized := true; - - /* create a new NS component */ - ns_component := NS_CT.create; - bssgp_component := BSSGP_CT.create; - /* connect our BSSGP port to the BSSGP Emulation */ - connect(self:BSSGP[0], bssgp_component:BSSGP_SP); - connect(self:BSSGP_SIG[0], bssgp_component:BSSGP_SP_SIG); - connect(self:BSSGP_PROC[0], bssgp_component:BSSGP_PROC); - /* connect lower-end of BSSGP with BSSGP_CODEC_PORT (maps to NS_PT*/ - connect(bssgp_component:BSCP, ns_component:NS_SP); - /* connect lower-end of NS emulation to NS_CODEC_PORT (on top of IPl4) */ - map(ns_component:NSCP, system:NS_CODEC_PORT); - ns_component.start(NSStart(mp_nsconfig)); - bssgp_component.start(BssgpStart(mp_gb_cfg)); - - f_bssgp_client_register(mmctx.imsi, mmctx.tlli, mp_gb_cfg.cell_id); -} - - - -control { - execute(TC_selftest_ns()); - execute(TC_ul_tbf_single_llc_sizes()); - execute(TC_ul_tbf()); - execute(TC_paging()); -} - -}; diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 524dfb7..1348a8e 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -46,7 +46,7 @@ import from PCUIF_RAW_Components all; import from IPL4asp_Types all; import from Native_Functions all; -import from PCU_Tests all; +import from SGSN_Components all; modulepar { charstring mp_pcu_sock_path := PCU_SOCK_DEFAULT; diff --git a/pcu/PCU_Tests_RAW_NS.ttcn b/pcu/PCU_Tests_RAW_NS.ttcn index b1b19bb..81b60c3 100644 --- a/pcu/PCU_Tests_RAW_NS.ttcn +++ b/pcu/PCU_Tests_RAW_NS.ttcn @@ -12,8 +12,8 @@ import from General_Types all; import from Osmocom_Types all; -import from PCU_Tests all; import from PCU_Tests_RAW all; +import from SGSN_Components all; import from Osmocom_Gb_Types all; import from NS_CodecPort all; import from NS_Types all; diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_RAW_SNS.ttcn index 1a8c30f..1690ad4 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_RAW_SNS.ttcn @@ -11,8 +11,8 @@ */ import from Osmocom_Types all; -import from PCU_Tests all; import from PCU_Tests_RAW_NS all; +import from SGSN_Components all; import from Osmocom_Gb_Types all; import from NS_CodecPort all; import from NS_Types all; diff --git a/pcu/PCU_Tests_SNS.cfg b/pcu/PCU_Tests_SNS.cfg index 1419e1e..0368f36 100644 --- a/pcu/PCU_Tests_SNS.cfg +++ b/pcu/PCU_Tests_SNS.cfg @@ -7,7 +7,7 @@ [LOGGING] [MODULE_PARAMETERS] -PCU_Tests.mp_nsconfig := { +SGSN_Components.mp_nsconfig := { local_ip := "127.0.0.1", local_udp_port := 23000, remote_ip := "127.0.0.1", diff --git a/pcu/PCU_selftest.ttcn b/pcu/PCU_selftest.ttcn new file mode 100644 index 0000000..3cdb4f4 --- /dev/null +++ b/pcu/PCU_selftest.ttcn @@ -0,0 +1,267 @@ +module PCU_selftest { +/* + * Osmocom PCU test suite in TTCN-3, selftest procedures + * (C) 2018-2019 Harald Welte + * (C) 2020 by sysmocom s.f.m.c. GmbH + * 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 + */ + +import from BSSGP_Types all; +import from BSSGP_Emulation all; +import from NS_Types all; +import from NS_Emulation all; +import from GPRS_Context all; +import from Osmocom_Gb_Types all; +import from LLC_Types all; +import from LLC_Templates all; +import from L3_Templates all; +import from GSM_RR_Types all; +import from RLCMAC_Types all; +import from RLCMAC_CSN1_Types all; + +type component dummy_CT extends BSSGP_Client_CT { + var NS_CT ns_component; + var BSSGP_CT bssgp_component; + + var MmContext g_mmctx := { + tlli := 'FFFFFFFF'O, + n_u := 0 + }; + + var boolean g_initialized := false; +} + + +/////////////////// +// BSSGP selftest +/////////////////// +function f_bssgp_dec_and_log(in octetstring inp) { + log("BSSGP Input: ", inp); + var PDU_BSSGP dec := dec_PDU_BSSGP(inp); + log("BSSGP Decoded: ", dec); +} + +testcase TC_selftest_bssgp() runs on dummy_CT { + const octetstring c_bvc_reset_pcu := '2204820000078108088832f44000c80051e0'O; + const octetstring c_bvc_reset_q := '2204820000078100'O; + const octetstring c_status_pcu := '4107810515882204820000078103'O; + const octetstring c_reset_ack_q := '2304820000'O; + const octetstring c_reset_ack_pcu := '23048200c4'O; + const octetstring c_unblock_pcu := '24048200c4'O; + const octetstring c_unblock_ack_q := '25048200c4'O; + const octetstring c_fc_bvc_pcu := '261e8101058200fa038200c8018200fa1c8200c806820000'O; + const octetstring c_fc_bvc_ack_q := '271e8101'O; + const octetstring c_gmm_mo_att_req := '01bb146ddd000004088832f44000c80051e000800e003b01c001080103e5e000110a0005f4fb146ddd32f44000c8001d1b53432b37159ef9090070000dd9c6321200e00019b32c642401c0002017057bf0ec'O; + const octetstring c_gmm_mt_ac_req := '00bb146ddd0050001682ffff0a8204030e9c41c001081200102198c72477ea104895e8b959acc58b108182f4d045'O; + const octetstring c_gmm_mo_ac_resp := '01bb146ddd000004088832f44000c80051e000800e000e01c00508130122fa361f5fdd623d'O; + const octetstring c_gmm_mt_att_acc := '00bb146ddd0050001682ffff0a8204030e9841c005080201340432f44000c8001805f4fb146ddd0967d0'O; + const octetstring c_gmm_mt_det_req := '00bb146ddd0050001682ffff0a8204030e8941c00908050215f0b6'O; + const octetstring c_gmm_mo_att_cpl := '01fb146ddd000004088832f44000c80051e000800e000801c009080339d7bc'O; + + f_bssgp_dec_and_log(c_bvc_reset_pcu); + f_bssgp_dec_and_log(c_bvc_reset_q); + f_bssgp_dec_and_log(c_status_pcu); + f_bssgp_dec_and_log(c_reset_ack_q); + f_bssgp_dec_and_log(c_reset_ack_pcu); + f_bssgp_dec_and_log(c_unblock_pcu); + f_bssgp_dec_and_log(c_unblock_ack_q); + f_bssgp_dec_and_log(c_fc_bvc_pcu); + f_bssgp_dec_and_log(c_fc_bvc_ack_q); + f_bssgp_dec_and_log(c_gmm_mo_att_req); + f_bssgp_dec_and_log(c_gmm_mt_ac_req); + f_bssgp_dec_and_log(c_gmm_mo_ac_resp); + f_bssgp_dec_and_log(c_gmm_mt_att_acc); + f_bssgp_dec_and_log(c_gmm_mt_det_req); + f_bssgp_dec_and_log(c_gmm_mo_att_cpl); + + log(ts_BSSGP_PS_PAGING_IMSI(196, '262420123456789'H)); +} + +///////////////// +// NS selftest +///////////////// +function f_ns_assert_prepr(in octetstring a, in octetstring b) { + log("NS Input: ", a); + log("NS Expected: ", b); + + if (a != b) { + setverdict(fail, "Values mismatch", a, b); + mtc.stop; + } else { + setverdict(pass); + } +} + +function f_ns_dec_and_log(in octetstring inp) { + log("NS Input: ", inp); + var PDU_NS dec := dec_PDU_NS(inp); + log("NS Decoded: ", dec); +} + +testcase TC_selftest_ns() runs on dummy_CT { + const octetstring c_ns_reset_pcu := '000000c4271e813d'O; + + /* single byte length to two byte length */ + f_ns_assert_prepr('04058101'O, '0405000101'O); + f_ns_assert_prepr('040589000102030405060708'O, '04050009000102030405060708'O); + /* two byte length to two byte length */ + f_ns_assert_prepr('0405000101'O, '0405000101'O); + /* special case: NS-UNITDATA */ + f_ns_assert_prepr('00aabbccddeeffaa29822342'O, '00aabbccddeeffaa2900022342'O); + /* multiple TLVs */ + f_ns_assert_prepr('234281aa4382bbbb'O, '23420001aa430002bbbb'O); + /* zero-length */ + f_ns_assert_prepr('230080'O, '23000000'O); + + f_ns_dec_and_log(c_ns_reset_pcu); +} + +///////////////// +// LLC selftest +///////////////// +function f_llc_dec_and_log(in octetstring inp) { + log("LLC Input: ", inp); + var PDU_LLC dec := dec_PDU_LLC(inp); + log("LLC Decoded: ", dec); +} + +function f_llc_assert(in octetstring a, in octetstring b) { + log("LLC Input: ", a); + log("LLC Expected: ", b); + + if (a != b) { + setverdict(fail, "LLC input ", b, " != expected ", a); + mtc.stop; + } else { + setverdict(pass); + } +} + +testcase TC_selftest_llc() runs on dummy_CT { + const octetstring c_gmm_att_pcu := '01c001080103e5e000210a0005f4fb146ddd32f44000c8001d1b53432b37159ef9090070000dd9c6321200e00019b32c642401c00020170580460b'O; + const octetstring c_gmm_att_pcu_nofcs := '01c001080103e5e000210a0005f4fb146ddd32f44000c8001d1b53432b37159ef9090070000dd9c6321200e00019b32c642401c000201705'O; + const octetstring gmm_auth_req := '081200102198c72477ea104895e8b959acc58b108182'O; + + f_llc_dec_and_log(c_gmm_att_pcu); + + //f_llc_assert(f_LLC_append_fcs(c_gmm_att_pcu_nofcs), c_gmm_att_pcu); + + log(valueof(ts_LLC_UI(gmm_auth_req, c_LLC_SAPI_LLGMM, LLC_CR_DL_CMD, g_mmctx.n_u))); + log(ts_LLC_UI(gmm_auth_req, c_LLC_SAPI_LLGMM, LLC_CR_DL_CMD, g_mmctx.n_u)); +} + + +/////////////////// +// RLCMAC selftest +/////////////////// + +function f_rlcmac_ul_decenc(in octetstring buf) { + log("=================================="); + log("In: ", buf); + var RlcmacUlBlock udb := dec_RlcmacUlBlock(buf); + log("Dec: ", udb); + var octetstring enc := enc_RlcmacUlBlock(udb); + log("Enc: ", enc); + if (enc != buf) { + setverdict(fail, "Re-encoded data doesn't equal input data"); + mtc.stop; + } +} + +function f_rlcmac_uld_decenc(in octetstring buf) { + log("=================================="); + log("In: ", buf); + var RlcmacUlDataBlock udb := dec_RlcmacUlDataBlock(buf); + log("Dec: ", udb); + var octetstring enc := enc_RlcmacUlDataBlock(udb); + log("Enc: ", enc); + if (enc != buf) { + setverdict(fail, "Re-encoded data doesn't equal input data"); + mtc.stop; + } +} + +function f_rlcmac_dld_decenc(in octetstring buf) { + log("=================================="); + log("In: ", buf); + var RlcmacDlDataBlock udb := dec_RlcmacDlDataBlock(buf); + log("Dec: ", udb); + var octetstring enc := enc_RlcmacDlDataBlock(udb); + log("Enc: ", enc); + if (enc != buf) { + setverdict(fail, "Re-encoded data doesn't equal input data"); + mtc.stop; + } +} + +testcase TC_selftest_rlcmac() runs on dummy_CT { + const octetstring c_gmm_att_pcu := '402400804000000000000000'O; + + var RlcmacDlCtrlBlock dcb; + var RlcmacUlCtrlBlock ucb; + + // Some octstrings are concatenated to avoid Atom editor hanging: https://github.com/karolwiniarski/language-ttcn-3/issues/3 + const octetstring c_dl_ul_ack_nack := '402400804000000000000000'O & '77628dbba14b2b2b2b2b2b'O; + const octetstring c_dl_data := '0f00007341c001081200102198c72477ea104895e8b959acc58b108182f4d0454300'O; + const octetstring c_dl_data2 := '070002165dc0012b2b2b43c0012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b00'O; + const octetstring c_ul_ctrl_ack := '4006ec51b7772b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b'O; + const octetstring c_ul_dl_ack_nack := '4008004000000000000000'O & '701000edc0000b2b2b2b2b2b'O; + const octetstring c_dl_ul_assign := '482857628dbbaf0126e68800082b2b2b2b2b2b2b2b2b2b'O; + + log(c_dl_ul_ack_nack); + dcb := dec_RlcmacDlCtrlBlock(c_dl_ul_ack_nack); + log(dcb); + //log(dec_RlcmacDlCtrlMsg(dcb.payload)); + + f_rlcmac_dld_decenc(c_dl_data); + + f_rlcmac_dld_decenc(c_dl_data2); + + log(c_ul_ctrl_ack); + ucb := dec_RlcmacUlCtrlBlock(c_ul_ctrl_ack); + log(ucb); + //log(dec_RlcmacUlCtrlMsg(ucb.payload)); + + log(c_ul_dl_ack_nack); + ucb := dec_RlcmacUlCtrlBlock(c_ul_dl_ack_nack); + log(ucb); + //log(dec_RlcmacUlCtrlMsg(ucb.payload)); + + log(c_dl_ul_assign); + dcb := dec_RlcmacDlCtrlBlock(c_dl_ul_assign); + log(dcb); + //log(dec_RlcmacDlCtrlMsg(dcb.payload)); + + const octetstring c_uld_tlli_noext := '080101a61cab5201c001080103e5e000310a0005f4e61cab5232f44000c8001d1b00'O; + f_rlcmac_uld_decenc(c_uld_tlli_noext); + + const octetstring c_uld_tlli_ext7pad := '0001041da61cab5200201705a96e102b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b00'O; + log("ULD_decenc"); + f_rlcmac_uld_decenc(c_uld_tlli_ext7pad); + log("UL_decenc"); + f_rlcmac_ul_decenc(c_uld_tlli_ext7pad); + + f_rlcmac_ul_decenc(c_ul_dl_ack_nack); +} + +/////////////////// +// RR selftest +/////////////////// + +testcase TC_selftest_rr() runs on dummy_CT { + //const octetstring c_paging_none := '06210001F02B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B'O + const octetstring c_paging_none := '1506210001F0'O; + const octetstring c_ia_tbf := '2d063f100fe3677bd8440000c800100b2b2b2b2b2b2b2b'O + log(c_paging_none); + log(dec_GsmRrMessage(c_paging_none)); + + log(c_ia_tbf); + log(dec_GsmRrMessage(c_ia_tbf)); +} + +} diff --git a/pcu/README.md b/pcu/README.md index a2e439a..a711410 100644 --- a/pcu/README.md +++ b/pcu/README.md @@ -1,4 +1,4 @@ -# PCU_Tests.ttcn +# PCU_Tests_RAW.ttcn * external interfaces * Gb (emulates SGSN side NS/BSSGP) diff --git a/pcu/SGSN_Components.ttcn b/pcu/SGSN_Components.ttcn new file mode 100644 index 0000000..4bbd18c --- /dev/null +++ b/pcu/SGSN_Components.ttcn @@ -0,0 +1,104 @@ +module SGSN_Components { +/* + * Osmocom PCU test suite in TTCN-3, components for BSSGP handlng + * (C) 2018-2019 Harald Welte + * (C) 2020 by sysmocom s.f.m.c. GmbH + * 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 + */ + +import from BSSGP_Types all; +import from BSSGP_Emulation all; +import from NS_Types all; +import from NS_Emulation all; +import from GPRS_Context all; + +modulepar { + BssgpConfig mp_gb_cfg := { + nsei := 1234, + bvci := 1234, + cell_id := { + ra_id := { + lai := { + mcc_mnc := '262F42'H, lac := 13135 + }, + rac := 0 + }, + cell_id := 20960 + }, + sgsn_role := true, + depth := BSSGP_DECODE_DEPTH_BSSGP + }; + + NSConfiguration mp_nsconfig := { + local_udp_port := 23000, + local_ip := "127.0.0.1", + remote_udp_port := 21000, + remote_ip := "127.0.0.1", + nsvci := 0, + nsei := 2342, + role_sgsn := true, + handle_sns := true + }; +} + +/* FIXME: merge this into BSSGP_Client_CT ? */ +type component bssgp_CT extends BSSGP_Client_CT { + var NS_CT ns_component; + var BSSGP_CT bssgp_component; + var boolean g_initialized := false; +} + +/* FIXME: merge this into BSSGP_Client_CT ? */ +function f_init_bssgp() runs on bssgp_CT { + var MmContext mmctx := { + imsi := '262420000000001'H, + tlli := 'FFFFFFFF'O, + n_u := 0 + }; + + + if (g_initialized == true) { + return; + } + g_initialized := true; + + /* create a new NS component */ + ns_component := NS_CT.create; + bssgp_component := BSSGP_CT.create; + /* connect our BSSGP port to the BSSGP Emulation */ + connect(self:BSSGP[0], bssgp_component:BSSGP_SP); + connect(self:BSSGP_SIG[0], bssgp_component:BSSGP_SP_SIG); + connect(self:BSSGP_PROC[0], bssgp_component:BSSGP_PROC); + /* connect lower-end of BSSGP with BSSGP_CODEC_PORT (maps to NS_PT*/ + connect(bssgp_component:BSCP, ns_component:NS_SP); + /* connect lower-end of NS emulation to NS_CODEC_PORT (on top of IPl4) */ + map(ns_component:NSCP, system:NS_CODEC_PORT); + ns_component.start(NSStart(mp_nsconfig)); + bssgp_component.start(BssgpStart(mp_gb_cfg)); + + f_bssgp_client_register(mmctx.imsi, mmctx.tlli, mp_gb_cfg.cell_id); +} + +/* Establish BSSGP connection to PCU */ +function f_bssgp_establish() runs on BSSGP_Client_CT { + timer T:= 10.0; + + T.start + alt { + [] BSSGP[0].receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { } + [] BSSGP[0].receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout establishing BSSGP connection"); + mtc.stop; + } + } + T.stop + log("BSSGP successfully initialized"); +} + +} diff --git a/pcu/gen_links.sh b/pcu/gen_links.sh index 9ad318c..da035cb 100755 --- a/pcu/gen_links.sh +++ b/pcu/gen_links.sh @@ -49,7 +49,7 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc L1CTL_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn " +FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc " FILES+="NS_Emulation.ttcn NS_CodecPort.ttcn NS_CodecPort_CtrlFunct.ttcn NS_CodecPort_CtrlFunctDef.cc " FILES+="BSSGP_Emulation.ttcn Osmocom_Gb_Types.ttcn " FILES+="LLC_Templates.ttcn L3_Templates.ttcn L3_Common.ttcn " diff --git a/pcu/osmo-bsc.cfg b/pcu/osmo-bsc.cfg deleted file mode 100644 index c561955..0000000 --- a/pcu/osmo-bsc.cfg +++ /dev/null @@ -1,194 +0,0 @@ -! -! OsmoBSC (1.1.2.236-5f22) configuration saved from vty -!! -password foo -! -log gsmtap 127.0.0.1 - logging level set-all debug -! - -log stderr - logging color 1 - logging filter all 1 - logging print level 1 - logging print category 1 - logging print category-hex 0 - logging print file basename last - logging print extended-timestamp 1 - logging level set-all debug - #~ logging level hodec info - #~ logging level ho info - #~ logging level nm info - #~ logging level meas info - #~ logging level lmi info - #~ logging level linp notice - #~ logging level lss7 notice - #~ logging level lsccp notice - #~ logging level lsua notice - #~ logging level lm3ua notice - -stats interval 5 -! -line vty - no login - bind 127.0.0.1 -! -e1_input - e1_line 0 driver ipa - e1_line 0 port 0 - no e1_line 0 keepalive - ipa bind 127.0.0.1 -cs7 instance 0 - point-code 0.23.3 - asp asp-clnt-msc-0 2905 0 m3ua - as as-clnt-msc-0 m3ua - asp asp-clnt-msc-0 - routing-key 2 0.23.3 -network - network country code 262 - mobile network code 42 - encryption a5 0 - neci 1 - paging any use tch 0 - handover 0 - handover1 window rxlev averaging 10 - handover1 window rxqual averaging 1 - handover1 window rxlev neighbor averaging 10 - handover1 power budget interval 6 - handover1 power budget hysteresis 3 - handover1 maximum distance 9999 - periodic location update 30 - bts 0 - type sysmobts - band DCS1800 - cell_identity 20960 - location_area_code 13135 - dtx uplink force - dtx downlink - base_station_id_code 63 - 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 - early-classmark-sending-3g allowed - ip.access unit_id 1234 0 - ip.access rsl-ip 127.0.0.1 - 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 - gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 - 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 22000 - gprs nsvc 0 remote udp port 23000 - gprs nsvc 0 remote ip 127.0.0.1 - no force-combined-si - 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 - hopping enabled 0 - timeslot 1 - phys_chan_config TCH/H - hopping enabled 0 - timeslot 2 - phys_chan_config TCH/H - hopping enabled 0 - timeslot 3 - phys_chan_config TCH/H - hopping enabled 0 - timeslot 4 - phys_chan_config TCH/H - hopping enabled 0 - timeslot 5 - phys_chan_config TCH/H - hopping enabled 0 - timeslot 6 - phys_chan_config TCH/H - hopping enabled 0 - timeslot 7 - phys_chan_config PDCH - 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_PDCH - #~ hopping enabled 0 - #~ timeslot 4 - #~ phys_chan_config TCH/F_TCH/H_PDCH - #~ hopping enabled 0 - #~ timeslot 5 - #~ phys_chan_config TCH/H - #~ hopping enabled 0 - #~ timeslot 6 - #~ phys_chan_config SDCCH8 - #~ hopping enabled 0 - #~ timeslot 7 - #~ phys_chan_config PDCH - #~ hopping enabled 0 -msc 0 - core-location-area-code 666 - core-cell-identity 333 - ip.access rtp-base 4000 - timeout-ping 12 - timeout-pong 14 - no timeout-ping advanced - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text - codec-list fr1 fr2 fr3 - type normal - 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 -bsc - mid-call-timeout 0 - no missing-msc-text - access-list-name bsc-list diff --git a/pcu/osmo-bts.cfg b/pcu/osmo-bts.cfg deleted file mode 100644 index 7f36f87..0000000 --- a/pcu/osmo-bts.cfg +++ /dev/null @@ -1,83 +0,0 @@ -! -! OsmoBTS (0.4.0.446-e0fb) configuration saved from vty -!! -! -log gsmtap 127.0.0.1 - logging level set-all debug -! -log stderr - logging filter all 1 - logging color 1 - logging print category 1 - logging timestamp 1 - logging print extended-timestamp 1 - logging level rsl info - logging level oml info - logging level rll notice - logging level rr notice - logging level meas info - logging level pag info - logging level l1c info - logging level l1p notice - logging level dsp info - logging level pcu debug - logging level ho notice - logging level trx info - logging level loop notice - logging level abis notice - logging level rtp notice - logging level sum notice - logging level lglobal notice - logging level llapd notice - logging level linp notice - logging level lmux notice - logging level lmi notice - logging level lmib debug - 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 -! -line vty - no login - bind 127.0.0.1 -! -e1_input - e1_line 0 driver ipa - e1_line 0 port 0 - no e1_line 0 keepalive -phy 0 - !virtual-um ms-multicast-group 239.193.23.1 - !virtual-um bts-multicast-group 239.193.23.2 - instance 0 -bts 0 - band DCS1800 - ipa unit-id 1234 0 - oml remote-ip 127.0.0.1 - rtp jitter-buffer 100 - paging queue-size 200 - paging lifetime 0 - uplink-power-target -75 - gsmtap-sapi rach - gsmtap-sapi agch - gsmtap-sapi bcch - gsmtap-sapi pch - gsmtap-sapi sdcch - gsmtap-sapi sacch - min-qual-rach 50 - min-qual-norm -5 - pcu-socket /tmp/pcu_bts - trx 0 - power-ramp max-initial 0 mdBm - power-ramp step-size 2000 mdB - power-ramp step-interval 1 - ms-power-control dsp - phy 0 instance 0 -ctrl - bind 127.0.0.1 diff --git a/pcu/regen_makefile.sh b/pcu/regen_makefile.sh index c2f636d..6fd000e 100755 --- a/pcu/regen_makefile.sh +++ b/pcu/regen_makefile.sh @@ -1,5 +1,5 @@ #!/bin/sh -FILES="*.ttcn BSSGP_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc NS_CodecPort_CtrlFunctDef.cc UD_PT.cc RLCMAC_EncDec.cc LLC_EncDec.cc L1CTL_PortType_CtrlFunctDef.cc TELNETasp_PT.cc Native_FunctionDefs.cc" +FILES="*.ttcn BSSGP_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc NS_CodecPort_CtrlFunctDef.cc UD_PT.cc RLCMAC_EncDec.cc LLC_EncDec.cc TELNETasp_PT.cc Native_FunctionDefs.cc" ../regen-makefile.sh PCU_Tests.ttcn $FILES -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16321 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: Ie862a1525e9f4f9a3f2427ac3898810e3d044d2f Gerrit-Change-Number: 16321 Gerrit-PatchSet: 4 Gerrit-Owner: pespin 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 Thu Apr 30 11:12:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 11:12:40 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu: Fix cfgn content after ttcn3 module renaming In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17976 ) Change subject: ttcn3-pcu: Fix cfgn content after ttcn3 module renaming ...................................................................... Patch Set 1: Code-Review+2 Merging since the osmo-ttcn3-hacks related patches were merged. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17976 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0710f52ddab8da8638970d28dc88f6882cc5f637 Gerrit-Change-Number: 17976 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 30 Apr 2020 11:12: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 Apr 30 11:12:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 11:12:44 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu: Fix cfgn content after ttcn3 module renaming In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17976 ) Change subject: ttcn3-pcu: Fix cfgn content after ttcn3 module renaming ...................................................................... ttcn3-pcu: Fix cfgn content after ttcn3 module renaming Required after osmo-ttcn3-hacks.git: Ie862a1525e9f4f9a3f2427ac3898810e3d044d2f Iacaddb56e41012ba58ef6d1b9e79d2c012259bed Change-Id: I0710f52ddab8da8638970d28dc88f6882cc5f637 --- M ttcn3-pcu-test/PCU_Tests.cfg M ttcn3-pcu-test/sns/PCU_Tests.cfg 2 files changed, 7 insertions(+), 7 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/ttcn3-pcu-test/PCU_Tests.cfg b/ttcn3-pcu-test/PCU_Tests.cfg index 8c75ca9..17ab6c6 100644 --- a/ttcn3-pcu-test/PCU_Tests.cfg +++ b/ttcn3-pcu-test/PCU_Tests.cfg @@ -9,8 +9,8 @@ *.PCUVTY.PROMPT1 := "OsmoPCU> " [MODULE_PARAMETERS] -PCU_Tests_RAW.mp_pcu_sock_path := "/data/unix/pcu_bts" -PCU_Tests.mp_nsconfig := { +PCU_Tests.mp_pcu_sock_path := "/data/unix/pcu_bts" +SGSN_Components.mp_nsconfig := { local_ip := "172.18.13.10", local_udp_port := 23000, remote_ip := "172.18.13.101", @@ -23,5 +23,5 @@ [MAIN_CONTROLLER] [EXECUTE] -PCU_Tests_RAW.control -PCU_Tests_RAW_NS.control +PCU_Tests.control +PCU_Tests_NS.control diff --git a/ttcn3-pcu-test/sns/PCU_Tests.cfg b/ttcn3-pcu-test/sns/PCU_Tests.cfg index 07db9b3..60f375b 100644 --- a/ttcn3-pcu-test/sns/PCU_Tests.cfg +++ b/ttcn3-pcu-test/sns/PCU_Tests.cfg @@ -7,8 +7,8 @@ [TESTPORT_PARAMETERS] [MODULE_PARAMETERS] -PCU_Tests_RAW.mp_pcu_sock_path := "/data/unix/pcu_bts" -PCU_Tests.mp_nsconfig := { +PCU_Tests.mp_pcu_sock_path := "/data/unix/pcu_bts" +SGSN_Components.mp_nsconfig := { local_ip := "172.18.14.10", local_udp_port := 23000, remote_ip := "172.18.14.101", @@ -20,4 +20,4 @@ [MAIN_CONTROLLER] [EXECUTE] -PCU_Tests_RAW_SNS.control +PCU_Tests_SNS.control -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17976 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0710f52ddab8da8638970d28dc88f6882cc5f637 Gerrit-Change-Number: 17976 Gerrit-PatchSet: 2 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 Thu Apr 30 11:30:24 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 11:30:24 +0000 Subject: Change in osmo-msc[master]: gsup_client_mux_tx_error_reply(): handle optional routing IEs In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17984 ) Change subject: gsup_client_mux_tx_error_reply(): handle optional routing IEs ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17984 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2694ea15d2cf57316f2eae845afb957a3e8067b6 Gerrit-Change-Number: 17984 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 30 Apr 2020 11:30: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 Apr 30 11:33:10 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 11:33:10 +0000 Subject: Change in osmo-pcu[master]: pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data ... In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17983 ) Change subject: pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data block ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17983 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I853679ce8907d46fcb84ae4127335c10623f09c9 Gerrit-Change-Number: 17983 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 30 Apr 2020 11:33: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 Apr 30 11:41:19 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 11:41:19 +0000 Subject: Change in osmocom-bb[master]: mobile: add audio config, with unused audio loopback setting In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17593 ) Change subject: mobile: add audio config, with unused audio loopback setting ...................................................................... Patch Set 2: Code-Review-1 (1 comment) string is not converted to enum value yet https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/src/host/layer23/src/mobile/vty_interface.c File src/host/layer23/src/mobile/vty_interface.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/src/host/layer23/src/mobile/vty_interface.c at 2776 PS2, Line 2776: argv[0] This must be converted to "enum audio_io_target". -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie03e4a6c6f81ea3925266dd22e87506d722a6e1a Gerrit-Change-Number: 17593 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 30 Apr 2020 11:41: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 Thu Apr 30 11:43:04 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 11:43:04 +0000 Subject: Change in osmocom-bb[master]: mobile: add audio config, with unused audio loopback setting In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17593 ) Change subject: mobile: add audio config, with unused audio loopback setting ...................................................................... Patch Set 2: -Code-Review (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/src/host/layer23/src/mobile/vty_interface.c File src/host/layer23/src/mobile/vty_interface.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/src/host/layer23/src/mobile/vty_interface.c at 2776 PS2, Line 2776: argv[0] > This must be converted to "enum audio_io_target". ...scratch that, I misread the get_string_value(). Sorry for the noise. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie03e4a6c6f81ea3925266dd22e87506d722a6e1a Gerrit-Change-Number: 17593 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 30 Apr 2020 11:43:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Apr 30 12:33:43 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 30 Apr 2020 12:33:43 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eaac5b24d0e6_97e2b20445445f4589029@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 797s] ^~~~~~~~~~~~~~~~~~~ [ 797s] main.c: In function 'main': [ 797s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 797s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 797s] ^~~~~~~~~~~~~~~~~~~ [ 797s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 797s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 797s] ^ [ 797s] cc1: some warnings being treated as errors [ 797s] Makefile:469: recipe for target 'main.o' failed [ 797s] make[3]: *** [main.o] Error 1 [ 797s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 797s] Makefile:402: recipe for target 'all-recursive' failed [ 797s] make[2]: *** [all-recursive] Error 1 [ 797s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 797s] Makefile:349: recipe for target 'all' failed [ 797s] make[1]: *** [all] Error 2 [ 797s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 797s] dh_auto_build: make -j1 returned exit code 2 [ 797s] debian/rules:45: recipe for target 'build' failed [ 797s] make: *** [build] Error 2 [ 797s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 797s] ### VM INTERACTION START ### [ 800s] [ 731.649243] sysrq: SysRq : Power Off [ 800s] [ 731.651746] reboot: Power down [ 800s] ### VM INTERACTION END ### [ 800s] [ 800s] armbuild18 failed "build osmo-uecups_0.1.3.1.8362.dsc" at Thu Apr 30 12:33:36 UTC 2020. [ 800s] -- 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 Apr 30 12:34:21 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 30 Apr 2020 12:34:21 +0000 Subject: Change in osmocom-bb[master]: mobile: add audio config, with unused audio loopback setting In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17593 ) Change subject: mobile: add audio config, with unused audio loopback setting ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/src/host/layer23/src/mobile/vty_interface.c File src/host/layer23/src/mobile/vty_interface.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/src/host/layer23/src/mobile/vty_interface.c at 2776 PS2, Line 2776: argv[0] > ...scratch that, I misread the get_string_value(). Sorry for the noise. Now I'm sure: argv[0] can't be used here, because the config string "io-target loopback" doesn't take an argument, it is not like "io-target IO_TARGET". So this should be: return set_audio_io_target(vty, ms, AUDIO_IO_LOOPBACK); With that fix, the patch works for me, otherwise it does not. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie03e4a6c6f81ea3925266dd22e87506d722a6e1a Gerrit-Change-Number: 17593 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 30 Apr 2020 12:34:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 30 12:42:09 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 30 Apr 2020 12:42:09 +0000 Subject: Change in osmocom-bb[master]: mobile: add audio config, with unused audio loopback setting In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17593 ) Change subject: mobile: add audio config, with unused audio loopback setting ...................................................................... Patch Set 2: (4 comments) https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/doc/examples/mobile/multi_ms.cfg File doc/examples/mobile/multi_ms.cfg: https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/doc/examples/mobile/multi_ms.cfg at 63 PS2, Line 63: io-target none > Fine with me, but since this isn't my patch: [?] take a look at vadim's audio patch: that is all about redirecting audio to a file, to a local sound card etc. Setting it to loopback is added there by this patch (or rather, this patch does some of the preparations for vadim's patch already). Maybe just "target" then, but I don't mind "io-target". https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/src/host/layer23/src/mobile/vty_interface.c File src/host/layer23/src/mobile/vty_interface.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/src/host/layer23/src/mobile/vty_interface.c at 1538 PS2, Line 1538: vty_out(vty, " no io-target%s", VTY_NEWLINE); > > why there's a "no"? simply have io-target none. [?] the most widespread vty pattern in osmocom to switch something off is no foo obviously we should stick to that pattern. Vadim's original patch also has a 'no io-target'. Whether or not to omit default behavior in vty write is varied in osmo programs. Seems that recent developments favor omitting default behavior, but that isn't always helping the user to understand. Personally, I slightly favor printing the defaults. Interesting, the hide_default is a static global that defaults to 0 (i.e. print the defaults) and can be changed by the vty command 'hide-default' :) https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/src/host/layer23/src/mobile/vty_interface.c at 2776 PS2, Line 2776: argv[0] > Now I'm sure: argv[0] can't be used here, because the config string "io-target loopback" doesn't tak [?] thx! Came from copying code with multiple args and reducing it to one https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/src/host/layer23/src/mobile/vty_interface.c at 2780 PS2, Line 2780: "no io-target", NO_STR "Disable TCH frame processing") > You can drop this one, rather have a io-target none disagree -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie03e4a6c6f81ea3925266dd22e87506d722a6e1a Gerrit-Change-Number: 17593 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 30 Apr 2020 12:42:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 30 14:05:02 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 30 Apr 2020 14:05:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MSC: fix TC_iu_cmserv_imsi_unknown: do not call f_mm_auth() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16889 ) Change subject: MSC: fix TC_iu_cmserv_imsi_unknown: do not call f_mm_auth() ...................................................................... Patch Set 1: hmm, interesting. So a CM Service Reject with "LU Required" should happen because the VLR doesn't know the IMSI yet, but not sure whether it should authenticate first. Probably not, right? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16889 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: I26fe18093e49bc9f53ac0234338c2b5cf9e4f07c Gerrit-Change-Number: 16889 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 30 Apr 2020 14:05:02 +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 Apr 30 14:25:47 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 30 Apr 2020 14:25:47 +0000 Subject: Change in osmocom-bb[master]: mobile: add audio config, with unused audio loopback setting In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/17593 to look at the new patch set (#3). Change subject: mobile: add audio config, with unused audio loopback setting ...................................................................... mobile: add audio config, with unused audio loopback setting The aim is to add configurable audio loopback to mobile. An existing patch on a branch from fixeria [1] adds the audio config section. Add a reduced version of this audio config to be compatible with the future merge. Add the audio loopback setting, so far without functionality. Subsequent patch adds the actual loopback. [1] osmocom-bb branch fixeria/audio, patch "mobile/vty_interface.c: add new 'audio' section" Change-id I62cd5ef22ca2290fcafe65c78537ddbcb39fb8c6 Change-Id: Ie03e4a6c6f81ea3925266dd22e87506d722a6e1a --- M doc/examples/mobile/default.cfg M doc/examples/mobile/multi_ms.cfg M src/host/layer23/include/osmocom/bb/mobile/settings.h M src/host/layer23/include/osmocom/bb/mobile/vty.h M src/host/layer23/src/mobile/settings.c M src/host/layer23/src/mobile/vty_interface.c 6 files changed, 101 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/93/17593/3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie03e4a6c6f81ea3925266dd22e87506d722a6e1a Gerrit-Change-Number: 17593 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels 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 Apr 30 14:30:17 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 30 Apr 2020 14:30:17 +0000 Subject: Change in osmocom-bb[master]: mobile: add audio config, with unused audio loopback setting In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/17593 to look at the new patch set (#4). Change subject: mobile: add audio config, with unused audio loopback setting ...................................................................... mobile: add audio config, with unused audio loopback setting The aim is to add configurable audio loopback to mobile. An existing patch on a branch from fixeria [1] adds the audio config section. Add a reduced version of this audio config to be compatible with the future merge. Add the audio loopback setting, so far without functionality. Subsequent patch adds the actual loopback. [1] osmocom-bb branch fixeria/audio, patch "mobile/vty_interface.c: add new 'audio' section" Change-id I62cd5ef22ca2290fcafe65c78537ddbcb39fb8c6 Change-Id: Ie03e4a6c6f81ea3925266dd22e87506d722a6e1a --- M doc/examples/mobile/default.cfg M doc/examples/mobile/multi_ms.cfg M src/host/layer23/include/osmocom/bb/mobile/settings.h M src/host/layer23/include/osmocom/bb/mobile/vty.h M src/host/layer23/src/mobile/settings.c M src/host/layer23/src/mobile/vty_interface.c 6 files changed, 99 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/93/17593/4 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie03e4a6c6f81ea3925266dd22e87506d722a6e1a Gerrit-Change-Number: 17593 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels 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 Apr 30 14:49:47 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 30 Apr 2020 14:49:47 +0000 Subject: Change in osmo-hlr[master]: 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name In-Reply-To: References: Message-ID: Hello fixeria, pespin, laforge, osmith, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/16205 to look at the new patch set (#30). Change subject: 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name ...................................................................... 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name These are seemingly orthogonal changes in one patch, because they are in fact sufficiently intertwined that we are not willing to spend the time to separate them. They are also refactoring changes, unlikely to make sense on their own. ** lu_fsm: Attempting to make luop.c keep state about incoming GSUP requests made me find shortcomings in several places: - since it predates osmo_fsm, it is a state machine that does not strictly enforce the order of state transitions or the right sequence of incoming events. - several places OSMO_ASSERT() on data received from the network. - modifies the subscriber state before a LU is accepted. - dead code about canceling a subscriber in a previous VLR. That would be a good thing to actually do, which should also be trivial now that we record vlr_name and sgsn_name, but I decided to remove the dead code for now. To both step up the LU game *and* make it easier for me to integrate osmo_gsup_req handling, I decided to create a lu_fsm, drawing from my, by now, ample experience of writing osmo_fsms. ** osmo_gsup_req: Prepare for D-GSM, where osmo-hlr will do proxy routing for remote HLRs / communicate with remote MSCs via a proxy: a) It is important that a response that osmo-hlr generates and that is sent back to a requesting MSC contains all IEs that are needed to route it back to the requester. Particularly source_name must become destination_name in the response to be able to even reach the requesting MSC. Other fields are also necessary to match, which were so far taken care of in individual numerous code paths. b) For some operations, the response to a GSUP request is generated asynchronously (like Update Location Request -> Response, or taking the response from an EUSE, or the upcoming proxying to a remote HLR). To be able to feed a request message's information back into the response, we must thus keep the request data around. Since struct osmo_gsup_message references a lot of external data, usually with pointers directly into the received msgb, it is not so trivial to pass GSUP message data around asynchronously, on its own. osmo_gsup_req is the combined solution for both a and b: it keeps all data for a GSUP message by taking ownership of the incoming msgb, and it provides an explicit API "forcing" callers to respond with osmo_gsup_req_respond(), so that all code paths trivially are definitely responding with the correct IEs set to match the request's routing (by using osmo_gsup_make_response() recently added to libosmocore). Adjust all osmo-hlr code paths to use *only* osmo_gsup_req to respond to incoming requests received on the GSUP server (above LU code being one of them). In fact, the same should be done on the client side. Hence osmo_gsup_req is implemented in a server/client agnostic way, and is placed in libosmo-gsupclient. As soon as we see routing errors in complex GSUP setups, using osmo_gsup_req in the related GSUP client is likely to resolve those problems without much thinking required beyond making all code paths use it. libosmo-gsupclient is hence added to osmo-hlr binary's own library dependencies. It would have been added by the D-GSM proxy routing anyway, we are just doing it a little sooner. ** cni_peer_id.c / osmo_ipa_name: We so far handle an IPA unit name as pointer + size, or as just pointer with implicit talloc size. To ease working with GSUP peer identification data, I require: - a non-allocated storage of an IPA Name. It brings the drawback of being size limited, but our current implementation is anyway only able to handle MSC and SGSN names of 31 characters (see struct hlr_subscriber). - a single-argument handle for IPA Name, - easy to use utility functions like osmo_ipa_name_to_str(), osmo_ipa_name_cmp(), and copying by simple assignment, a = b. Hence this patch adds a osmo_ipa_name in cni_peer_id.h and cni_peer_id.c. Heavily used in LU and osmo_gsup_req. Depends: libosmocore Id9692880079ea0f219f52d81b1923a76fc640566 Change-Id: I3a8dff3d4a1cbe10d6ab08257a0138d6b2a082d9 --- M configure.ac M include/Makefile.am A include/osmocom/gsupclient/gsup_req.h A include/osmocom/gsupclient/ipa_name.h M include/osmocom/hlr/Makefile.am M include/osmocom/hlr/db.h M include/osmocom/hlr/gsup_router.h M include/osmocom/hlr/gsup_server.h M include/osmocom/hlr/hlr.h M include/osmocom/hlr/hlr_ussd.h M include/osmocom/hlr/logging.h A include/osmocom/hlr/lu_fsm.h D include/osmocom/hlr/luop.h M src/Makefile.am M src/db_hlr.c M src/gsup_router.c M src/gsup_send.c M src/gsup_server.c M src/gsupclient/Makefile.am A src/gsupclient/gsup_req.c A src/gsupclient/ipa_name.c M src/hlr.c M src/hlr_ussd.c M src/logging.c A src/lu_fsm.c D src/luop.c M tests/Makefile.am M tests/db/Makefile.am M tests/db/db_test.c M tests/db/db_test.err A tests/gsup/Makefile.am A tests/gsup/gsup_test.c A tests/gsup/gsup_test.err A tests/gsup/gsup_test.ok M tests/gsup_server/Makefile.am M tests/test_nodes.vty M tests/testsuite.at 37 files changed, 1,589 insertions(+), 865 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/05/16205/30 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3a8dff3d4a1cbe10d6ab08257a0138d6b2a082d9 Gerrit-Change-Number: 16205 Gerrit-PatchSet: 30 Gerrit-Owner: neels Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels 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 Apr 30 14:49:47 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 30 Apr 2020 14:49:47 +0000 Subject: Change in osmo-hlr[master]: 2/2: wrap ipa_name in osmo_cni_peer_id with type enum and union In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/16459 to look at the new patch set (#10). Change subject: 2/2: wrap ipa_name in osmo_cni_peer_id with type enum and union ...................................................................... 2/2: wrap ipa_name in osmo_cni_peer_id with type enum and union To be prepared for the future in public API, wrap the new osmo_ipa_name struct in an enum-type and union called osmo_cni_peer. During code review it was requested to insert an ability to handle different kinds of peer id, in order to be able to add a Global Title in the future. Use the generic osmo_cni_peer only in the publicly visible API. For osmo-hlr internal code, I intend to postpone implementing this into the future, when a different peer identification actually gets introduced. This way we don't need to implement it now in all osmo-hlr code paths (save time now), but still make all external API users aware that this type may be extended in the future. Change-Id: Ide9dcdca283ab989240cfc6e53e9211862a199c5 --- M include/Makefile.am A include/osmocom/gsupclient/cni_peer_id.h M include/osmocom/gsupclient/gsup_req.h D include/osmocom/gsupclient/ipa_name.h M include/osmocom/hlr/db.h M include/osmocom/hlr/gsup_server.h M src/Makefile.am M src/db_hlr.c M src/gsup_server.c M src/gsupclient/Makefile.am A src/gsupclient/cni_peer_id.c M src/gsupclient/gsup_req.c D src/gsupclient/ipa_name.c M src/hlr.c M src/hlr_ussd.c M src/lu_fsm.c M tests/db/Makefile.am M tests/db/db_test.c M tests/gsup_server/Makefile.am 19 files changed, 346 insertions(+), 181 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/59/16459/10 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ide9dcdca283ab989240cfc6e53e9211862a199c5 Gerrit-Change-Number: 16459 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels 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 Apr 30 14:49:47 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 30 Apr 2020 14:49:47 +0000 Subject: Change in osmo-hlr[master]: D-GSM 2/n: implement mDNS method of mslookup server In-Reply-To: References: Message-ID: Hello pespin, keith, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/16257 to look at the new patch set (#24). Change subject: D-GSM 2/n: implement mDNS method of mslookup server ...................................................................... D-GSM 2/n: implement mDNS method of mslookup server Implement the mslookup server's mDNS responder, to actually service remote mslookup requests: - VTY mslookup/server config with service names, - the mslookup_mdns_server listening for mslookup requests, For a detailed overview of the D-GSM and mslookup related files, please see the elaborate comment at the top of mslookup.c (already added in an earlier patch). Change-Id: I5cae6459090588b4dd292be90a5e8903432669d2 --- M include/osmocom/hlr/Makefile.am M include/osmocom/hlr/hlr.h M include/osmocom/hlr/hlr_vty.h M include/osmocom/hlr/mslookup_server.h A include/osmocom/hlr/mslookup_server_mdns.h M src/Makefile.am A src/dgsm_vty.c M src/hlr.c A src/mslookup_server_mdns.c M tests/test_nodes.vty M tests/test_subscriber.vty 11 files changed, 605 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/57/16257/24 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I5cae6459090588b4dd292be90a5e8903432669d2 Gerrit-Change-Number: 16257 Gerrit-PatchSet: 24 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: neels Gerrit-Reviewer: osmith 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 Thu Apr 30 14:49:47 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 30 Apr 2020 14:49:47 +0000 Subject: Change in osmo-hlr[master]: D-GSM 3/n: implement roaming by mslookup in osmo-hlr In-Reply-To: References: Message-ID: Hello pespin, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/16258 to look at the new patch set (#25). Change subject: D-GSM 3/n: implement roaming by mslookup in osmo-hlr ...................................................................... D-GSM 3/n: implement roaming by mslookup in osmo-hlr Add mslookup client to find remote home HLRs of unknown IMSIs, and proxy/forward GSUP for those to the right remote HLR instances. Add remote_hlr.c to manage one GSUP client per remote HLR GSUP address. Add proxy.c to keep state about remotely handled IMSIs (remote GSUP address, MSISDN, and probably more in future patches). The mslookup_server that determines whether a given MSISDN is attached locally now also needs to look in the proxy record: it is always the osmo-hlr immediately peering for the MSC that should respond to mslookup service address queries like SIP and SMPP. (Only gsup.hlr service is always answered by the home HLR.) Add dgsm.c to set up an mdns mslookup client, ask for IMSI homes, and to decide which GSUP is handled locally and which needs to go to a remote HLR. Add full VTY config and VTY tests. For a detailed overview of the D-GSM and mslookup related files, please see the elaborate comment at the top of mslookup.c (already added in an earlier patch). Change-Id: I2fe453553c90e6ee527ed13a13089900efd488aa --- M include/osmocom/hlr/Makefile.am A include/osmocom/hlr/dgsm.h M include/osmocom/hlr/gsup_server.h M include/osmocom/hlr/hlr.h M include/osmocom/hlr/hlr_vty.h M include/osmocom/hlr/logging.h M include/osmocom/hlr/mslookup_server.h A include/osmocom/hlr/proxy.h A include/osmocom/hlr/remote_hlr.h M src/Makefile.am A src/dgsm.c M src/dgsm_vty.c M src/gsup_server.c M src/hlr.c M src/hlr_vty.c M src/logging.c M src/mslookup_server.c A src/proxy.c A src/remote_hlr.c M tests/gsup_server/Makefile.am M tests/test_nodes.vty 21 files changed, 2,005 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/58/16258/25 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I2fe453553c90e6ee527ed13a13089900efd488aa Gerrit-Change-Number: 16258 Gerrit-PatchSet: 25 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels 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 Apr 30 14:49:47 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 30 Apr 2020 14:49:47 +0000 Subject: Change in osmo-hlr[master]: gsup_server: send routing error back to the correct peer In-Reply-To: References: Message-ID: Hello pespin, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/16336 to look at the new patch set (#16). Change subject: gsup_server: send routing error back to the correct peer ...................................................................... gsup_server: send routing error back to the correct peer If a peer attempts to add a route to an ipa-name that we already have in the routing system, don't send the routing error to the peer that already has the name, but to the peer that attempts to re-use it and would cause the collision. This is fixing a situation where for example a locally attached MSC has name 'MSC-1', and a remote site is proxying GSUP here for a remote MSC that also has the name 'MSC-1'. Send the routing error back to the proxy, not local 'MSC-1'. Change-Id: Icafaedc11b5925149d338bdcb987ae985a7323d6 --- M src/gsup_server.c 1 file changed, 14 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/36/16336/16 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Icafaedc11b5925149d338bdcb987ae985a7323d6 Gerrit-Change-Number: 16336 Gerrit-PatchSet: 16 Gerrit-Owner: neels 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 Apr 30 14:49:47 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 30 Apr 2020 14:49:47 +0000 Subject: Change in osmo-hlr[master]: db v6: determine 3G AUC IND from VLR name In-Reply-To: References: Message-ID: Hello pespin, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/16764 to look at the new patch set (#12). Change subject: db v6: determine 3G AUC IND from VLR name ...................................................................... db v6: determine 3G AUC IND from VLR name Each VLR requesting auth tuples should use a distinct IND pool for 3G auth. So far we tied the IND to the GSUP peer connection; MSC and SGSN were always distinct GSUP peers, they ended up using distinct INDs. However, we have implemented a GSUP proxy, so that, in a distributed setup, a remotely roaming subscriber has only one direct GSUP peer proxying for both remote MSC and SGSN. That means as soon as a subscriber roams to a different site, we would use the GSUP proxy name to determine the IND instead of the separate MSC and SGSN. The site's MSC and SGSN appear as the same client, get the same IND bucket, waste SQNs rapidly and cause auth tuple generation load. So instead of using the local client as IND, persistently keep a list of VLR names and assign a different IND to each. Use the gsup_req->source_name as indicator, which reflects the actual remote VLR's name (remote MSC or SGSN). Persist the site <-> IND assignments in the database. Add an IND test to db_test.c There was an earlier patch version that separated the IND pools by cn_domain, but it turned out to add complex semantics, while only solving one aspect of the "adjacent VLR" problem. We need a solution not only for CS vs PS, but also for 2,3G vs 4G, and for sites that are physically adjacent to each other. This patch version does not offer any automatic solution for that -- as soon as more than 2^IND_bitlen (usually 32) VLRs show up, it is the responsibility of the admin to ensure the 'ind' table in the hlr.db does not have unfortunate IND assignments. So far no VTY commands exist for that, they may be added in the future. Related: OS#4319 Change-Id: I6f0a6bbef3a27507605c3b4a0e1a89bdfd468374 --- M include/osmocom/hlr/db.h M sql/hlr.sql M src/db.c M src/db_hlr.c M src/hlr.c M tests/db/db_test.c M tests/db/db_test.err M tests/db_upgrade/db_upgrade_test.ok 8 files changed, 292 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/64/16764/12 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6f0a6bbef3a27507605c3b4a0e1a89bdfd468374 Gerrit-Change-Number: 16764 Gerrit-PatchSet: 12 Gerrit-Owner: neels 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 Apr 30 15:03:23 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 30 Apr 2020 15:03:23 +0000 Subject: Change in osmocom-bb[master]: mobile: add audio config, with unused audio loopback setting In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17593 ) Change subject: mobile: add audio config, with unused audio loopback setting ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/doc/examples/mobile/multi_ms.cfg File doc/examples/mobile/multi_ms.cfg: https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/doc/examples/mobile/multi_ms.cfg at 63 PS2, Line 63: io-target none > take a look at vadim's audio patch: that is all about redirecting audio to a file, to a local sound [?] I am fine with 'route', if you guys find it less confusing. https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/src/host/layer23/src/mobile/vty_interface.c File src/host/layer23/src/mobile/vty_interface.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/src/host/layer23/src/mobile/vty_interface.c at 1538 PS2, Line 1538: vty_out(vty, " no io-target%s", VTY_NEWLINE); > pespin: why there's a "no"? simply have io-target none. > neels: the most widespread vty pattern in osmocom to switch something off is Well, io-target (or io-route) is not something that we turn on and off. We always do something with received TCH frames, dropping is an action too ;) So yeah, 'io-target none' may be better. This way we could also avoid this switch and rely on audio_io_target_name(). > pespin: And if it's the default, then don't print it. > osmith: It should probably be printed if !hide_default is set, to match the code above. ACK. This is a nice feature, and we should use it. I would also like to have such an option in other osmo-* projects. > Seems that recent developments favor omitting default behavior, but that isn't always > helping the user to understand. Personally, I slightly favor printing the defaults. Agreeing with Neels here. But here, fortunately, the user can decide whether to print everything or the diff from defaults only. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie03e4a6c6f81ea3925266dd22e87506d722a6e1a Gerrit-Change-Number: 17593 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 30 Apr 2020 15:03:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: neels Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Apr 30 15:11:57 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 30 Apr 2020 15:11:57 +0000 Subject: Change in osmo-pcu[master]: pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data ... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17983 ) Change subject: pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data block ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17983/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/17983/1//COMMIT_MSG at 10 PS1, Line 10: otherwise the generic : UNKNOWN gsmtap message will be sent. > Well a lot of stuff shouldn't be done how it is in osmo-pcu right now, but it does it this way. [?] I am not asking you to do complete refactoring. Just make it not depend on the returned value (in a separate change), so there will be no need to change return code in this patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17983 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I853679ce8907d46fcb84ae4127335c10623f09c9 Gerrit-Change-Number: 17983 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 30 Apr 2020 15:11:57 +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 Thu Apr 30 15:25:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 15:25:53 +0000 Subject: Change in osmo-pcu[master]: pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data ... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17983 ) Change subject: pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data block ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17983/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/17983/1//COMMIT_MSG at 10 PS1, Line 10: otherwise the generic : UNKNOWN gsmtap message will be sent. > I am not asking you to do complete refactoring. [?] That will most probably break other code paths relying on GSMTAP submitting there on error, that's why I'm saying it's not really the task at hand. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17983 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I853679ce8907d46fcb84ae4127335c10623f09c9 Gerrit-Change-Number: 17983 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 30 Apr 2020 15:25:53 +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 Apr 30 17:22:42 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 30 Apr 2020 17:22:42 +0000 Subject: Change in osmo-hlr[master]: 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name In-Reply-To: References: Message-ID: Hello fixeria, pespin, laforge, osmith, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/16205 to look at the new patch set (#31). Change subject: 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name ...................................................................... 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name These are seemingly orthogonal changes in one patch, because they are in fact sufficiently intertwined that we are not willing to spend the time to separate them. They are also refactoring changes, unlikely to make sense on their own. ** lu_fsm: Attempting to make luop.c keep state about incoming GSUP requests made me find shortcomings in several places: - since it predates osmo_fsm, it is a state machine that does not strictly enforce the order of state transitions or the right sequence of incoming events. - several places OSMO_ASSERT() on data received from the network. - modifies the subscriber state before a LU is accepted. - dead code about canceling a subscriber in a previous VLR. That would be a good thing to actually do, which should also be trivial now that we record vlr_name and sgsn_name, but I decided to remove the dead code for now. To both step up the LU game *and* make it easier for me to integrate osmo_gsup_req handling, I decided to create a lu_fsm, drawing from my, by now, ample experience of writing osmo_fsms. ** osmo_gsup_req: Prepare for D-GSM, where osmo-hlr will do proxy routing for remote HLRs / communicate with remote MSCs via a proxy: a) It is important that a response that osmo-hlr generates and that is sent back to a requesting MSC contains all IEs that are needed to route it back to the requester. Particularly source_name must become destination_name in the response to be able to even reach the requesting MSC. Other fields are also necessary to match, which were so far taken care of in individual numerous code paths. b) For some operations, the response to a GSUP request is generated asynchronously (like Update Location Request -> Response, or taking the response from an EUSE, or the upcoming proxying to a remote HLR). To be able to feed a request message's information back into the response, we must thus keep the request data around. Since struct osmo_gsup_message references a lot of external data, usually with pointers directly into the received msgb, it is not so trivial to pass GSUP message data around asynchronously, on its own. osmo_gsup_req is the combined solution for both a and b: it keeps all data for a GSUP message by taking ownership of the incoming msgb, and it provides an explicit API "forcing" callers to respond with osmo_gsup_req_respond(), so that all code paths trivially are definitely responding with the correct IEs set to match the request's routing (by using osmo_gsup_make_response() recently added to libosmocore). Adjust all osmo-hlr code paths to use *only* osmo_gsup_req to respond to incoming requests received on the GSUP server (above LU code being one of them). In fact, the same should be done on the client side. Hence osmo_gsup_req is implemented in a server/client agnostic way, and is placed in libosmo-gsupclient. As soon as we see routing errors in complex GSUP setups, using osmo_gsup_req in the related GSUP client is likely to resolve those problems without much thinking required beyond making all code paths use it. libosmo-gsupclient is hence added to osmo-hlr binary's own library dependencies. It would have been added by the D-GSM proxy routing anyway, we are just doing it a little sooner. ** cni_peer_id.c / osmo_ipa_name: We so far handle an IPA unit name as pointer + size, or as just pointer with implicit talloc size. To ease working with GSUP peer identification data, I require: - a non-allocated storage of an IPA Name. It brings the drawback of being size limited, but our current implementation is anyway only able to handle MSC and SGSN names of 31 characters (see struct hlr_subscriber). - a single-argument handle for IPA Name, - easy to use utility functions like osmo_ipa_name_to_str(), osmo_ipa_name_cmp(), and copying by simple assignment, a = b. Hence this patch adds a osmo_ipa_name in cni_peer_id.h and cni_peer_id.c. Heavily used in LU and osmo_gsup_req. Depends: libosmocore Id9692880079ea0f219f52d81b1923a76fc640566 Change-Id: I3a8dff3d4a1cbe10d6ab08257a0138d6b2a082d9 --- M configure.ac M include/Makefile.am A include/osmocom/gsupclient/gsup_req.h A include/osmocom/gsupclient/ipa_name.h M include/osmocom/hlr/Makefile.am M include/osmocom/hlr/db.h M include/osmocom/hlr/gsup_router.h M include/osmocom/hlr/gsup_server.h M include/osmocom/hlr/hlr.h M include/osmocom/hlr/hlr_ussd.h M include/osmocom/hlr/logging.h A include/osmocom/hlr/lu_fsm.h D include/osmocom/hlr/luop.h M src/Makefile.am M src/db_hlr.c M src/gsup_router.c M src/gsup_send.c M src/gsup_server.c M src/gsupclient/Makefile.am A src/gsupclient/gsup_req.c A src/gsupclient/ipa_name.c M src/hlr.c M src/hlr_ussd.c M src/logging.c A src/lu_fsm.c D src/luop.c M tests/Makefile.am M tests/db/Makefile.am M tests/db/db_test.c M tests/db/db_test.err A tests/gsup/Makefile.am A tests/gsup/gsup_test.c A tests/gsup/gsup_test.err A tests/gsup/gsup_test.ok M tests/gsup_server/Makefile.am M tests/test_nodes.vty M tests/testsuite.at 37 files changed, 1,692 insertions(+), 865 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/05/16205/31 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3a8dff3d4a1cbe10d6ab08257a0138d6b2a082d9 Gerrit-Change-Number: 16205 Gerrit-PatchSet: 31 Gerrit-Owner: neels Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels 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 Apr 30 17:22:42 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 30 Apr 2020 17:22:42 +0000 Subject: Change in osmo-hlr[master]: 2/2: wrap ipa_name in osmo_cni_peer_id with type enum and union In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/16459 to look at the new patch set (#11). Change subject: 2/2: wrap ipa_name in osmo_cni_peer_id with type enum and union ...................................................................... 2/2: wrap ipa_name in osmo_cni_peer_id with type enum and union To be prepared for the future in public API, wrap the new osmo_ipa_name struct in an enum-type and union called osmo_cni_peer. During code review it was requested to insert an ability to handle different kinds of peer id, in order to be able to add a Global Title in the future. Use the generic osmo_cni_peer only in the publicly visible API. For osmo-hlr internal code, I intend to postpone implementing this into the future, when a different peer identification actually gets introduced. This way we don't need to implement it now in all osmo-hlr code paths (save time now), but still make all external API users aware that this type may be extended in the future. Change-Id: Ide9dcdca283ab989240cfc6e53e9211862a199c5 --- M include/Makefile.am A include/osmocom/gsupclient/cni_peer_id.h M include/osmocom/gsupclient/gsup_req.h D include/osmocom/gsupclient/ipa_name.h M include/osmocom/hlr/db.h M include/osmocom/hlr/gsup_server.h M src/Makefile.am M src/db_hlr.c M src/gsup_server.c M src/gsupclient/Makefile.am A src/gsupclient/cni_peer_id.c M src/gsupclient/gsup_req.c D src/gsupclient/ipa_name.c M src/hlr.c M src/hlr_ussd.c M src/lu_fsm.c M tests/db/Makefile.am M tests/db/db_test.c M tests/gsup_server/Makefile.am 19 files changed, 346 insertions(+), 181 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/59/16459/11 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ide9dcdca283ab989240cfc6e53e9211862a199c5 Gerrit-Change-Number: 16459 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels 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 Apr 30 17:22:42 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 30 Apr 2020 17:22:42 +0000 Subject: Change in osmo-hlr[master]: gsup client: add up_down_cb(), add osmo_gsup_client_create3() In-Reply-To: References: Message-ID: Hello fixeria, pespin, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/16206 to look at the new patch set (#31). Change subject: gsup client: add up_down_cb(), add osmo_gsup_client_create3() ...................................................................... gsup client: add up_down_cb(), add osmo_gsup_client_create3() For the GSUP clients in upcoming D-GSM enabled osmo-hlr, it will be necessary to trigger an event as soon as a GSUP client connection becomes ready for communication. Add the osmo_gsup_client->up_down_cb. Add osmo_gsup_client_create3() to pass the up_down_cb in the arguments. Also add a cb data argument to populate the already existing osmo_gsup_client->data item directly from osmo_gsup_client_create3(). We need the callbacks and data pointer in the osmo_gsup_client_create() function right before startup, because this function immediately starts up the connection. Who knows whether callbacks might trigger right away. Because there are so many arguments, and to prevent the need for ever new versions of this function, pass the arguments as an extendable struct. Change-Id: I6f181e42b678465bc9945f192559dc57d2083c6d --- M include/osmocom/gsupclient/gsup_client.h M src/gsupclient/gsup_client.c 2 files changed, 74 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/06/16206/31 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6f181e42b678465bc9945f192559dc57d2083c6d Gerrit-Change-Number: 16206 Gerrit-PatchSet: 31 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria 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 Apr 30 17:31:08 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 30 Apr 2020 17:31:08 +0000 Subject: Change in osmo-hlr[master]: 2/2: wrap ipa_name in osmo_cni_peer_id with type enum and union In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16459 ) Change subject: 2/2: wrap ipa_name in osmo_cni_peer_id with type enum and union ...................................................................... Patch Set 11: To summarize: - keith had no time to look at this, says to go ahead and deal with the merged situation later. - pespin would prefer an opaque data structure for peer id, for ABI compat reasons. - I'm reluctant to add opaque data because that requires dynamic allocation. Concerning future ABI compatibility, I agree that it would be a nice thing but is not a hard requirement. IMHO it isn't worth adding dynamic allocation (and rewriting many patches on this branch) for it. - laforge indicates slight preference of the patch staying as it is now. - I would actually prefer a plain char string (the current real world usage). My gut feel is that this will remain API bloat forever, but it gives the benefit of the doubt to being able to expand the API compatibly in the future. Seems like everyone is pointing in a slightly different direction. But I think we need to come to a conclusion. In the last patch set, I only renamed osmo_gsup_peer_id to osmo_cni_peer_id, added some API doc and tweaked some commit log messages, added a const. So, essentially, these patches are still the same that they have been for months I've probed the patches for desirable changes for a while and seem to hit reasons to not change anything in every direction. So we either find agreement on how to change these patches, or we merge them as they are. I think there is agreement that we don't want to keep this on a branch for much longer, so I'd ask reviewers to converge on a verdict, ideally one that says CR+2... -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ide9dcdca283ab989240cfc6e53e9211862a199c5 Gerrit-Change-Number: 16459 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 30 Apr 2020 17:31: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 Thu Apr 30 18:16:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 18:16:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: cosmetic: RLCMAC_EncDEc.cc: fix typos in comments References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17985 ) Change subject: cosmetic: RLCMAC_EncDEc.cc: fix typos in comments ...................................................................... cosmetic: RLCMAC_EncDEc.cc: fix typos in comments Change-Id: Id91ed01759c3e1e2b52f1e35b1f4198fbc052408 --- M library/RLCMAC_EncDec.cc 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/85/17985/1 diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc index 777815f..f4735e9 100644 --- a/library/RLCMAC_EncDec.cc +++ b/library/RLCMAC_EncDec.cc @@ -279,7 +279,7 @@ } /* bit-shift the entire 'src' of length 'length_bytes' by 'offset_bits' - * and store the reuslt to caller-allocated 'buffer'. The shifting is + * and store the result to caller-allocated 'buffer'. The shifting is * done lsb-first. */ static void clone_aligned_buffer_lsbf(unsigned int offset_bits, unsigned int length_bytes, const uint8_t *src, uint8_t *buffer) @@ -938,7 +938,7 @@ int i; if (!in.blocks().is_bound()) { - /* we don't have nay blocks: Add length value (zero) */ + /* we don't have any blocks: Add length value (zero) */ in.mac__hdr().e() = false; /* E=0: extension octet follows */ } else if (in.blocks().size_of() == 1 && in.blocks()[0].hdr() == OMIT_VALUE) { /* If there's only a single block, and that block has no HDR value defined, */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17985 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: Id91ed01759c3e1e2b52f1e35b1f4198fbc052408 Gerrit-Change-Number: 17985 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 Apr 30 18:16:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 18:16:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDEc.cc: dec_RlcmacUl(Egprs)DataBlock: fix tlli and pfi unin... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17986 ) Change subject: RLCMAC_EncDEc.cc: dec_RlcmacUl(Egprs)DataBlock: fix tlli and pfi uninitialized instead of omit ...................................................................... RLCMAC_EncDEc.cc: dec_RlcmacUl(Egprs)DataBlock: fix tlli and pfi uninitialized instead of omit Change-Id: Id63ae66cd715512f12eb87fd9ff0a9f5af93d5d2 --- M library/RLCMAC_EncDec.cc 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/86/17986/1 diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc index f4735e9..d544e69 100644 --- a/library/RLCMAC_EncDec.cc +++ b/library/RLCMAC_EncDec.cc @@ -606,10 +606,14 @@ if (ret_val.mac__hdr().tlli__ind()) { ret_val.tlli() = OCTETSTRING(4, ttcn_buffer.get_read_data()); ttcn_buffer.increase_pos(4); + } else { + ret_val.tlli() = OMIT_VALUE; } /* parse optional PFI */ if (ret_val.mac__hdr().pfi__ind()) { ret_val.pfi().decode(RlcmacUlDataBlock_pfi_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + } else { + ret_val.pfi() = OMIT_VALUE; } /* RLC blocks at end */ @@ -734,10 +738,14 @@ if (ret_val.tlli__ind()) { ret_val.tlli() = OCTETSTRING(4, aligned_buffer.get_read_data()); aligned_buffer.increase_pos(4); + } else { + ret_val.tlli() = OMIT_VALUE; } /* parse optional PFI */ if (ret_val.mac__hdr().pfi__ind()) { ret_val.pfi().decode(RlcmacUlDataBlock_pfi_descr_, aligned_buffer, TTCN_EncDec::CT_RAW); + } else { + ret_val.pfi() = OMIT_VALUE; } /* RLC blocks at end */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17986 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: Id63ae66cd715512f12eb87fd9ff0a9f5af93d5d2 Gerrit-Change-Number: 17986 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 Apr 30 18:16:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 18:16:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDEc.cc: Fix wrong descriptors passed to RAW encoder References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17987 ) Change subject: RLCMAC_EncDEc.cc: Fix wrong descriptors passed to RAW encoder ...................................................................... RLCMAC_EncDEc.cc: Fix wrong descriptors passed to RAW encoder Change-Id: Ieb061d2914be086791e264a78ae14d3d55e10815 --- M library/RLCMAC_EncDec.cc 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/87/17987/1 diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc index d544e69..952e2e6 100644 --- a/library/RLCMAC_EncDec.cc +++ b/library/RLCMAC_EncDec.cc @@ -743,7 +743,7 @@ } /* parse optional PFI */ if (ret_val.mac__hdr().pfi__ind()) { - ret_val.pfi().decode(RlcmacUlDataBlock_pfi_descr_, aligned_buffer, TTCN_EncDec::CT_RAW); + ret_val.pfi().decode(RlcmacUlEgprsDataBlock_pfi_descr_, aligned_buffer, TTCN_EncDec::CT_RAW); } else { ret_val.pfi() = OMIT_VALUE; } @@ -1130,7 +1130,7 @@ } if (in.mac__hdr().pfi__ind()) { - in.pfi().encode(RlcmacUlDataBlock_pfi_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + in.pfi().encode(RlcmacUlEgprsDataBlock_pfi_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); } if (in.blocks().is_bound()) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17987 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: Ieb061d2914be086791e264a78ae14d3d55e10815 Gerrit-Change-Number: 17987 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 Apr 30 18:16:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 18:16:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDEc.cc: Fix encoding of tfi and rsb fields in Egprs Ul Hdea... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17988 ) Change subject: RLCMAC_EncDEc.cc: Fix encoding of tfi and rsb fields in Egprs Ul HdeaderType3 ...................................................................... RLCMAC_EncDEc.cc: Fix encoding of tfi and rsb fields in Egprs Ul HdeaderType3 Change-Id: Id0f7cb29cf3a30aafdaaed2aca7d34277e3c975d --- M library/RLCMAC_EncDec.cc 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/88/17988/1 diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc index 952e2e6..88138c6 100644 --- a/library/RLCMAC_EncDec.cc +++ b/library/RLCMAC_EncDec.cc @@ -1040,13 +1040,13 @@ egprs3.si = bs2uint8(si.foi__si()); egprs3.cv = si.countdown(); egprs3.tfi_hi = si.tfi() >> 0; - egprs3.tfi_lo = si.tfi() >> 1; + egprs3.tfi_lo = si.tfi() >> 2; egprs3.bsn1_hi = si.bsn1() >> 0; egprs3.bsn1_lo = si.bsn1() >> 5; egprs3.cps_hi = si.cps() >> 0; egprs3.cps_lo = si.cps() >> 2; egprs3.spb = bs2uint8(si.spb()); - egprs3.rsb = bs2uint8(si.spb()); + egprs3.rsb = bs2uint8(si.rsb()); egprs3.pi = si.pfi__ind(); egprs3.spare = 0; egprs3.dummy = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17988 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: Id0f7cb29cf3a30aafdaaed2aca7d34277e3c975d Gerrit-Change-Number: 17988 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 Apr 30 18:16:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 18:16:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDEc.cc: Use copied structure as other parts of the function References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17989 ) Change subject: RLCMAC_EncDEc.cc: Use copied structure as other parts of the function ...................................................................... RLCMAC_EncDEc.cc: Use copied structure as other parts of the function Change-Id: Iffe45b3d220c0f95f1fdb54e1b90f0a0cef88ee3 --- M library/RLCMAC_EncDec.cc 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/89/17989/1 diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc index 88138c6..f5564d8 100644 --- a/library/RLCMAC_EncDec.cc +++ b/library/RLCMAC_EncDec.cc @@ -1078,13 +1078,13 @@ switch (in.mac__hdr().header__type()) { case EgprsHeaderType::RLCMAC__HDR__TYPE__1: - enc__RlcmacUlEgprsDataHeader_type1(si.mac__hdr(), ttcn_buffer); + enc__RlcmacUlEgprsDataHeader_type1(in.mac__hdr(), ttcn_buffer); break; case EgprsHeaderType::RLCMAC__HDR__TYPE__2: - enc__RlcmacUlEgprsDataHeader_type2(si.mac__hdr(), ttcn_buffer); + enc__RlcmacUlEgprsDataHeader_type2(in.mac__hdr(), ttcn_buffer); break; case EgprsHeaderType::RLCMAC__HDR__TYPE__3: - enc__RlcmacUlEgprsDataHeader_type3(si.mac__hdr(), ttcn_buffer); + enc__RlcmacUlEgprsDataHeader_type3(in.mac__hdr(), ttcn_buffer); default: break; /* TODO: error */ } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17989 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: Iffe45b3d220c0f95f1fdb54e1b90f0a0cef88ee3 Gerrit-Change-Number: 17989 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 Apr 30 18:16:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 18:16:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDEc.cc: Support decoding Egprs Ul Data HeaderType2 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17990 ) Change subject: RLCMAC_EncDEc.cc: Support decoding Egprs Ul Data HeaderType2 ...................................................................... RLCMAC_EncDEc.cc: Support decoding Egprs Ul Data HeaderType2 Change-Id: I4dfc994beb7d0ee5522770651150c77701c573fe --- M library/RLCMAC_EncDec.cc 1 file changed, 21 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/90/17990/1 diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc index f5564d8..8f3ff2f 100644 --- a/library/RLCMAC_EncDec.cc +++ b/library/RLCMAC_EncDec.cc @@ -673,10 +673,30 @@ static EgprsUlMacDataHeader dec__EgprsUlMacDataHeader_type3(const OCTETSTRING& stream) { + TTCN_Buffer ttcn_buffer(stream); EgprsUlMacDataHeader ret_val; + const struct gprs_rlc_ul_header_egprs_3 *egprs3; + uint8_t tmp; - fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); + egprs3 = static_cast + ((const void *)ttcn_buffer.get_data()); + ret_val.header__type() = EgprsHeaderType::RLCMAC__HDR__TYPE__3; + ret_val.tfi() = egprs3->tfi_lo << 2 | egprs3->tfi_hi << 0; + ret_val.countdown() = egprs3->cv; + tmp = egprs3->si; + ret_val.foi__si() = BITSTRING(1, &tmp); + tmp = egprs3->r; + ret_val.r__ri() = BITSTRING(1, &tmp); + ret_val.bsn1() = egprs3->bsn1_lo << 5 | egprs3->bsn1_hi << 0; + ret_val.cps() = egprs3->cps_lo << 2 | egprs3->cps_hi << 0; + ret_val.pfi__ind() = egprs3->pi; + tmp = egprs3->rsb; + ret_val.rsb() = BITSTRING(1, &tmp); + tmp = egprs3->spb; + ret_val.spb() = BITSTRING(2, &tmp); + + ttcn_buffer.increase_pos(sizeof(*egprs3)); return ret_val; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17990 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: I4dfc994beb7d0ee5522770651150c77701c573fe Gerrit-Change-Number: 17990 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 Apr 30 18:16:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 18:16:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_Templates: Add functions to convert HeaderType<->MCS<->CPS References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17991 ) Change subject: RLCMAC_Templates: Add functions to convert HeaderType<->MCS<->CPS ...................................................................... RLCMAC_Templates: Add functions to convert HeaderType<->MCS<->CPS They will be used by tests, templates and RLCMAC_EncDec.cc itself. MCS HEader Type 1 and 2 to CPS conversion lefts as a TODO with placeholder functions to easily implement when needed. Change-Id: I18ff55a8067165bf081bf21473b4f88af955bf5b --- M library/RLCMAC_Templates.ttcn 1 file changed, 176 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/91/17991/1 diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index 8fb6b0c..d2174d7 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -29,6 +29,22 @@ return 0; } + function f_rlcmac_mcs2headertype(CodingScheme mcs) return EgprsHeaderType { + select (mcs) { + case (MCS_0) { return RLCMAC_HDR_TYPE_3; } + case (MCS_1) { return RLCMAC_HDR_TYPE_3; } + case (MCS_2) { return RLCMAC_HDR_TYPE_3; } + case (MCS_3) { return RLCMAC_HDR_TYPE_3; } + case (MCS_4) { return RLCMAC_HDR_TYPE_3; } + case (MCS_5) { return RLCMAC_HDR_TYPE_2; } + case (MCS_6) { return RLCMAC_HDR_TYPE_2; } + case (MCS_7) { return RLCMAC_HDR_TYPE_1; } + case (MCS_8) { return RLCMAC_HDR_TYPE_1; } + case (MCS_9) { return RLCMAC_HDR_TYPE_1; } + } + return RLCMAC_HDR_TYPE_3; + } + function f_rlcmac_cs_mcs2block_len(CodingScheme cs_mcs) return uint32_t { select (cs_mcs) { case (CS_1) { return 23; } @@ -72,6 +88,166 @@ return CS_1; } + /* Coding and Puncturing Scheme indicator field for Header type 1 in EGPRS TBF or EC TBF or downlink EGPRS2 TBF */ + function f_rlcmac_cps_htype1_to_mcs(uint3_t cps) return CodingScheme { + var CodingSchemeArray egprs_Header_type1_coding_puncturing_scheme_to_mcs := { + MCS_9 /* 0x00, "(MCS-9/P1 ; MCS-9/P1)" */, + MCS_9 /* 0x01, "(MCS-9/P1 ; MCS-9/P2)" */, + MCS_9 /* 0x02, "(MCS-9/P1 ; MCS-9/P3)" */, + MCS_0 /* 0x03, "reserved" */, + MCS_9 /* 0x04, "(MCS-9/P2 ; MCS-9/P1)" */, + MCS_9 /* 0x05, "(MCS-9/P2 ; MCS-9/P2)" */, + MCS_9 /* 0x06, "(MCS-9/P2 ; MCS-9/P3)" */, + MCS_0 /* 0x07, "reserved" */, + MCS_9 /* 0x08, "(MCS-9/P3 ; MCS-9/P1)" */, + MCS_9 /* 0x09, "(MCS-9/P3 ; MCS-9/P2)" */, + MCS_9 /* 0x0A, "(MCS-9/P3 ; MCS-9/P3)" */, + MCS_8 /* 0x0B, "(MCS-8/P1 ; MCS-8/P1)" */, + MCS_8 /* 0x0C, "(MCS-8/P1 ; MCS-8/P2)" */, + MCS_8 /* 0x0D, "(MCS-8/P1 ; MCS-8/P3)" */, + MCS_8 /* 0x0E, "(MCS-8/P2 ; MCS-8/P1)" */, + MCS_8 /* 0x0F, "(MCS-8/P2 ; MCS-8/P2)" */, + MCS_8 /* 0x10, "(MCS-8/P2 ; MCS-8/P3)" */, + MCS_8 /* 0x11, "(MCS-8/P3 ; MCS-8/P1)" */, + MCS_8 /* 0x12, "(MCS-8/P3 ; MCS-8/P2)" */, + MCS_8 /* 0x13, "(MCS-8/P3 ; MCS-8/P3)" */, + MCS_7 /* 0x14, "(MCS-7/P1 ; MCS-7/P1)" */, + MCS_7 /* 0x15, "(MCS-7/P1 ; MCS-7/P2)" */, + MCS_7 /* 0x16, "(MCS-7/P1 ; MCS-7/P3)" */, + MCS_7 /* 0x17, "(MCS-7/P2 ; MCS-7/P1)" */, + MCS_7 /* 0x18, "(MCS-7/P2 ; MCS-7/P2)" */, + MCS_7 /* 0x19, "(MCS-7/P2 ; MCS-7/P3)" */, + MCS_7 /* 0x1A, "(MCS-7/P3 ; MCS-7/P1)" */, + MCS_7 /* 0x1B, "(MCS-7/P3 ; MCS-7/P2)" */, + MCS_7 /* 0x1C, "(MCS-7/P3 ; MCS-7/P3)" */, + MCS_0 /* 0x1D, "reserved" */, + MCS_0 /* 0x1E, "reserved" */, + MCS_0 /* 0x1F, "reserved" */ + }; + return egprs_Header_type1_coding_puncturing_scheme_to_mcs[cps]; + } + + /* Coding and Puncturing Scheme indicator field for Header type 2 in (EC-)EGPRS TBF or uplink EGPRS2-A TBF */ + function f_rlcmac_cps_htype2_to_mcs(uint3_t cps) return CodingScheme { + var CodingSchemeArray egprs_Header_type2_coding_puncturing_scheme_to_mcs := { + MCS_6 /* {0x00, "MCS-6/P1"} */, + MCS_6 /* {0x01, "MCS-6/P2"} */, + MCS_6 /* {0x02, "MCS-6/P1 with 6 octet padding"} */, + MCS_6 /* {0x03, "MCS-6/P2 with 6 octet padding "} */, + MCS_5 /* {0x04, "MCS-5/P1"} */, + MCS_5 /* {0x05, "MCS-5/P2"} */, + MCS_5 /* {0x06, "MCS-6/P1 with 10 octet padding "} */, + MCS_5 /* {0x07, "MCS-6/P2 with 10 octet padding "} */ + }; + return egprs_Header_type2_coding_puncturing_scheme_to_mcs[cps]; + } + + /* Coding and Puncturing Scheme indicator field for Header type 3 */ + function f_rlcmac_cps_htype3_to_mcs(uint3_t cps) return CodingScheme { + var CodingSchemeArray egprs_Header_type3_coding_puncturing_scheme_to_mcs := { + MCS_4 /* {0x00, "MCS-4/P1"} */, + MCS_4 /* {0x01, "MCS-4/P2"} */, + MCS_4 /* {0x02, "MCS-4/P3"} */, + MCS_3 /* {0x03, "MCS-3/P1"} */, + MCS_3 /* {0x04, "MCS-3/P2"} */, + MCS_3 /* {0x05, "MCS-3/P3"} */, + MCS_3 /* {0x06, "MCS-3/P1 with padding"} */, + MCS_3 /* {0x07, "MCS-3/P2 with padding"} */, + MCS_3 /* {0x08, "MCS-3/P3 with padding"} */, + MCS_2 /* {0x09, "MCS-2/P1"} */, + MCS_2 /* {0x0A, "MCS-2/P2"} */, + MCS_1 /* {0x0B, "MCS-1/P1"} */, + MCS_1 /* {0x0C, "MCS-1/P2"} */, + MCS_2 /* {0x0D, "MCS-2/P1 with padding"} */, + MCS_2 /* {0x0E, "MCS-2/P2 with padding"} */, + MCS_0 /* {0x0F, "MCS-0"} */ + }; + return egprs_Header_type3_coding_puncturing_scheme_to_mcs[cps]; + } + + function f_rlcmac_cps_htype_to_mcs(uint3_t cps, EgprsHeaderType htype) return CodingScheme { + select (htype) { + case (RLCMAC_HDR_TYPE_1) { return f_rlcmac_cps_htype1_to_mcs(cps); } + case (RLCMAC_HDR_TYPE_2) { return f_rlcmac_cps_htype2_to_mcs(cps); } + case (RLCMAC_HDR_TYPE_3) { return f_rlcmac_cps_htype3_to_mcs(cps); } + } + //TODO: return error here. + return CS_1; + } + + function f_rlcmac_mcs_to_cps_htype1(CodingScheme mcs, uint2_t part, boolean with_padding) return uint5_t { + //TODO: implement similar to f_rlcmac_mcs_to_cps_htype3() + //TODO: return error here. + return 0; + } + + function f_rlcmac_mcs_to_cps_htype2(CodingScheme mcs, uint2_t part, boolean with_padding) return uint5_t { + //TODO: implement similar to f_rlcmac_mcs_to_cps_htype3() + //TODO: return error here. + return 0; + } + + function f_rlcmac_mcs_to_cps_htype3(CodingScheme mcs, uint2_t part, boolean with_padding) return uint5_t { + select (mcs) { + case (MCS_4) { + select (part) { + case (1) { return 0; /* {0x00, "MCS-4/P1"} */ } + case (2) { return 1; /* {0x01, "MCS-4/P2"} */ } + case (3) { return 2; /* {0x01, "MCS-4/P2"} */ } + } + } + case (MCS_3) { + if (not with_padding) { + select (part) { + case (1) { return 3; /* {0x03, "MCS-3/P1"} */ } + case (2) { return 4; /* {0x04, "MCS-3/P2"} */ } + case (3) { return 5; /* {0x05, "MCS-3/P3"} */ } + } + } else { + select (part) { + case (1) { return 6; /* {0x06, "MCS-3/P1 with padding"} */ } + case (2) { return 7; /* {0x07, "MCS-3/P2 with padding"} */ } + case (3) { return 8; /* {0x08, "MCS-3/P3 with padding"} */ } + } + } + } + case (MCS_2) { + if (not with_padding) { + select (part) { + case (1) { return 9; /* {0x09, "MCS-2/P1"} */ } + case (2) { return 10; /* {0x0A, "MCS-2/P2"} */ } + } + } else { + select (part) { + case (1) { return 13; /* {0x0D, "MCS-2/P1 with padding"} */ } + case (2) { return 14; /* {0x0E, "MCS-2/P2 with padding"} */} + } + } + } + case (MCS_1) { + select (part) { + case (1) { return 11; /* {0x0B, "MCS-1/P1"} */ } + case (2) { return 12; /* {0x0C, "MCS-1/P2"} */ } + } + } + case (MCS_0) { return 15; /* {0x0F, "MCS-0"} */ } + } + //TODO: return error here. + return 0; + } + + function f_rlcmac_mcs_to_cps(CodingScheme mcs, uint2_t part, boolean with_padding := false) return uint5_t { + + var EgprsHeaderType htype := f_rlcmac_mcs2headertype(mcs); + select (htype) { + case (RLCMAC_HDR_TYPE_1) { return f_rlcmac_mcs_to_cps_htype1(mcs, part, with_padding); } + case (RLCMAC_HDR_TYPE_2) { return f_rlcmac_mcs_to_cps_htype2(mcs, part, with_padding); } + case (RLCMAC_HDR_TYPE_3) { return f_rlcmac_mcs_to_cps_htype3(mcs, part, with_padding); } + } + //TODO: return error here. + return 0; + } + template (value) RlcmacUlBlock ts_RLC_UL_CTRL_ACK(RlcmacUlCtrlMsg ctrl, MacPayloadType pt := MAC_PT_RLCMAC_NO_OPT, boolean retry := false) := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17991 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: I18ff55a8067165bf081bf21473b4f88af955bf5b Gerrit-Change-Number: 17991 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 Apr 30 18:22:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 18:22:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_Templates: Add functions to convert HeaderType<->MCS<->CPS 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/+/17991 to look at the new patch set (#2). Change subject: RLCMAC_Templates: Add functions to convert HeaderType<->MCS<->CPS ...................................................................... RLCMAC_Templates: Add functions to convert HeaderType<->MCS<->CPS They will be used by tests, templates and RLCMAC_EncDec.cc itself. MCS HEader Type 1 and 2 to CPS conversion lefts as a TODO with placeholder functions to easily implement when needed. Change-Id: I18ff55a8067165bf081bf21473b4f88af955bf5b --- M library/RLCMAC_Templates.ttcn M library/RLCMAC_Types.ttcn 2 files changed, 177 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/91/17991/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17991 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: I18ff55a8067165bf081bf21473b4f88af955bf5b Gerrit-Change-Number: 17991 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 Apr 30 19:11:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 19:11:24 +0000 Subject: Change in osmo-pcu[master]: pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data ... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17983 ) Change subject: pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data block ...................................................................... Patch Set 1: Code-Review+2 +1+1=+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17983 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I853679ce8907d46fcb84ae4127335c10623f09c9 Gerrit-Change-Number: 17983 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 30 Apr 2020 19:11: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 Apr 30 19:11:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 19:11:26 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: Don't use GSMTAP_CHANNEL_PACCH when sending unknown gsmtap... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17982 ) Change subject: pcu_l1_if: Don't use GSMTAP_CHANNEL_PACCH when sending unknown gsmtap blocks ...................................................................... pcu_l1_if: Don't use GSMTAP_CHANNEL_PACCH when sending unknown gsmtap blocks It's actually counter-productive when analyzing wireshark traces, since one may not spot a decoding issue and assume PACCH is sent on the wrong TS. Change-Id: I7a96148f1ca1ebfa88a3ff714ea3bb8798866046 --- M src/pcu_l1_if.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 37a0705..30d22bd 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -347,7 +347,7 @@ if (rc < 0 && (bts->gsmtap_categ_mask & (1 <gsmtap, data_ind->arfcn | GSMTAP_ARFCN_F_UPLINK, data_ind->ts_nr, - GSMTAP_CHANNEL_PACCH, 0, data_ind->fn, 0, 0, data_ind->data, data_ind->len); + GSMTAP_CHANNEL_UNKNOWN, 0, data_ind->fn, 0, 0, data_ind->data, data_ind->len); } return rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17982 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7a96148f1ca1ebfa88a3ff714ea3bb8798866046 Gerrit-Change-Number: 17982 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 Apr 30 19:11:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 30 Apr 2020 19:11:26 +0000 Subject: Change in osmo-pcu[master]: pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data ... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17983 ) Change subject: pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data block ...................................................................... pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data block Even if we don't accept it, let's submit GSMTAP with correct channel. We don't return error like in code below, because otherwise the generic UNKNOWN gsmtap message will be sent. Change-Id: I853679ce8907d46fcb84ae4127335c10623f09c9 --- M src/pdch.cpp 1 file changed, 3 insertions(+), 3 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/pdch.cpp b/src/pdch.cpp index f46acc8..77be1b5 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -793,14 +793,14 @@ * control blocks (see 44.060, section 10.3, 1st par.) */ if (mcs_is_edge(cs)) { + bts()->send_gsmtap(PCU_GSMTAP_C_UL_DATA_EGPRS, true, trx_no(), ts_no, GSMTAP_CHANNEL_PDTCH, fn, + data, data_len); if (!bts()->bts_data()->egprs_enabled) { LOGP(DRLCMACUL, LOGL_ERROR, "Got %s RLC block but EGPRS is not enabled\n", mcs_name(cs)); - return -EINVAL; + return 0; } - bts()->send_gsmtap(PCU_GSMTAP_C_UL_DATA_EGPRS, true, trx_no(), ts_no, GSMTAP_CHANNEL_PDTCH, fn, - data, data_len); } else { bts()->send_gsmtap(PCU_GSMTAP_C_UL_DATA_GPRS, true, trx_no(), ts_no, GSMTAP_CHANNEL_PDTCH, fn, data, data_len); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17983 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I853679ce8907d46fcb84ae4127335c10623f09c9 Gerrit-Change-Number: 17983 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: